adcenter-client-r19 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. data/.autotest +23 -0
  2. data/.gemtest +0 -0
  3. data/History.txt +12 -0
  4. data/Manifest.txt +44 -0
  5. data/README.txt +82 -0
  6. data/Rakefile.rb +31 -0
  7. data/TODO +12 -0
  8. data/VERSION +1 -0
  9. data/bin/get_adcenter_account_info.rb +45 -0
  10. data/devel/gen_wsdl_drivers.rb +26 -0
  11. data/devel/wsdl.yml +19 -0
  12. data/lib/AdministrationServiceDriver.rb +59 -0
  13. data/lib/AdministrationServiceMappingRegistry.rb +153 -0
  14. data/lib/CampaignManagementServiceDriver.rb +699 -0
  15. data/lib/CampaignManagementServiceMappingRegistry.rb +5140 -0
  16. data/lib/CustomerBillingServiceDriver.rb +107 -0
  17. data/lib/CustomerBillingServiceMappingRegistry.rb +698 -0
  18. data/lib/CustomerManagementServiceDriver.rb +219 -0
  19. data/lib/CustomerManagementServiceMappingRegistry.rb +1703 -0
  20. data/lib/ReportingServiceDriver.rb +59 -0
  21. data/lib/ReportingServiceMappingRegistry.rb +3410 -0
  22. data/lib/SecureDataManagementServiceDriver.rb +51 -0
  23. data/lib/SecureDataManagementServiceMappingRegistry.rb +380 -0
  24. data/lib/adcenter_client.rb +112 -0
  25. data/lib/adcenter_service.rb +74 -0
  26. data/lib/adcenter_wrapper_entities.rb +8185 -0
  27. data/lib/administration_service.rb +9 -0
  28. data/lib/campaign_management_service.rb +7 -0
  29. data/lib/custom_assertions.rb +5 -0
  30. data/lib/custom_exceptions.rb +1 -0
  31. data/lib/customer_billing_service.rb +7 -0
  32. data/lib/customer_management_service.rb +9 -0
  33. data/lib/defaultDriver.rb +67 -0
  34. data/lib/defaultMappingRegistry.rb +529 -0
  35. data/lib/notification_management.rb +7 -0
  36. data/lib/reporting_service.rb +7 -0
  37. data/lib/secure_data_management_service.rb +7 -0
  38. data/tasks/doctask.rake +9 -0
  39. data/tasks/testtask.rake +13 -0
  40. data/test/adcenter_client_test.rb +14 -0
  41. data/test/administration_service_test.rb +19 -0
  42. data/test/customer_management_service_test.rb +20 -0
  43. data/test/report_service_test.rb +44 -0
  44. data/test/test_credentials.yml-sample +7 -0
  45. data/test/test_helper.rb +9 -0
  46. metadata +143 -0
@@ -0,0 +1,7 @@
1
+ require 'adcenter_service'
2
+ require 'defaultDriver'
3
+ class NotificationManagement < AdCenterService
4
+ def initialize_service(endpoint)
5
+ @service = AdCenterWrapper::NotificationManagementSoap.new(endpoint)
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'adcenter_service'
2
+ require 'ReportingServiceDriver'
3
+ class ReportingService < AdCenterService
4
+ def initialize_service(endpoint)
5
+ @service = AdCenterWrapper::IReportingService.new(endpoint)
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'adcenter_service'
2
+ require 'SecureDataManagementServiceDriver'
3
+ class SecureDataManagementService < AdCenterService
4
+ def initialize_service(endpoint)
5
+ @service = AdCenterWrapper::ISecureDataManagementService.new(endpoint)
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ require 'rake/rdoctask'
2
+
3
+ META_FILES = %w[ README.txt TODO ]
4
+ Rake::RDocTask.new(:doc) do |rd|
5
+ rd.main = "README.txt"
6
+ rd.rdoc_files.include(META_FILES)
7
+ rd.rdoc_files.include("lib/**/*.rb")
8
+ rd.rdoc_dir = "doc"
9
+ end
@@ -0,0 +1,13 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new('units') do |t|
4
+ t.pattern = 'test/*_test.rb'
5
+ t.warning = true
6
+ t.verbose = true
7
+ desc "test this"
8
+ end
9
+
10
+ desc "Run all tests"
11
+ task :test => [ :units ]
12
+
13
+ task :default => [ :test ]
@@ -0,0 +1,14 @@
1
+ $: << File.expand_path(File.join(File.dirname(__FILE__), '..'))
2
+
3
+ require 'test/test_helper'
4
+ require 'adcenter_client'
5
+
6
+ class AdCenterClientTest < Test::Unit::TestCase
7
+ def setup
8
+ @acc = AdCenterClient.new(TEST_CREDENTIALS, nil, true)
9
+ end
10
+
11
+ def test_init
12
+ assert(@acc)
13
+ end
14
+ end
@@ -0,0 +1,19 @@
1
+ $: << File.expand_path(File.dirname(__FILE__))
2
+ require 'test_helper'
3
+ require 'adcenter_client'
4
+
5
+ class AdministrationServiceTest < Test::Unit::TestCase
6
+ def setup
7
+ $DEBUG = true
8
+ assert_sandboxed(TEST_CREDENTIALS)
9
+ @acc = AdCenterClient.new(TEST_CREDENTIALS, nil, false)
10
+ @svc = @acc.administration_service
11
+ end
12
+
13
+ def test_get_assigned_quota
14
+ req = GetAssignedQuotaRequest.new
15
+ res = @acc.administration_service.getAssignedQuota(req)
16
+ assert_equal GetAssignedQuotaResponse, res.class
17
+ assert res.assignedQuota
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ $: << File.expand_path(File.dirname(__FILE__))
2
+ require 'test_helper'
3
+ require 'adcenter_client'
4
+
5
+ class CustomerManagementServiceTest < Test::Unit::TestCase
6
+ def setup
7
+ $DEBUG = true
8
+ assert_sandboxed(TEST_CREDENTIALS)
9
+ @acc = AdCenterClient.new(TEST_CREDENTIALS, nil, false)
10
+ @svc = @acc.customer_management_service
11
+ @entities = @acc.entities
12
+ end
13
+
14
+ def test_get_accounts_info
15
+ req = @entities::GetAccountsInfoRequest.new(TEST_CREDENTIALS['CustomerId'].to_s)
16
+ res = @svc.getAccountsInfo(req)
17
+ assert_equal @entities::GetAccountsInfoResponse, res.class
18
+ assert res.accountsInfo
19
+ end
20
+ end
@@ -0,0 +1,44 @@
1
+ $: << File.expand_path(File.dirname(__FILE__))
2
+ require 'test_helper'
3
+ require 'adcenter_client'
4
+ require 'date'
5
+
6
+ class ReportingServiceTest < Test::Unit::TestCase
7
+ def setup
8
+ # $DEBUG = true
9
+ # assert_sandboxed(TEST_CREDENTIALS)
10
+ @acc = AdCenterClient.new(TEST_CREDENTIALS, nil, false)
11
+ @svc = @acc.reporting_service
12
+ @entities = @acc.entities
13
+ @report_request_id = nil
14
+ end
15
+
16
+ def test_get_keyword_performance_report
17
+ report_date = Date.today - 1
18
+ report_format = "Xml"
19
+ report_language = 'English'
20
+ report_name = sprintf("Keyword Performance Report - %s", report_date.strftime("%Y-%m-%d"))
21
+ report_complete_data_only_flag = false
22
+ report_aggregation = 'Summary'
23
+ report_columns = %w[ AccountName Keyword KeywordId CurrentMaxCpc Impressions Clicks Spend AveragePosition AverageCpm ]
24
+ report_filter = nil
25
+ report_scope = @entities::AccountReportScope.new
26
+ report_time = @entities::ReportTime.new(report_date, report_date)
27
+
28
+ kprr = @entities::KeywordPerformanceReportRequest.new(report_format, report_language,
29
+ report_name, report_complete_data_only_flag, report_aggregation,
30
+ report_columns, report_filter, report_scope, report_time)
31
+ report_request = @entities::SubmitGenerateReportRequest.new(kprr)
32
+ res = @svc.submitGenerateReport(report_request)
33
+ assert_equal @entities::SubmitGenerateReportResponse, res.class
34
+ assert res.reportRequestId
35
+ @@report_request_id = res.reportRequestId
36
+ end
37
+
38
+ def test_poll_generate_report_request()
39
+ res = @svc.pollGenerateReport(@entities::PollGenerateReportRequest.new(@@report_request_id))
40
+ assert_equal @entities::PollGenerateReportResponse, res.class
41
+ assert res.reportRequestStatus.status
42
+ assert res.reportRequestStatus.reportDownloadUrl
43
+ end
44
+ end
@@ -0,0 +1,7 @@
1
+ ---
2
+ ApplicationToken: TESTDATA
3
+ CustomerAccountId: TESTDATA
4
+ CustomerId: TESTDATA
5
+ DeveloperToken: TESTDATA
6
+ UserName: TESTDATA
7
+ Password: TESTDATA
@@ -0,0 +1,9 @@
1
+ $: << File.expand_path(File.dirname(__FILE__))
2
+ $: << File.expand_path(File.dirname(__FILE__) + "/../lib/")
3
+ require 'test/unit'
4
+ require 'yaml'
5
+ require 'adcenter_wrapper_entities'
6
+ require 'custom_assertions'
7
+
8
+ test_credentials_file = File.expand_path(File.dirname(__FILE__) + "/test_credentials.yml")
9
+ TEST_CREDENTIALS = YAML::load_file(test_credentials_file)
metadata ADDED
@@ -0,0 +1,143 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: adcenter-client-r19
3
+ version: !ruby/object:Gem::Version
4
+ version: 8.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Josh PeckJosh Peck
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-07-12 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: soap4r-ruby1.9
16
+ requirement: &70319860894820 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70319860894820
25
+ - !ruby/object:Gem::Dependency
26
+ name: hoe
27
+ requirement: &70319860894060 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 2.8.0
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70319860894060
36
+ - !ruby/object:Gem::Dependency
37
+ name: rubyforge
38
+ requirement: &70319860893480 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 2.0.4
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70319860893480
47
+ - !ruby/object:Gem::Dependency
48
+ name: rdoc
49
+ requirement: &70319860892880 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '3.10'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70319860892880
58
+ description: ! '== DESCRIPTION:
59
+
60
+
61
+ Interface to Microsoft (Yahoo!) adCenter SOAP API'
62
+ email: jmp@joshpeck.orgjmp@joshpeck.org
63
+ executables:
64
+ - get_adcenter_account_info.rb
65
+ extensions: []
66
+ extra_rdoc_files:
67
+ - History.txt
68
+ - Manifest.txt
69
+ - README.txt
70
+ files:
71
+ - .autotest
72
+ - History.txt
73
+ - Manifest.txt
74
+ - README.txt
75
+ - Rakefile.rb
76
+ - TODO
77
+ - VERSION
78
+ - bin/get_adcenter_account_info.rb
79
+ - devel/gen_wsdl_drivers.rb
80
+ - devel/wsdl.yml
81
+ - lib/AdministrationServiceDriver.rb
82
+ - lib/AdministrationServiceMappingRegistry.rb
83
+ - lib/CampaignManagementServiceDriver.rb
84
+ - lib/CampaignManagementServiceMappingRegistry.rb
85
+ - lib/CustomerBillingServiceDriver.rb
86
+ - lib/CustomerBillingServiceMappingRegistry.rb
87
+ - lib/CustomerManagementServiceDriver.rb
88
+ - lib/CustomerManagementServiceMappingRegistry.rb
89
+ - lib/ReportingServiceDriver.rb
90
+ - lib/ReportingServiceMappingRegistry.rb
91
+ - lib/SecureDataManagementServiceDriver.rb
92
+ - lib/SecureDataManagementServiceMappingRegistry.rb
93
+ - lib/adcenter_client.rb
94
+ - lib/adcenter_service.rb
95
+ - lib/adcenter_wrapper_entities.rb
96
+ - lib/administration_service.rb
97
+ - lib/campaign_management_service.rb
98
+ - lib/custom_assertions.rb
99
+ - lib/custom_exceptions.rb
100
+ - lib/customer_billing_service.rb
101
+ - lib/customer_management_service.rb
102
+ - lib/defaultDriver.rb
103
+ - lib/defaultMappingRegistry.rb
104
+ - lib/notification_management.rb
105
+ - lib/reporting_service.rb
106
+ - lib/secure_data_management_service.rb
107
+ - tasks/doctask.rake
108
+ - tasks/testtask.rake
109
+ - test/adcenter_client_test.rb
110
+ - test/administration_service_test.rb
111
+ - test/customer_management_service_test.rb
112
+ - test/report_service_test.rb
113
+ - test/test_credentials.yml-sample
114
+ - test/test_helper.rb
115
+ - .gemtest
116
+ homepage: http://bleechack.github.com/adcenter-client/
117
+ licenses: []
118
+ post_install_message:
119
+ rdoc_options:
120
+ - --main
121
+ - README.txt
122
+ require_paths:
123
+ - lib
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ! '>='
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ required_rubygems_version: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ! '>='
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ requirements: []
137
+ rubyforge_project: adcenter-client
138
+ rubygems_version: 1.8.15
139
+ signing_key:
140
+ specification_version: 3
141
+ summary: SOAP client for MSN adCenter
142
+ test_files:
143
+ - test/test_helper.rb