alexa 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,12 +1,18 @@
1
1
  require "helper"
2
2
 
3
3
  describe Alexa::API::UrlInfo do
4
+ it "raises argument error when url not present" do
5
+ assert_raises Alexa::ArgumentError, /url/ do
6
+ Alexa::API::UrlInfo.new(:access_key_id => "fake", :secret_access_key => "fake").fetch
7
+ end
8
+ end
9
+
4
10
  it "allows to pass single attribute as response_group" do
5
11
  stub_request(:get, %r{http://awis.amazonaws.com}).to_return(:body => "ok")
6
12
  @url_info = Alexa::API::UrlInfo.new(:access_key_id => "fake", :secret_access_key => "fake")
7
13
  @url_info.fetch(:url => "github.com", :response_group => "rank")
8
14
 
9
- assert_equal ["rank"], @url_info.response_group
15
+ assert_equal ["rank"], @url_info.arguments[:response_group]
10
16
  end
11
17
 
12
18
  describe "parsing xml returned by options rank, links_in_count, site_data" do
@@ -33,6 +39,10 @@ describe Alexa::API::UrlInfo do
33
39
 
34
40
  assert_equal expected, @url_info.site_description
35
41
  end
42
+
43
+ it "has request id" do
44
+ assert_equal "2bc0f070-540f-8fbf-6804-cd6c9241a039", @url_info.request_id
45
+ end
36
46
  end
37
47
 
38
48
  describe "with github.com full response group" do
@@ -98,6 +108,10 @@ describe Alexa::API::UrlInfo do
98
108
  it "returns usage statistics" do
99
109
  assert_equal 4, @url_info.usage_statistics.size
100
110
  end
111
+
112
+ it "has success status code" do
113
+ assert_equal "Success", @url_info.status_code
114
+ end
101
115
  end
102
116
 
103
117
  describe "with github.com rank response group" do
@@ -2,7 +2,7 @@ HTTP/1.1 200 OK
2
2
  Server: Apache-Coyote/1.1
3
3
  Content-Type: text/xml
4
4
  Transfer-Encoding: chunked
5
- Date: Wed, 08 Aug 2012 16:30:55 GMT
5
+ Date: Sat, 11 Aug 2012 08:33:59 GMT
6
6
 
7
7
  <?xml version="1.0"?>
8
8
  <aws:TrafficHistoryResponse xmlns:aws="http://alexa.amazonaws.com/doc/2005-07-11/"><aws:Response><aws:ResponseStatus><aws:StatusCode>AlexaError</aws:StatusCode><aws:StatusMessage>Request could not be execute due to an Alexa error</aws:StatusMessage></aws:ResponseStatus></aws:Response></aws:TrafficHistoryResponse>
@@ -0,0 +1,325 @@
1
+ HTTP/1.1 200 OK
2
+ Server: Apache-Coyote/1.1
3
+ Content-Type: text/xml
4
+ Transfer-Encoding: chunked
5
+ Date: Sat, 11 Aug 2012 08:27:42 GMT
6
+
7
+ <?xml version="1.0"?>
8
+ <aws:TrafficHistoryResponse xmlns:aws="http://alexa.amazonaws.com/doc/2005-07-11/"><aws:Response xmlns:aws="http://awis.amazonaws.com/doc/2005-07-11"><aws:OperationRequest><aws:RequestId>617614fc-46a3-a105-a7ab-80a17f117bcf</aws:RequestId></aws:OperationRequest><aws:TrafficHistoryResult><aws:Alexa>
9
+
10
+ <aws:TrafficHistory>
11
+ <aws:Range>28</aws:Range>
12
+ <aws:Site>github.com</aws:Site>
13
+ <aws:Start>2012-07-11</aws:Start>
14
+ <aws:HistoricalData>
15
+ <aws:Data>
16
+ <aws:Date>2012-07-11</aws:Date>
17
+ <aws:PageViews>
18
+ <aws:PerMillion>140</aws:PerMillion>
19
+ <aws:PerUser>4.3</aws:PerUser>
20
+ </aws:PageViews>
21
+ <aws:Rank>304</aws:Rank>
22
+ <aws:Reach>
23
+ <aws:PerMillion>3570</aws:PerMillion>
24
+ </aws:Reach>
25
+ </aws:Data>
26
+ <aws:Data>
27
+ <aws:Date>2012-07-12</aws:Date>
28
+ <aws:PageViews>
29
+ <aws:PerMillion>140</aws:PerMillion>
30
+ <aws:PerUser>4.1</aws:PerUser>
31
+ </aws:PageViews>
32
+ <aws:Rank>297</aws:Rank>
33
+ <aws:Reach>
34
+ <aws:PerMillion>3770</aws:PerMillion>
35
+ </aws:Reach>
36
+ </aws:Data>
37
+ <aws:Data>
38
+ <aws:Date>2012-07-13</aws:Date>
39
+ <aws:PageViews>
40
+ <aws:PerMillion>141</aws:PerMillion>
41
+ <aws:PerUser>4.1</aws:PerUser>
42
+ </aws:PageViews>
43
+ <aws:Rank>291</aws:Rank>
44
+ <aws:Reach>
45
+ <aws:PerMillion>3730</aws:PerMillion>
46
+ </aws:Reach>
47
+ </aws:Data>
48
+ <aws:Data>
49
+ <aws:Date>2012-07-14</aws:Date>
50
+ <aws:PageViews>
51
+ <aws:PerMillion>96</aws:PerMillion>
52
+ <aws:PerUser>3.8</aws:PerUser>
53
+ </aws:PageViews>
54
+ <aws:Rank>450</aws:Rank>
55
+ <aws:Reach>
56
+ <aws:PerMillion>2620</aws:PerMillion>
57
+ </aws:Reach>
58
+ </aws:Data>
59
+ <aws:Data>
60
+ <aws:Date>2012-07-15</aws:Date>
61
+ <aws:PageViews>
62
+ <aws:PerMillion>106</aws:PerMillion>
63
+ <aws:PerUser>3.8</aws:PerUser>
64
+ </aws:PageViews>
65
+ <aws:Rank>408</aws:Rank>
66
+ <aws:Reach>
67
+ <aws:PerMillion>2840</aws:PerMillion>
68
+ </aws:Reach>
69
+ </aws:Data>
70
+ <aws:Data>
71
+ <aws:Date>2012-07-16</aws:Date>
72
+ <aws:PageViews>
73
+ <aws:PerMillion>135</aws:PerMillion>
74
+ <aws:PerUser>4.3</aws:PerUser>
75
+ </aws:PageViews>
76
+ <aws:Rank>323</aws:Rank>
77
+ <aws:Reach>
78
+ <aws:PerMillion>3590</aws:PerMillion>
79
+ </aws:Reach>
80
+ </aws:Data>
81
+ <aws:Data>
82
+ <aws:Date>2012-07-17</aws:Date>
83
+ <aws:PageViews>
84
+ <aws:PerMillion>128</aws:PerMillion>
85
+ <aws:PerUser>4.0</aws:PerUser>
86
+ </aws:PageViews>
87
+ <aws:Rank>326</aws:Rank>
88
+ <aws:Reach>
89
+ <aws:PerMillion>3570</aws:PerMillion>
90
+ </aws:Reach>
91
+ </aws:Data>
92
+ <aws:Data>
93
+ <aws:Date>2012-07-18</aws:Date>
94
+ <aws:PageViews>
95
+ <aws:PerMillion>149</aws:PerMillion>
96
+ <aws:PerUser>4.2</aws:PerUser>
97
+ </aws:PageViews>
98
+ <aws:Rank>280</aws:Rank>
99
+ <aws:Reach>
100
+ <aws:PerMillion>3940</aws:PerMillion>
101
+ </aws:Reach>
102
+ </aws:Data>
103
+ <aws:Data>
104
+ <aws:Date>2012-07-19</aws:Date>
105
+ <aws:PageViews>
106
+ <aws:PerMillion>126</aws:PerMillion>
107
+ <aws:PerUser>3.9</aws:PerUser>
108
+ </aws:PageViews>
109
+ <aws:Rank>327</aws:Rank>
110
+ <aws:Reach>
111
+ <aws:PerMillion>3360</aws:PerMillion>
112
+ </aws:Reach>
113
+ </aws:Data>
114
+ <aws:Data>
115
+ <aws:Date>2012-07-20</aws:Date>
116
+ <aws:PageViews>
117
+ <aws:PerMillion>119</aws:PerMillion>
118
+ <aws:PerUser>4.0</aws:PerUser>
119
+ </aws:PageViews>
120
+ <aws:Rank>365</aws:Rank>
121
+ <aws:Reach>
122
+ <aws:PerMillion>3040</aws:PerMillion>
123
+ </aws:Reach>
124
+ </aws:Data>
125
+ <aws:Data>
126
+ <aws:Date>2012-07-21</aws:Date>
127
+ <aws:PageViews>
128
+ <aws:PerMillion>100</aws:PerMillion>
129
+ <aws:PerUser>3.8</aws:PerUser>
130
+ </aws:PageViews>
131
+ <aws:Rank>430</aws:Rank>
132
+ <aws:Reach>
133
+ <aws:PerMillion>2570</aws:PerMillion>
134
+ </aws:Reach>
135
+ </aws:Data>
136
+ <aws:Data>
137
+ <aws:Date>2012-07-22</aws:Date>
138
+ <aws:PageViews>
139
+ <aws:PerMillion>105</aws:PerMillion>
140
+ <aws:PerUser>4.2</aws:PerUser>
141
+ </aws:PageViews>
142
+ <aws:Rank>453</aws:Rank>
143
+ <aws:Reach>
144
+ <aws:PerMillion>2400</aws:PerMillion>
145
+ </aws:Reach>
146
+ </aws:Data>
147
+ <aws:Data>
148
+ <aws:Date>2012-07-23</aws:Date>
149
+ <aws:PageViews>
150
+ <aws:PerMillion>146</aws:PerMillion>
151
+ <aws:PerUser>4.4</aws:PerUser>
152
+ </aws:PageViews>
153
+ <aws:Rank>306</aws:Rank>
154
+ <aws:Reach>
155
+ <aws:PerMillion>3510</aws:PerMillion>
156
+ </aws:Reach>
157
+ </aws:Data>
158
+ <aws:Data>
159
+ <aws:Date>2012-07-24</aws:Date>
160
+ <aws:PageViews>
161
+ <aws:PerMillion>134</aws:PerMillion>
162
+ <aws:PerUser>4.2</aws:PerUser>
163
+ </aws:PageViews>
164
+ <aws:Rank>330</aws:Rank>
165
+ <aws:Reach>
166
+ <aws:PerMillion>3360</aws:PerMillion>
167
+ </aws:Reach>
168
+ </aws:Data>
169
+ <aws:Data>
170
+ <aws:Date>2012-07-25</aws:Date>
171
+ <aws:PageViews>
172
+ <aws:PerMillion>135</aws:PerMillion>
173
+ <aws:PerUser>4.0</aws:PerUser>
174
+ </aws:PageViews>
175
+ <aws:Rank>318</aws:Rank>
176
+ <aws:Reach>
177
+ <aws:PerMillion>3500</aws:PerMillion>
178
+ </aws:Reach>
179
+ </aws:Data>
180
+ <aws:Data>
181
+ <aws:Date>2012-07-26</aws:Date>
182
+ <aws:PageViews>
183
+ <aws:PerMillion>126</aws:PerMillion>
184
+ <aws:PerUser>4.0</aws:PerUser>
185
+ </aws:PageViews>
186
+ <aws:Rank>336</aws:Rank>
187
+ <aws:Reach>
188
+ <aws:PerMillion>3240</aws:PerMillion>
189
+ </aws:Reach>
190
+ </aws:Data>
191
+ <aws:Data>
192
+ <aws:Date>2012-07-27</aws:Date>
193
+ <aws:PageViews>
194
+ <aws:PerMillion>129</aws:PerMillion>
195
+ <aws:PerUser>4.1</aws:PerUser>
196
+ </aws:PageViews>
197
+ <aws:Rank>344</aws:Rank>
198
+ <aws:Reach>
199
+ <aws:PerMillion>3130</aws:PerMillion>
200
+ </aws:Reach>
201
+ </aws:Data>
202
+ <aws:Data>
203
+ <aws:Date>2012-07-28</aws:Date>
204
+ <aws:PageViews>
205
+ <aws:PerMillion>94</aws:PerMillion>
206
+ <aws:PerUser>3.8</aws:PerUser>
207
+ </aws:PageViews>
208
+ <aws:Rank>477</aws:Rank>
209
+ <aws:Reach>
210
+ <aws:PerMillion>2310</aws:PerMillion>
211
+ </aws:Reach>
212
+ </aws:Data>
213
+ <aws:Data>
214
+ <aws:Date>2012-07-29</aws:Date>
215
+ <aws:PageViews>
216
+ <aws:PerMillion>84</aws:PerMillion>
217
+ <aws:PerUser>3.8</aws:PerUser>
218
+ </aws:PageViews>
219
+ <aws:Rank>539</aws:Rank>
220
+ <aws:Reach>
221
+ <aws:PerMillion>2100</aws:PerMillion>
222
+ </aws:Reach>
223
+ </aws:Data>
224
+ <aws:Data>
225
+ <aws:Date>2012-07-30</aws:Date>
226
+ <aws:PageViews>
227
+ <aws:PerMillion>117</aws:PerMillion>
228
+ <aws:PerUser>3.8</aws:PerUser>
229
+ </aws:PageViews>
230
+ <aws:Rank>360</aws:Rank>
231
+ <aws:Reach>
232
+ <aws:PerMillion>3110</aws:PerMillion>
233
+ </aws:Reach>
234
+ </aws:Data>
235
+ <aws:Data>
236
+ <aws:Date>2012-07-31</aws:Date>
237
+ <aws:PageViews>
238
+ <aws:PerMillion>126</aws:PerMillion>
239
+ <aws:PerUser>3.05</aws:PerUser>
240
+ </aws:PageViews>
241
+ <aws:Rank>277</aws:Rank>
242
+ <aws:Reach>
243
+ <aws:PerMillion>3690</aws:PerMillion>
244
+ </aws:Reach>
245
+ </aws:Data>
246
+ <aws:Data>
247
+ <aws:Date>2012-08-01</aws:Date>
248
+ <aws:PageViews>
249
+ <aws:PerMillion>96</aws:PerMillion>
250
+ <aws:PerUser>2.67</aws:PerUser>
251
+ </aws:PageViews>
252
+ <aws:Rank>336</aws:Rank>
253
+ <aws:Reach>
254
+ <aws:PerMillion>3210</aws:PerMillion>
255
+ </aws:Reach>
256
+ </aws:Data>
257
+ <aws:Data>
258
+ <aws:Date>2012-08-02</aws:Date>
259
+ <aws:PageViews>
260
+ <aws:PerMillion>79</aws:PerMillion>
261
+ <aws:PerUser>2.6</aws:PerUser>
262
+ </aws:PageViews>
263
+ <aws:Rank>425</aws:Rank>
264
+ <aws:Reach>
265
+ <aws:PerMillion>2660</aws:PerMillion>
266
+ </aws:Reach>
267
+ </aws:Data>
268
+ <aws:Data>
269
+ <aws:Date>2012-08-03</aws:Date>
270
+ <aws:PageViews>
271
+ <aws:PerMillion>75</aws:PerMillion>
272
+ <aws:PerUser>2.9</aws:PerUser>
273
+ </aws:PageViews>
274
+ <aws:Rank>479</aws:Rank>
275
+ <aws:Reach>
276
+ <aws:PerMillion>2250</aws:PerMillion>
277
+ </aws:Reach>
278
+ </aws:Data>
279
+ <aws:Data>
280
+ <aws:Date>2012-08-04</aws:Date>
281
+ <aws:PageViews>
282
+ <aws:PerMillion>88</aws:PerMillion>
283
+ <aws:PerUser>3.1</aws:PerUser>
284
+ </aws:PageViews>
285
+ <aws:Rank>431</aws:Rank>
286
+ <aws:Reach>
287
+ <aws:PerMillion>2400</aws:PerMillion>
288
+ </aws:Reach>
289
+ </aws:Data>
290
+ <aws:Data>
291
+ <aws:Date>2012-08-05</aws:Date>
292
+ <aws:PageViews>
293
+ <aws:PerMillion>86</aws:PerMillion>
294
+ <aws:PerUser>3.4</aws:PerUser>
295
+ </aws:PageViews>
296
+ <aws:Rank>478</aws:Rank>
297
+ <aws:Reach>
298
+ <aws:PerMillion>2120</aws:PerMillion>
299
+ </aws:Reach>
300
+ </aws:Data>
301
+ <aws:Data>
302
+ <aws:Date>2012-08-06</aws:Date>
303
+ <aws:PageViews>
304
+ <aws:PerMillion>115</aws:PerMillion>
305
+ <aws:PerUser>3.7</aws:PerUser>
306
+ </aws:PageViews>
307
+ <aws:Rank>347</aws:Rank>
308
+ <aws:Reach>
309
+ <aws:PerMillion>2890</aws:PerMillion>
310
+ </aws:Reach>
311
+ </aws:Data>
312
+ <aws:Data>
313
+ <aws:Date>2012-08-07</aws:Date>
314
+ <aws:PageViews>
315
+ <aws:PerMillion>139</aws:PerMillion>
316
+ <aws:PerUser>4.0</aws:PerUser>
317
+ </aws:PageViews>
318
+ <aws:Rank>292</aws:Rank>
319
+ <aws:Reach>
320
+ <aws:PerMillion>3230</aws:PerMillion>
321
+ </aws:Reach>
322
+ </aws:Data>
323
+ </aws:HistoricalData>
324
+ </aws:TrafficHistory>
325
+ </aws:Alexa></aws:TrafficHistoryResult><aws:ResponseStatus xmlns:aws="http://alexa.amazonaws.com/doc/2005-07-11/"><aws:StatusCode>Success</aws:StatusCode></aws:ResponseStatus></aws:Response></aws:TrafficHistoryResponse>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alexa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-08 00:00:00.000000000 Z
12
+ date: 2012-08-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_xml
@@ -74,6 +74,7 @@ files:
74
74
  - Rakefile
75
75
  - alexa.gemspec
76
76
  - lib/alexa.rb
77
+ - lib/alexa/api/base.rb
77
78
  - lib/alexa/api/category_browse.rb
78
79
  - lib/alexa/api/category_listings.rb
79
80
  - lib/alexa/api/sites_linking_in.rb
@@ -96,8 +97,8 @@ files:
96
97
  - test/fixtures/category_listings/card_games.txt
97
98
  - test/fixtures/forbidden.txt
98
99
  - test/fixtures/sites_linking_in/github_count_3.txt
99
- - test/fixtures/traffic_history/alexa_example.txt
100
- - test/fixtures/traffic_history/github_range_2.txt
100
+ - test/fixtures/traffic_history/alexa_error.txt
101
+ - test/fixtures/traffic_history/github.txt
101
102
  - test/fixtures/unathorized.txt
102
103
  - test/fixtures/url_info/custom-response-group.txt
103
104
  - test/fixtures/url_info/empty_group.txt
@@ -119,7 +120,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
120
  version: '0'
120
121
  segments:
121
122
  - 0
122
- hash: 3321764807879107613
123
+ hash: -175451071600654437
123
124
  required_rubygems_version: !ruby/object:Gem::Requirement
124
125
  none: false
125
126
  requirements:
@@ -128,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
129
  version: '0'
129
130
  segments:
130
131
  - 0
131
- hash: 3321764807879107613
132
+ hash: -175451071600654437
132
133
  requirements: []
133
134
  rubyforge_project:
134
135
  rubygems_version: 1.8.24
@@ -1,37 +0,0 @@
1
- HTTP/1.1 200 OK
2
- Server: Apache-Coyote/1.1
3
- Content-Type: text/xml
4
- Transfer-Encoding: chunked
5
- Date: Wed, 08 Aug 2012 13:42:33 GMT
6
-
7
- <?xml version="1.0"?>
8
- <aws:TrafficHistoryResponse xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/">
9
- <aws:Response xmlns:aws="http://awis.amazonaws.com/doc/2005-07-11">
10
- <aws:OperationRequest><aws:RequestId>39ab4736-ec1a-492d-924b-d0d768d2692d</aws:RequestId>
11
- </aws:OperationRequest>
12
- <aws:TrafficHistoryResult>
13
- <aws:Alexa>
14
- <aws:TrafficHistory>
15
- <aws:Range>31</aws:Range>
16
- <aws:Site>amazon.com</aws:Site>
17
- <aws:Start>2005-01-01</aws:Start>
18
- <aws:HistoricalData>
19
- <aws:Data>
20
- <aws:Date>2005-01-01</aws:Date>
21
- <aws:PageViews>
22
- <aws:PerMillion>2801</aws:PerMillion>
23
- <aws:PerUser>5.0</aws:PerUser>
24
- </aws:PageViews>
25
- <aws:Rank>18</aws:Rank>
26
- <aws:Reach>
27
- <aws:PerMillion>26041</aws:PerMillion>
28
- </aws:Reach>
29
- </aws:Data>
30
- </aws:HistoricalData>
31
- </aws:TrafficHistory>
32
- </aws:Alexa>
33
- </aws:TrafficHistoryResult>
34
- <aws:ResponseStatus xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/">
35
- <aws:StatusCode>Success</aws:StatusCode>
36
- </aws:ResponseStatus></aws:Response>
37
- </aws:TrafficHistoryResponse>