google-adwords-api 0.6.0 → 0.6.1

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