google-adwords-api 0.6.0 → 0.6.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 (123) hide show
  1. data/ChangeLog +4 -0
  2. data/README +2 -2
  3. data/examples/v201109/campaign_management/add_location_extension_override.rb +1 -1
  4. data/examples/v201109_1/campaign_management/add_location_extension_override.rb +1 -1
  5. data/lib/adwords_api.rb +1 -3
  6. data/lib/adwords_api/credential_handler.rb +15 -2
  7. data/lib/adwords_api/report_header_handler.rb +2 -2
  8. data/lib/adwords_api/v201109/ad_extension_override_service.rb +1 -1
  9. data/lib/adwords_api/v201109/ad_extension_override_service_registry.rb +2 -2
  10. data/lib/adwords_api/v201109/ad_group_ad_service.rb +1 -1
  11. data/lib/adwords_api/v201109/ad_group_ad_service_registry.rb +1 -1
  12. data/lib/adwords_api/v201109/ad_group_criterion_service.rb +1 -1
  13. data/lib/adwords_api/v201109/ad_group_criterion_service_registry.rb +1 -1
  14. data/lib/adwords_api/v201109/ad_group_service.rb +1 -1
  15. data/lib/adwords_api/v201109/ad_group_service_registry.rb +1 -1
  16. data/lib/adwords_api/v201109/ad_param_service.rb +1 -1
  17. data/lib/adwords_api/v201109/ad_param_service_registry.rb +1 -1
  18. data/lib/adwords_api/v201109/alert_service.rb +1 -1
  19. data/lib/adwords_api/v201109/alert_service_registry.rb +1 -1
  20. data/lib/adwords_api/v201109/budget_order_service.rb +3 -3
  21. data/lib/adwords_api/v201109/budget_order_service_registry.rb +1 -1
  22. data/lib/adwords_api/v201109/bulk_mutate_job_service.rb +1 -1
  23. data/lib/adwords_api/v201109/bulk_mutate_job_service_registry.rb +2 -2
  24. data/lib/adwords_api/v201109/campaign_ad_extension_service.rb +1 -1
  25. data/lib/adwords_api/v201109/campaign_ad_extension_service_registry.rb +1 -1
  26. data/lib/adwords_api/v201109/campaign_criterion_service.rb +1 -1
  27. data/lib/adwords_api/v201109/campaign_criterion_service_registry.rb +1 -1
  28. data/lib/adwords_api/v201109/campaign_service.rb +1 -1
  29. data/lib/adwords_api/v201109/campaign_service_registry.rb +1 -1
  30. data/lib/adwords_api/v201109/campaign_target_service.rb +1 -1
  31. data/lib/adwords_api/v201109/campaign_target_service_registry.rb +1 -1
  32. data/lib/adwords_api/v201109/constant_data_service.rb +1 -1
  33. data/lib/adwords_api/v201109/constant_data_service_registry.rb +1 -1
  34. data/lib/adwords_api/v201109/conversion_tracker_service.rb +1 -1
  35. data/lib/adwords_api/v201109/conversion_tracker_service_registry.rb +1 -1
  36. data/lib/adwords_api/v201109/create_account_service.rb +1 -1
  37. data/lib/adwords_api/v201109/create_account_service_registry.rb +1 -1
  38. data/lib/adwords_api/v201109/customer_sync_service.rb +1 -1
  39. data/lib/adwords_api/v201109/customer_sync_service_registry.rb +1 -1
  40. data/lib/adwords_api/v201109/data_service.rb +1 -1
  41. data/lib/adwords_api/v201109/data_service_registry.rb +1 -1
  42. data/lib/adwords_api/v201109/experiment_service.rb +1 -1
  43. data/lib/adwords_api/v201109/experiment_service_registry.rb +1 -1
  44. data/lib/adwords_api/v201109/geo_location_service.rb +1 -1
  45. data/lib/adwords_api/v201109/geo_location_service_registry.rb +1 -1
  46. data/lib/adwords_api/v201109/info_service.rb +1 -1
  47. data/lib/adwords_api/v201109/info_service_registry.rb +1 -1
  48. data/lib/adwords_api/v201109/location_criterion_service.rb +1 -1
  49. data/lib/adwords_api/v201109/location_criterion_service_registry.rb +1 -1
  50. data/lib/adwords_api/v201109/media_service.rb +1 -1
  51. data/lib/adwords_api/v201109/media_service_registry.rb +1 -1
  52. data/lib/adwords_api/v201109/mutate_job_service.rb +1 -1
  53. data/lib/adwords_api/v201109/mutate_job_service_registry.rb +2 -2
  54. data/lib/adwords_api/v201109/report_definition_service.rb +1 -1
  55. data/lib/adwords_api/v201109/report_definition_service_registry.rb +1 -1
  56. data/lib/adwords_api/v201109/serviced_account_service.rb +1 -1
  57. data/lib/adwords_api/v201109/serviced_account_service_registry.rb +1 -1
  58. data/lib/adwords_api/v201109/targeting_idea_service.rb +1 -1
  59. data/lib/adwords_api/v201109/targeting_idea_service_registry.rb +1 -1
  60. data/lib/adwords_api/v201109/traffic_estimator_service.rb +1 -1
  61. data/lib/adwords_api/v201109/traffic_estimator_service_registry.rb +1 -1
  62. data/lib/adwords_api/v201109/user_list_service.rb +1 -1
  63. data/lib/adwords_api/v201109/user_list_service_registry.rb +2 -2
  64. data/lib/adwords_api/v201109_1/ad_extension_override_service.rb +1 -1
  65. data/lib/adwords_api/v201109_1/ad_extension_override_service_registry.rb +2 -2
  66. data/lib/adwords_api/v201109_1/ad_group_ad_service.rb +1 -1
  67. data/lib/adwords_api/v201109_1/ad_group_ad_service_registry.rb +1 -1
  68. data/lib/adwords_api/v201109_1/ad_group_criterion_service.rb +1 -1
  69. data/lib/adwords_api/v201109_1/ad_group_criterion_service_registry.rb +1 -1
  70. data/lib/adwords_api/v201109_1/ad_group_service.rb +1 -1
  71. data/lib/adwords_api/v201109_1/ad_group_service_registry.rb +1 -1
  72. data/lib/adwords_api/v201109_1/ad_param_service.rb +1 -1
  73. data/lib/adwords_api/v201109_1/ad_param_service_registry.rb +1 -1
  74. data/lib/adwords_api/v201109_1/alert_service.rb +1 -1
  75. data/lib/adwords_api/v201109_1/alert_service_registry.rb +1 -1
  76. data/lib/adwords_api/v201109_1/budget_order_service.rb +1 -1
  77. data/lib/adwords_api/v201109_1/budget_order_service_registry.rb +1 -1
  78. data/lib/adwords_api/v201109_1/bulk_mutate_job_service.rb +1 -1
  79. data/lib/adwords_api/v201109_1/bulk_mutate_job_service_registry.rb +2 -2
  80. data/lib/adwords_api/v201109_1/campaign_ad_extension_service.rb +1 -1
  81. data/lib/adwords_api/v201109_1/campaign_ad_extension_service_registry.rb +1 -1
  82. data/lib/adwords_api/v201109_1/campaign_criterion_service.rb +1 -1
  83. data/lib/adwords_api/v201109_1/campaign_criterion_service_registry.rb +1 -1
  84. data/lib/adwords_api/v201109_1/campaign_service.rb +1 -1
  85. data/lib/adwords_api/v201109_1/campaign_service_registry.rb +1 -1
  86. data/lib/adwords_api/v201109_1/campaign_target_service.rb +1 -1
  87. data/lib/adwords_api/v201109_1/campaign_target_service_registry.rb +1 -1
  88. data/lib/adwords_api/v201109_1/constant_data_service.rb +1 -1
  89. data/lib/adwords_api/v201109_1/constant_data_service_registry.rb +1 -1
  90. data/lib/adwords_api/v201109_1/conversion_tracker_service.rb +1 -1
  91. data/lib/adwords_api/v201109_1/conversion_tracker_service_registry.rb +1 -1
  92. data/lib/adwords_api/v201109_1/create_account_service.rb +1 -1
  93. data/lib/adwords_api/v201109_1/create_account_service_registry.rb +1 -1
  94. data/lib/adwords_api/v201109_1/customer_sync_service.rb +1 -1
  95. data/lib/adwords_api/v201109_1/customer_sync_service_registry.rb +1 -1
  96. data/lib/adwords_api/v201109_1/data_service.rb +1 -1
  97. data/lib/adwords_api/v201109_1/data_service_registry.rb +1 -1
  98. data/lib/adwords_api/v201109_1/experiment_service.rb +1 -1
  99. data/lib/adwords_api/v201109_1/experiment_service_registry.rb +1 -1
  100. data/lib/adwords_api/v201109_1/geo_location_service.rb +1 -1
  101. data/lib/adwords_api/v201109_1/geo_location_service_registry.rb +1 -1
  102. data/lib/adwords_api/v201109_1/info_service.rb +1 -1
  103. data/lib/adwords_api/v201109_1/info_service_registry.rb +1 -1
  104. data/lib/adwords_api/v201109_1/location_criterion_service.rb +1 -1
  105. data/lib/adwords_api/v201109_1/location_criterion_service_registry.rb +1 -1
  106. data/lib/adwords_api/v201109_1/media_service.rb +1 -1
  107. data/lib/adwords_api/v201109_1/media_service_registry.rb +1 -1
  108. data/lib/adwords_api/v201109_1/mutate_job_service.rb +1 -1
  109. data/lib/adwords_api/v201109_1/mutate_job_service_registry.rb +2 -2
  110. data/lib/adwords_api/v201109_1/report_definition_service.rb +1 -1
  111. data/lib/adwords_api/v201109_1/report_definition_service_registry.rb +1 -1
  112. data/lib/adwords_api/v201109_1/serviced_account_service.rb +1 -1
  113. data/lib/adwords_api/v201109_1/serviced_account_service_registry.rb +1 -1
  114. data/lib/adwords_api/v201109_1/targeting_idea_service.rb +1 -1
  115. data/lib/adwords_api/v201109_1/targeting_idea_service_registry.rb +1 -1
  116. data/lib/adwords_api/v201109_1/traffic_estimator_service.rb +1 -1
  117. data/lib/adwords_api/v201109_1/traffic_estimator_service_registry.rb +1 -1
  118. data/lib/adwords_api/v201109_1/user_list_service.rb +1 -1
  119. data/lib/adwords_api/v201109_1/user_list_service_registry.rb +2 -2
  120. data/lib/adwords_api/version.rb +1 -1
  121. data/test/adwords_api/test_adwords_api.rb +76 -0
  122. data/test/bugs/test_issue_00000063.rb +141 -0
  123. metadata +46 -66
@@ -0,0 +1,141 @@
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 issue #63.
22
+
23
+ require 'nori'
24
+ require 'savon'
25
+ require 'test/unit'
26
+
27
+ require 'ads_common/results_extractor'
28
+ require 'adwords_api'
29
+ require 'adwords_api/v201109_1/mutate_job_service_registry'
30
+
31
+ class TestIssue63 < Test::Unit::TestCase
32
+ def setup
33
+ @registry =
34
+ AdwordsApi::V201109_1::MutateJobService::MutateJobServiceRegistry
35
+ end
36
+
37
+ def run_test(xml_text)
38
+ data = Nori.parse(xml_text)[:envelope][:body]
39
+ extractor = AdsCommon::ResultsExtractor.new(@registry)
40
+ return extractor.extract_result(data, :get_result)
41
+ end
42
+
43
+ def test_issue_63_single_mutate_error
44
+ result = run_test(single_error_xml)
45
+ errors = result[:simple_mutate_result][:errors]
46
+ assert_kind_of(Array, errors)
47
+ assert_equal(1, errors.size)
48
+ end
49
+
50
+ def test_issue_63_multiple_mutate_errors
51
+ result = run_test(multiple_errors_xml)
52
+ errors = result[:simple_mutate_result][:errors]
53
+ assert_kind_of(Array, errors)
54
+ assert_equal(2, errors.size)
55
+ end
56
+
57
+ def single_error_xml
58
+ return <<EOT
59
+ <?xml version="1.0"?>
60
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
61
+ <soap:Header>
62
+ <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201109_1">
63
+ <requestId>123</requestId>
64
+ <serviceName>MutateJobService</serviceName>
65
+ <methodName>getResult</methodName>
66
+ <operations>1</operations>
67
+ <responseTime>180</responseTime>
68
+ <units>1</units>
69
+ </ResponseHeader>
70
+ </soap:Header>
71
+ <soap:Body>
72
+ <getResultResponse xmlns="https://adwords.google.com/api/adwords/cm/v201109_1">
73
+ <rval>
74
+ <SimpleMutateResult>
75
+ <results>
76
+ <PlaceHolder/>
77
+ </results>
78
+ <results>
79
+ <PlaceHolder/>
80
+ </results>
81
+ <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="EntityNotFound">
82
+ <fieldPath>operations[0].operand.adGroupId</fieldPath>
83
+ <trigger>AdGroupId: 0</trigger>
84
+ <errorString>EntityNotFound.INVALID_ID</errorString>
85
+ <ApiError.Type>EntityNotFound</ApiError.Type>
86
+ <reason>INVALID_ID</reason>
87
+ </errors>
88
+ </SimpleMutateResult>
89
+ </rval>
90
+ </getResultResponse>
91
+ </soap:Body>
92
+ </soap:Envelope>
93
+ EOT
94
+ end
95
+
96
+ def multiple_errors_xml
97
+ return <<EOT
98
+ <?xml version="1.0"?>
99
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
100
+ <soap:Header>
101
+ <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201109_1">
102
+ <requestId>123</requestId>
103
+ <serviceName>MutateJobService</serviceName>
104
+ <methodName>getResult</methodName>
105
+ <operations>1</operations>
106
+ <responseTime>180</responseTime>
107
+ <units>1</units>
108
+ </ResponseHeader>
109
+ </soap:Header>
110
+ <soap:Body>
111
+ <getResultResponse xmlns="https://adwords.google.com/api/adwords/cm/v201109_1">
112
+ <rval>
113
+ <SimpleMutateResult>
114
+ <results>
115
+ <PlaceHolder/>
116
+ </results>
117
+ <results>
118
+ <PlaceHolder/>
119
+ </results>
120
+ <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="EntityNotFound">
121
+ <fieldPath>operations[0].operand.adGroupId</fieldPath>
122
+ <trigger>AdGroupId: 0</trigger>
123
+ <errorString>EntityNotFound.INVALID_ID</errorString>
124
+ <ApiError.Type>EntityNotFound</ApiError.Type>
125
+ <reason>INVALID_ID</reason>
126
+ </errors>
127
+ <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="EntityNotFound">
128
+ <fieldPath>operations[1].operand.adGroupId</fieldPath>
129
+ <trigger>AdGroupId: 0</trigger>
130
+ <errorString>EntityNotFound.INVALID_ID</errorString>
131
+ <ApiError.Type>EntityNotFound</ApiError.Type>
132
+ <reason>INVALID_ID</reason>
133
+ </errors>
134
+ </SimpleMutateResult>
135
+ </rval>
136
+ </getResultResponse>
137
+ </soap:Body>
138
+ </soap:Envelope>
139
+ EOT
140
+ end
141
+ end
metadata CHANGED
@@ -1,65 +1,55 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: google-adwords-api
3
- version: !ruby/object:Gem::Version
4
- hash: 7
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 6
9
- - 0
10
- version: 0.6.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.1
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Danial Klimkin
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-05-15 00:00:00 +04:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2012-06-06 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: savon
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
18
+ requirements:
27
19
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 41
30
- segments:
31
- - 0
32
- - 9
33
- - 9
20
+ - !ruby/object:Gem::Version
34
21
  version: 0.9.9
35
22
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: google-ads-common
39
23
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 0.9.9
30
+ - !ruby/object:Gem::Dependency
31
+ name: google-ads-common
32
+ requirement: !ruby/object:Gem::Requirement
41
33
  none: false
42
- requirements:
34
+ requirements:
43
35
  - - ~>
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 0
48
- - 7
49
- - 0
50
- version: 0.7.0
36
+ - !ruby/object:Gem::Version
37
+ version: 0.7.1
51
38
  type: :runtime
52
- version_requirements: *id002
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 0.7.1
53
46
  description: google-adwords-api is a AdWords API client library for Ruby
54
- email:
47
+ email:
55
48
  - api.dklimkin@gmail.com
56
49
  executables: []
57
-
58
50
  extensions: []
59
-
60
51
  extra_rdoc_files: []
61
-
62
- files:
52
+ files:
63
53
  - examples/v201109_1/reporting/download_criteria_report.rb
64
54
  - examples/v201109_1/reporting/get_defined_reports.rb
65
55
  - examples/v201109_1/reporting/get_campaign_stats.rb
@@ -307,9 +297,11 @@ files:
307
297
  - test/examples/v201109/test_basic_operations.rb
308
298
  - test/examples/v201109/test_campaign_management.rb
309
299
  - test/suite_exampletests_v201109.rb
300
+ - test/bugs/test_issue_00000063.rb
310
301
  - test/bugs/test_issue_00000031.rb
311
302
  - test/coverage.rb
312
303
  - test/suite_unittests.rb
304
+ - test/adwords_api/test_adwords_api.rb
313
305
  - test/adwords_api/test_report_utils.rb
314
306
  - test/adwords_api/test_credential_handler.rb
315
307
  - test/adwords_api/test_api_config.rb
@@ -318,41 +310,29 @@ files:
318
310
  - README
319
311
  - ChangeLog
320
312
  - adwords_api.yml
321
- has_rdoc: true
322
313
  homepage: http://code.google.com/p/google-api-ads-ruby/
323
314
  licenses: []
324
-
325
315
  post_install_message:
326
316
  rdoc_options: []
327
-
328
- require_paths:
317
+ require_paths:
329
318
  - lib
330
- required_ruby_version: !ruby/object:Gem::Requirement
319
+ required_ruby_version: !ruby/object:Gem::Requirement
331
320
  none: false
332
- requirements:
333
- - - ">="
334
- - !ruby/object:Gem::Version
335
- hash: 3
336
- segments:
337
- - 0
338
- version: "0"
339
- required_rubygems_version: !ruby/object:Gem::Requirement
321
+ requirements:
322
+ - - ! '>='
323
+ - !ruby/object:Gem::Version
324
+ version: '0'
325
+ required_rubygems_version: !ruby/object:Gem::Requirement
340
326
  none: false
341
- requirements:
342
- - - ">="
343
- - !ruby/object:Gem::Version
344
- hash: 23
345
- segments:
346
- - 1
347
- - 3
348
- - 6
327
+ requirements:
328
+ - - ! '>='
329
+ - !ruby/object:Gem::Version
349
330
  version: 1.3.6
350
331
  requirements: []
351
-
352
332
  rubyforge_project: google-adwords-api
353
- rubygems_version: 1.3.7
333
+ rubygems_version: 1.8.24
354
334
  signing_key:
355
335
  specification_version: 3
356
336
  summary: Ruby Client libraries for AdWords API
357
- test_files:
337
+ test_files:
358
338
  - test/suite_unittests.rb