n8-adcenter-client 0.1.0 → 8.0.0

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 +30 -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 +99 -11
@@ -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 CHANGED
@@ -1,26 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: n8-adcenter-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 8.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
- - Josh Peck
8
+ - Josh PeckJosh Peck
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
  date: 2012-01-18 00:00:00.000000000Z
13
- dependencies: []
14
- description: SOAP client for MSN adCenter
15
- email: jmp@joshpeck.org
16
- executables: []
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: soap4r
16
+ requirement: &70171591902420 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.5.8
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70171591902420
25
+ - !ruby/object:Gem::Dependency
26
+ name: hoe
27
+ requirement: &70171591901900 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '2.12'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70171591901900
36
+ - !ruby/object:Gem::Dependency
37
+ name: rdoc
38
+ requirement: &70171592354580 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: '3.10'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70171592354580
47
+ description: ! '== DESCRIPTION:
48
+
49
+
50
+ Interface to Microsoft (Yahoo!) adCenter SOAP API'
51
+ email: jmp@joshpeck.orgjmp@joshpeck.org
52
+ executables:
53
+ - get_adcenter_account_info.rb
17
54
  extensions: []
18
- extra_rdoc_files: []
19
- files: []
55
+ extra_rdoc_files:
56
+ - History.txt
57
+ - Manifest.txt
58
+ - README.txt
59
+ files:
60
+ - .autotest
61
+ - History.txt
62
+ - Manifest.txt
63
+ - README.txt
64
+ - Rakefile.rb
65
+ - TODO
66
+ - VERSION
67
+ - bin/get_adcenter_account_info.rb
68
+ - devel/gen_wsdl_drivers.rb
69
+ - devel/wsdl.yml
70
+ - lib/AdministrationServiceDriver.rb
71
+ - lib/AdministrationServiceMappingRegistry.rb
72
+ - lib/CampaignManagementServiceDriver.rb
73
+ - lib/CampaignManagementServiceMappingRegistry.rb
74
+ - lib/CustomerBillingServiceDriver.rb
75
+ - lib/CustomerBillingServiceMappingRegistry.rb
76
+ - lib/CustomerManagementServiceDriver.rb
77
+ - lib/CustomerManagementServiceMappingRegistry.rb
78
+ - lib/ReportingServiceDriver.rb
79
+ - lib/ReportingServiceMappingRegistry.rb
80
+ - lib/SecureDataManagementServiceDriver.rb
81
+ - lib/SecureDataManagementServiceMappingRegistry.rb
82
+ - lib/adcenter_client.rb
83
+ - lib/adcenter_service.rb
84
+ - lib/adcenter_wrapper_entities.rb
85
+ - lib/administration_service.rb
86
+ - lib/campaign_management_service.rb
87
+ - lib/custom_assertions.rb
88
+ - lib/custom_exceptions.rb
89
+ - lib/customer_billing_service.rb
90
+ - lib/customer_management_service.rb
91
+ - lib/defaultDriver.rb
92
+ - lib/defaultMappingRegistry.rb
93
+ - lib/notification_management.rb
94
+ - lib/reporting_service.rb
95
+ - lib/secure_data_management_service.rb
96
+ - tasks/doctask.rake
97
+ - tasks/testtask.rake
98
+ - test/adcenter_client_test.rb
99
+ - test/administration_service_test.rb
100
+ - test/customer_management_service_test.rb
101
+ - test/report_service_test.rb
102
+ - test/test_credentials.yml-sample
103
+ - test/test_helper.rb
104
+ - .gemtest
20
105
  homepage: http://bleechack.github.com/adcenter-client/
21
106
  licenses: []
22
107
  post_install_message:
23
- rdoc_options: []
108
+ rdoc_options:
109
+ - --main
110
+ - README.txt
24
111
  require_paths:
25
112
  - lib
26
113
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -36,9 +123,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
36
123
  - !ruby/object:Gem::Version
37
124
  version: '0'
38
125
  requirements: []
39
- rubyforge_project:
126
+ rubyforge_project: n8-adcenter-client
40
127
  rubygems_version: 1.8.10
41
128
  signing_key:
42
129
  specification_version: 3
43
130
  summary: SOAP client for MSN adCenter
44
- test_files: []
131
+ test_files:
132
+ - test/test_helper.rb