google-adwords-api 0.5.2 → 0.5.3

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 (62) hide show
  1. data/ChangeLog +4 -0
  2. data/README +1 -1
  3. data/lib/adwords_api/credential_handler.rb +1 -2
  4. data/lib/adwords_api/report_utils.rb +2 -1
  5. data/lib/adwords_api/v201109/ad_extension_override_service.rb +6 -4
  6. data/lib/adwords_api/v201109/ad_extension_override_service_registry.rb +6 -4
  7. data/lib/adwords_api/v201109/ad_group_ad_service.rb +6 -4
  8. data/lib/adwords_api/v201109/ad_group_ad_service_registry.rb +6 -4
  9. data/lib/adwords_api/v201109/ad_group_criterion_service.rb +6 -4
  10. data/lib/adwords_api/v201109/ad_group_criterion_service_registry.rb +6 -4
  11. data/lib/adwords_api/v201109/ad_group_service.rb +6 -4
  12. data/lib/adwords_api/v201109/ad_group_service_registry.rb +6 -4
  13. data/lib/adwords_api/v201109/ad_param_service.rb +6 -4
  14. data/lib/adwords_api/v201109/ad_param_service_registry.rb +6 -4
  15. data/lib/adwords_api/v201109/alert_service.rb +6 -4
  16. data/lib/adwords_api/v201109/alert_service_registry.rb +6 -4
  17. data/lib/adwords_api/v201109/bulk_mutate_job_service.rb +6 -4
  18. data/lib/adwords_api/v201109/bulk_mutate_job_service_registry.rb +6 -4
  19. data/lib/adwords_api/v201109/campaign_ad_extension_service.rb +6 -4
  20. data/lib/adwords_api/v201109/campaign_ad_extension_service_registry.rb +6 -4
  21. data/lib/adwords_api/v201109/campaign_criterion_service.rb +6 -4
  22. data/lib/adwords_api/v201109/campaign_criterion_service_registry.rb +6 -4
  23. data/lib/adwords_api/v201109/campaign_service.rb +6 -4
  24. data/lib/adwords_api/v201109/campaign_service_registry.rb +6 -4
  25. data/lib/adwords_api/v201109/campaign_target_service.rb +6 -4
  26. data/lib/adwords_api/v201109/campaign_target_service_registry.rb +6 -4
  27. data/lib/adwords_api/v201109/constant_data_service.rb +6 -4
  28. data/lib/adwords_api/v201109/constant_data_service_registry.rb +6 -4
  29. data/lib/adwords_api/v201109/conversion_tracker_service.rb +6 -4
  30. data/lib/adwords_api/v201109/conversion_tracker_service_registry.rb +6 -4
  31. data/lib/adwords_api/v201109/create_account_service.rb +6 -4
  32. data/lib/adwords_api/v201109/create_account_service_registry.rb +6 -4
  33. data/lib/adwords_api/v201109/customer_sync_service.rb +6 -4
  34. data/lib/adwords_api/v201109/customer_sync_service_registry.rb +6 -4
  35. data/lib/adwords_api/v201109/data_service.rb +6 -4
  36. data/lib/adwords_api/v201109/data_service_registry.rb +6 -4
  37. data/lib/adwords_api/v201109/experiment_service.rb +6 -4
  38. data/lib/adwords_api/v201109/experiment_service_registry.rb +6 -4
  39. data/lib/adwords_api/v201109/geo_location_service.rb +6 -4
  40. data/lib/adwords_api/v201109/geo_location_service_registry.rb +6 -4
  41. data/lib/adwords_api/v201109/info_service.rb +6 -4
  42. data/lib/adwords_api/v201109/info_service_registry.rb +6 -4
  43. data/lib/adwords_api/v201109/location_criterion_service.rb +6 -4
  44. data/lib/adwords_api/v201109/location_criterion_service_registry.rb +6 -4
  45. data/lib/adwords_api/v201109/media_service.rb +6 -4
  46. data/lib/adwords_api/v201109/media_service_registry.rb +6 -4
  47. data/lib/adwords_api/v201109/mutate_job_service.rb +6 -4
  48. data/lib/adwords_api/v201109/mutate_job_service_registry.rb +6 -4
  49. data/lib/adwords_api/v201109/report_definition_service.rb +6 -4
  50. data/lib/adwords_api/v201109/report_definition_service_registry.rb +6 -4
  51. data/lib/adwords_api/v201109/serviced_account_service.rb +6 -4
  52. data/lib/adwords_api/v201109/serviced_account_service_registry.rb +6 -4
  53. data/lib/adwords_api/v201109/targeting_idea_service.rb +6 -4
  54. data/lib/adwords_api/v201109/targeting_idea_service_registry.rb +6 -4
  55. data/lib/adwords_api/v201109/traffic_estimator_service.rb +6 -4
  56. data/lib/adwords_api/v201109/traffic_estimator_service_registry.rb +6 -4
  57. data/lib/adwords_api/v201109/user_list_service.rb +6 -4
  58. data/lib/adwords_api/v201109/user_list_service_registry.rb +6 -4
  59. data/lib/adwords_api/version.rb +1 -1
  60. data/test/adwords_api/test_credential_handler.rb +105 -0
  61. data/test/adwords_api/test_report_utils.rb +66 -0
  62. metadata +6 -10
@@ -1,9 +1,11 @@
1
- #!/usr/bin/ruby
1
+ # Encoding: utf-8
2
+ #
2
3
  # This is auto-generated code, changes will be overwritten.
3
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
4
- # License:: Licensed under the Apache License,Version 2.0 (the "License").
5
4
  #
6
- # Code generated by AdsCommon library 0.6.0 on 2011-12-02 16:43:03.
5
+ # Copyright:: Copyright 2012, Google Inc. All Rights Reserved.
6
+ # License:: Licensed under the Apache License, Version 2.0.
7
+ #
8
+ # Code generated by AdsCommon library 0.6.4 on 2012-04-12 13:18:22.
7
9
 
8
10
  require 'adwords_api/errors'
9
11
 
@@ -1,9 +1,11 @@
1
- #!/usr/bin/ruby
1
+ # Encoding: utf-8
2
+ #
2
3
  # This is auto-generated code, changes will be overwritten.
3
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
4
- # License:: Licensed under the Apache License,Version 2.0 (the "License").
5
4
  #
6
- # Code generated by AdsCommon library 0.6.0 on 2011-12-02 16:43:05.
5
+ # Copyright:: Copyright 2012, Google Inc. All Rights Reserved.
6
+ # License:: Licensed under the Apache License, Version 2.0.
7
+ #
8
+ # Code generated by AdsCommon library 0.6.4 on 2012-04-12 13:18:23.
7
9
 
8
10
  require 'ads_common/savon_service'
9
11
  require 'adwords_api/v201109/user_list_service_registry'
@@ -1,9 +1,11 @@
1
- #!/usr/bin/ruby
1
+ # Encoding: utf-8
2
+ #
2
3
  # This is auto-generated code, changes will be overwritten.
3
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
4
- # License:: Licensed under the Apache License,Version 2.0 (the "License").
5
4
  #
6
- # Code generated by AdsCommon library 0.6.0 on 2011-12-02 16:43:05.
5
+ # Copyright:: Copyright 2012, Google Inc. All Rights Reserved.
6
+ # License:: Licensed under the Apache License, Version 2.0.
7
+ #
8
+ # Code generated by AdsCommon library 0.6.4 on 2012-04-12 13:18:23.
7
9
 
8
10
  require 'adwords_api/errors'
9
11
 
@@ -21,6 +21,6 @@
21
21
 
22
22
  module AdwordsApi
23
23
  module ApiConfig
24
- CLIENT_LIB_VERSION = '0.5.2'
24
+ CLIENT_LIB_VERSION = '0.5.3'
25
25
  end
26
26
  end
@@ -0,0 +1,105 @@
1
+ #!/usr/bin/env ruby
2
+ # Encoding: utf-8
3
+ #
4
+ # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
+ #
6
+ # Copyright:: Copyright 2012, Google Inc. All Rights Reserved.
7
+ #
8
+ # License:: Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
17
+ # implied.
18
+ # See the License for the specific language governing permissions and
19
+ # limitations under the License.
20
+ #
21
+ # Tests credential handler.
22
+
23
+ require 'test/unit'
24
+
25
+ require 'adwords_api'
26
+
27
+ # Overriding default access levels to public for tests.
28
+ module AdwordsApi
29
+ class CredentialHandler
30
+ public :validate_headers_for_server
31
+ end
32
+ end
33
+
34
+ class TestCredentialHandler < Test::Unit::TestCase
35
+ def test_validate_headers_for_server_client_email
36
+ config = AdsCommon::Config.new(
37
+ {:authentication => {:client_email => 'email@example.com'}})
38
+ handler = AdwordsApi::CredentialHandler.new(config)
39
+ assert_nothing_raised do
40
+ handler.validate_headers_for_server(:v201101)
41
+ end
42
+ assert_raise(AdwordsApi::Errors::BadCredentialsError) do
43
+ handler.validate_headers_for_server(:v201109)
44
+ end
45
+ end
46
+
47
+ def test_validate_headers_for_server_client_customer_id
48
+ config = AdsCommon::Config.new(
49
+ {:authentication => {:client_customer_id => '123-456-7890'}})
50
+ handler = AdwordsApi::CredentialHandler.new(config)
51
+ assert_nothing_raised do
52
+ handler.validate_headers_for_server(:v201101)
53
+ handler.validate_headers_for_server(:v201109)
54
+ end
55
+ end
56
+
57
+ def test_validate_headers_for_server_valid_cid
58
+ config = AdsCommon::Config.new(
59
+ {:authentication => {:client_customer_id => '123-456-7890'}})
60
+ handler = AdwordsApi::CredentialHandler.new(config)
61
+ assert_nothing_raised do
62
+ handler.validate_headers_for_server(:v201109)
63
+ end
64
+
65
+ config = AdsCommon::Config.new(
66
+ {:authentication => {:client_customer_id => '1234567890'}})
67
+ handler = AdwordsApi::CredentialHandler.new(config)
68
+ assert_nothing_raised do
69
+ handler.validate_headers_for_server(:v201109)
70
+ end
71
+
72
+ config = AdsCommon::Config.new(
73
+ {:authentication => {:client_customer_id => 1234567890}})
74
+ handler = AdwordsApi::CredentialHandler.new(config)
75
+ assert_nothing_raised do
76
+ handler.validate_headers_for_server(:v201109)
77
+ end
78
+ end
79
+
80
+ def test_validate_headers_for_server_invalid_cid
81
+ config = AdsCommon::Config.new(
82
+ {:authentication => {:client_customer_id => 'demo@example.com'}})
83
+ handler = AdwordsApi::CredentialHandler.new(config)
84
+ assert_raise(AdwordsApi::Errors::BadCredentialsError) do
85
+ handler.validate_headers_for_server(:v201109)
86
+ end
87
+
88
+ config = AdsCommon::Config.new({
89
+ :authentication => {
90
+ :client_customer_id => 'demo@example.com 1234567890'
91
+ }
92
+ })
93
+ handler = AdwordsApi::CredentialHandler.new(config)
94
+ assert_raise(AdwordsApi::Errors::BadCredentialsError) do
95
+ handler.validate_headers_for_server(:v201109)
96
+ end
97
+
98
+ config = AdsCommon::Config.new(
99
+ {:authentication => {:client_customer_id => '123-456-7890-'}})
100
+ handler = AdwordsApi::CredentialHandler.new(config)
101
+ assert_raise(AdwordsApi::Errors::BadCredentialsError) do
102
+ handler.validate_headers_for_server(:v201109)
103
+ end
104
+ end
105
+ end
@@ -30,6 +30,7 @@ API_VERSION = :v201109
30
30
  module AdwordsApi
31
31
  class ReportUtils
32
32
  public :check_for_errors
33
+ public :add_report_definition_hash_order
33
34
  end
34
35
  end
35
36
 
@@ -119,4 +120,69 @@ class TestReportUtils < Test::Unit::TestCase
119
120
  @report_utils.check_for_errors(response)
120
121
  end
121
122
  end
123
+
124
+ # Tests generated hash order for root (complete set).
125
+ def test_add_report_definition_hash_order_root1
126
+ node = {
127
+ :include_zero_impressions => false,
128
+ :download_format => 'CSV',
129
+ :report_type => 'CRITERIA_PERFORMANCE_REPORT',
130
+ :selector => {},
131
+ :report_name => 'report_name',
132
+ :date_range_type => 'LAST_7_DAYS'
133
+ }
134
+ expected = [:selector, :report_name, :report_type, :date_range_type,
135
+ :download_format, :include_zero_impressions]
136
+ @report_utils.add_report_definition_hash_order(node)
137
+ assert_not_nil(node[:order!])
138
+ assert_equal(expected, node[:order!])
139
+ end
140
+
141
+ # Tests generated hash order for root (incomplete set).
142
+ def test_add_report_definition_hash_order_root2
143
+ node = {
144
+ :download_format => 'CSV',
145
+ :report_type => 'CRITERIA_PERFORMANCE_REPORT',
146
+ :selector => {},
147
+ :report_name => 'report_name',
148
+ :date_range_type => 'LAST_7_DAYS'
149
+ }
150
+ expected = [:selector, :report_name, :report_type, :date_range_type,
151
+ :download_format]
152
+ @report_utils.add_report_definition_hash_order(node)
153
+ assert_not_nil(node[:order!])
154
+ assert_equal(expected, node[:order!])
155
+ end
156
+
157
+ # Tests generated hash order for whole structure.
158
+ def test_add_report_definition_hash_order_deep
159
+ node = {
160
+ :report_name => 'report_name',
161
+ :report_type => 'CRITERIA_PERFORMANCE_REPORT',
162
+ :selector => {
163
+ :date_range => {:max => '20120405', :min => '20120405'},
164
+ :predicates => {:operator => 'IN', :field => 'S', :values => ['A']},
165
+ :fields => ['CampaignId']
166
+ },
167
+ :include_zero_impressions => false,
168
+ :download_format => 'CSV',
169
+ :date_range_type => 'LAST_7_DAYS'
170
+ }
171
+ expected1 = [:selector, :report_name, :report_type, :date_range_type,
172
+ :download_format, :include_zero_impressions]
173
+ expected2 = [:fields, :predicates, :date_range]
174
+ expected3 = [:min, :max]
175
+ expected4 = [:field, :operator, :values]
176
+
177
+ @report_utils.add_report_definition_hash_order(node)
178
+ assert_not_nil(node[:order!])
179
+ assert_not_nil(node[:selector][:order!])
180
+ assert_not_nil(node[:selector][:date_range][:order!])
181
+ assert_not_nil(node[:selector][:predicates][:order!])
182
+
183
+ assert_equal(expected1, node[:order!])
184
+ assert_equal(expected2, node[:selector][:order!])
185
+ assert_equal(expected3, node[:selector][:date_range][:order!])
186
+ assert_equal(expected4, node[:selector][:predicates][:order!])
187
+ end
122
188
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-adwords-api
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 5
9
- - 2
10
- version: 0.5.2
8
+ - 3
9
+ version: 0.5.3
11
10
  platform: ruby
12
11
  authors:
13
12
  - Danial Klimkin
@@ -15,7 +14,7 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2012-03-20 00:00:00 +04:00
17
+ date: 2012-04-12 00:00:00 +04:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
@@ -26,12 +25,11 @@ dependencies:
26
25
  requirements:
27
26
  - - ~>
28
27
  - !ruby/object:Gem::Version
29
- hash: 53
30
28
  segments:
31
29
  - 0
32
30
  - 9
33
- - 7
34
- version: 0.9.7
31
+ - 9
32
+ version: 0.9.9
35
33
  type: :runtime
36
34
  version_requirements: *id001
37
35
  - !ruby/object:Gem::Dependency
@@ -42,7 +40,6 @@ dependencies:
42
40
  requirements:
43
41
  - - ~>
44
42
  - !ruby/object:Gem::Version
45
- hash: 1
46
43
  segments:
47
44
  - 0
48
45
  - 6
@@ -190,6 +187,7 @@ files:
190
187
  - test/bugs/test_issue_00000031.rb
191
188
  - test/suite_unittests.rb
192
189
  - test/adwords_api/test_report_utils.rb
190
+ - test/adwords_api/test_credential_handler.rb
193
191
  - test/adwords_api/test_api_config.rb
194
192
  - test/adwords_api/test_utils.rb
195
193
  - test/suite_exampletests.rb
@@ -211,7 +209,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
211
209
  requirements:
212
210
  - - ">="
213
211
  - !ruby/object:Gem::Version
214
- hash: 3
215
212
  segments:
216
213
  - 0
217
214
  version: "0"
@@ -220,7 +217,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
220
217
  requirements:
221
218
  - - ">="
222
219
  - !ruby/object:Gem::Version
223
- hash: 23
224
220
  segments:
225
221
  - 1
226
222
  - 3