n8-adcenter-client 0.1.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
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