koala 2.4.0 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/test.yml +32 -0
  3. data/Gemfile +5 -3
  4. data/ISSUE_TEMPLATE +25 -0
  5. data/PULL_REQUEST_TEMPLATE +11 -0
  6. data/changelog.md +161 -4
  7. data/code_of_conduct.md +64 -12
  8. data/koala.gemspec +5 -1
  9. data/lib/koala/api/batch_operation.rb +3 -6
  10. data/lib/koala/api/{graph_api.rb → graph_api_methods.rb} +29 -104
  11. data/lib/koala/api/graph_batch_api.rb +112 -65
  12. data/lib/koala/api/graph_collection.rb +19 -12
  13. data/lib/koala/api/graph_error_checker.rb +4 -3
  14. data/lib/koala/api.rb +65 -26
  15. data/lib/koala/configuration.rb +56 -0
  16. data/lib/koala/errors.rb +22 -2
  17. data/lib/koala/http_service/request.rb +133 -0
  18. data/lib/koala/http_service/response.rb +6 -4
  19. data/lib/koala/http_service/uploadable_io.rb +0 -5
  20. data/lib/koala/http_service.rb +29 -76
  21. data/lib/koala/oauth.rb +8 -8
  22. data/lib/koala/realtime_updates.rb +26 -21
  23. data/lib/koala/test_users.rb +9 -8
  24. data/lib/koala/version.rb +1 -1
  25. data/lib/koala.rb +7 -9
  26. data/readme.md +83 -109
  27. data/spec/cases/api_spec.rb +176 -69
  28. data/spec/cases/configuration_spec.rb +11 -0
  29. data/spec/cases/error_spec.rb +16 -3
  30. data/spec/cases/graph_api_batch_spec.rb +75 -44
  31. data/spec/cases/graph_api_spec.rb +15 -29
  32. data/spec/cases/graph_collection_spec.rb +47 -34
  33. data/spec/cases/graph_error_checker_spec.rb +31 -2
  34. data/spec/cases/http_service/request_spec.rb +250 -0
  35. data/spec/cases/http_service/response_spec.rb +24 -0
  36. data/spec/cases/http_service_spec.rb +126 -286
  37. data/spec/cases/koala_spec.rb +7 -5
  38. data/spec/cases/oauth_spec.rb +41 -2
  39. data/spec/cases/realtime_updates_spec.rb +51 -13
  40. data/spec/cases/test_users_spec.rb +56 -2
  41. data/spec/cases/uploadable_io_spec.rb +31 -31
  42. data/spec/fixtures/cat.m4v +0 -0
  43. data/spec/fixtures/facebook_data.yml +4 -6
  44. data/spec/fixtures/mock_facebook_responses.yml +41 -78
  45. data/spec/fixtures/vcr_cassettes/app_test_accounts.yml +97 -0
  46. data/spec/integration/graph_collection_spec.rb +8 -5
  47. data/spec/spec_helper.rb +2 -2
  48. data/spec/support/graph_api_shared_examples.rb +152 -337
  49. data/spec/support/koala_test.rb +11 -13
  50. data/spec/support/mock_http_service.rb +11 -14
  51. data/spec/support/uploadable_io_shared_examples.rb +4 -4
  52. metadata +47 -48
  53. data/.autotest +0 -12
  54. data/.travis.yml +0 -17
  55. data/Guardfile +0 -6
  56. data/autotest/discover.rb +0 -1
  57. data/lib/koala/api/rest_api.rb +0 -135
  58. data/lib/koala/http_service/multipart_request.rb +0 -41
  59. data/spec/cases/multipart_request_spec.rb +0 -65
  60. data/spec/support/rest_api_shared_examples.rb +0 -168
@@ -10,22 +10,6 @@
10
10
  # with_token:
11
11
  # no_token:
12
12
 
13
- # ====== REST API =====
14
- rest_api:
15
-
16
- # -- Stubbed Responses --
17
- /method/admin.setAppProperties:
18
- 'properties={"desktop":0}':
19
- post:
20
- with_token: 'true'
21
- /method/fql.query: # for testing the beta tier
22
- query=select first_name from user where uid = 2901279:
23
- get:
24
- no_token: '[{"first_name":"Luke"}]'
25
- with_token: '[{"first_name":"Luke"}]'
26
-
27
-
28
-
29
13
  # ====== GRAPH API =====
30
14
  graph_api:
31
15
 
@@ -40,7 +24,7 @@ graph_api:
40
24
  # Common mock item responses
41
25
  item_deleted: &item_deleted
42
26
  delete:
43
- with_token: 'true'
27
+ with_token: '{"success":true}'
44
28
 
45
29
  # OAuth error response
46
30
  oauth_error: &oauth_error
@@ -68,64 +52,61 @@ graph_api:
68
52
 
69
53
  # -- Stubbed Responses --
70
54
  root:
71
- ids=facebook,koppel:
55
+ ids=facebook,barackobama:
72
56
  get:
73
- with_token: '{"facebook":"{}","koppel":"{}"}'
74
- no_token: '{"facebook":"{}","koppel":"{}"}'
57
+ with_token: '{"facebook":"{}","barackobama":"{}"}'
58
+ no_token: '{"facebook":"{}","barackobama":"{}"}'
75
59
 
76
60
  # Ruby 1.8.7 and 1.9.2 generate JSON with different key ordering, hence we have to dynamically generate it here
77
- batch=<%= MultiJson.dump([{"method" => "get", "relative_url" => "me"},{"method" => "get", "relative_url" => "koppel"}]) %>:
61
+ batch=<%= JSON.dump([{"method" => "get", "relative_url" => "me"},{"method" => "get", "relative_url" => "barackobama"}]) %>:
78
62
  post:
79
63
  with_token: '[{"code": 200, "body":"{\"id\":\"123\"}"}, {"code": 200, "body":"{\"id\":\"456\"}"}]'
80
- batch=<%= MultiJson.dump([{"method" => "get", "relative_url" => "me/picture"}]) %>:
64
+ batch=<%= JSON.dump([{"method" => "get", "relative_url" => "me/picture"}]) %>:
81
65
  post:
82
- with_token: '[{"code": 302, "headers":[{"name":"Location","value":"http://google.com"}]}]'
83
- batch=<%= MultiJson.dump([{"method" => "get", "relative_url" => "me/picture?redirect=false"}]) %>:
66
+ with_token: '[{"code": 302, "headers":[{"name":"Location","value":"https://google.com"}]}]'
67
+ batch=<%= JSON.dump([{"method" => "get", "relative_url" => "me/picture?redirect=false"}]) %>:
84
68
  post:
85
- with_token: '[{"code": 200, "body":"{\"data\":{\"is_silhouette\":false,\"url\":\"http:\/\/google.com\"}}"}]'
86
- batch=<%= MultiJson.dump([{"method" => "get", "relative_url" => "me"},{"method" => "get", "relative_url" => "me/friends"}]) %>:
69
+ with_token: '[{"code": 200, "body":"{\"data\":{\"is_silhouette\":false,\"url\":\"https:\/\/google.com\"}}"}]'
70
+ batch=<%= JSON.dump([{"method" => "get", "relative_url" => "me"},{"method" => "get", "relative_url" => "me/friends"}]) %>:
87
71
  post:
88
- with_token: '[{"code": 200, "body":"{\"id\":\"koppel\"}"}, {"code": 200, "body":"{\"data\":[{\"id\":\"lukeshepard\"}],\"paging\":{}}"}]'
89
- batch=<%= MultiJson.dump([{"method"=>"get", "relative_url"=>"me"}, {"method"=>"get", "relative_url"=>"#{OAUTH_DATA["app_id"]}/insights?access_token=#{CGI.escape APP_ACCESS_TOKEN}"}]) %>:
72
+ with_token: '[{"code": 200, "body":"{\"id\":\"barackobama\"}"}, {"code": 200, "body":"{\"data\":[{\"id\":\"koppel\"}],\"paging\":{}}"}]'
73
+ batch=<%= JSON.dump([{"method"=>"get", "relative_url"=>"me"}, {"method"=>"get", "relative_url"=>"#{OAUTH_DATA["app_id"]}/app_event_types?access_token=#{CGI.escape APP_ACCESS_TOKEN}"}]) %>:
90
74
  post:
91
75
  with_token: '[{"code": 200, "body":"{\"id\":\"123\"}"}, {"code": 200, "body":"{\"data\":[],\"paging\":{}}"}]'
92
- batch=<%= MultiJson.dump([{"method"=>"get", "relative_url"=>"2/invalidconnection"}, {"method"=>"get", "relative_url"=>"koppel?access_token=#{CGI.escape APP_ACCESS_TOKEN}"}]) %>:
76
+ batch=<%= JSON.dump([{"method"=>"get", "relative_url"=>"2/invalidconnection"}, {"method"=>"get", "relative_url"=>"barackobama?access_token=#{CGI.escape APP_ACCESS_TOKEN}"}]) %>:
93
77
  post:
94
78
  with_token: '[{"code": 400, "body": "{\"error\":{\"type\":\"AnError\", \"message\":\"An error occurred!.\"}}"},{"code": 200, "body":"{\"id\":\"123\"}"}]'
95
- batch=<%= MultiJson.dump([{"method"=>"post", "relative_url"=>"FEED_ITEM_BATCH/likes"}, {"method"=>"delete", "relative_url"=> "FEED_ITEM_BATCH"}]) %>:
96
- post:
97
- with_token: '[{"code": 200, "body": "{\"id\": \"MOCK_LIKE\"}"},{"code": 200, "body":true}]'
98
- batch=<%= MultiJson.dump([{"method" => "post", "relative_url" => "method/fql.query", "body" => "query=select+first_name+from+user+where+uid%3D2905623"}]) %>:
79
+ batch=<%= JSON.dump([{"method"=>"post", "relative_url"=>"FEED_ITEM_BATCH/likes"}, {"method"=>"delete", "relative_url"=> "FEED_ITEM_BATCH"}]) %>:
99
80
  post:
100
- with_token: '[{"code": 200, "body":"[{\"first_name\":\"Alex\"}]"}]'
81
+ with_token: '[{"code": 200, "body": "{\"id\": \"MOCK_LIKE\"}"},{"code": 200, "body":"{\"success\":true}"}]'
101
82
 
102
83
  # dependencies
103
- batch=<%= MultiJson.dump([{"method"=>"get", "relative_url"=>"me", "name" => "getme"}, {"method"=>"get", "relative_url"=>"koppel", "depends_on" => "getme"}]) %>:
84
+ batch=<%= JSON.dump([{"method"=>"get", "relative_url"=>"me", "name" => "getme"}, {"method"=>"get", "relative_url"=>"barackobama", "depends_on" => "getme"}]) %>:
104
85
  post:
105
86
  with_token: '[null,{"code": 200, "body":"{\"id\":\"123\"}"}]'
106
- batch=<%= MultiJson.dump([{"method"=>"get", "relative_url"=>"2/invalidconnection", "name" => "getdata"}, {"method"=>"get", "relative_url"=>"koppel", "depends_on" => "getdata"}]) %>:
87
+ batch=<%= JSON.dump([{"method"=>"get", "relative_url"=>"2/invalidconnection", "name" => "getdata"}, {"method"=>"get", "relative_url"=>"barackobama", "depends_on" => "getdata"}]) %>:
107
88
  post:
108
89
  with_token: '[{"code": 400, "body": "{\"error\":{\"type\":\"AnError\", \"message\":\"An error occurred!.\"}}"},null]'
109
- batch=<%= MultiJson.dump([{"method" => "get", "relative_url" => "me/friends?limit=5", "name" => "get-friends"}, {"method" => "get", "relative_url" => "?ids=#{CGI.escape "{result=get-friends:$.data.*.id}"}"}]) %>:
90
+ batch=<%= JSON.dump([{"method" => "get", "relative_url" => "me/friends?limit=5", "name" => "get-friends"}, {"method" => "get", "relative_url" => "?ids=#{CGI.escape "{result=get-friends:$.data.*.id}"}"}]) %>:
110
91
  post:
111
92
  with_token: '[null,{"code": 200, "body":"{}"}]'
112
- batch=<%= MultiJson.dump([{"method" => "get", "relative_url" => "me/friends?limit=5", "name" => "get-friends", "omit_response_on_success" => false}, {"method" => "get", "relative_url" => "?ids=#{CGI.escape "{result=get-friends:$.data.*.id}"}"}]) %>:
93
+ batch=<%= JSON.dump([{"method" => "get", "relative_url" => "me/friends?limit=5", "name" => "get-friends", "omit_response_on_success" => false}, {"method" => "get", "relative_url" => "?ids=#{CGI.escape "{result=get-friends:$.data.*.id}"}"}]) %>:
113
94
  post:
114
95
  with_token: '[{"code": 200, "body":"{\"data\":[],\"paging\":{}}"},{"code": 200, "body":"{}"}]'
115
- batch=<%= MultiJson.dump([{"method" => "get", "relative_url" => "me/friends?limit=5"}, {"method" => "get", "relative_url" => "?ids=#{CGI.escape "{result=i-dont-exist:$.data.*.id}"}"}]) %>:
96
+ batch=<%= JSON.dump([{"method" => "get", "relative_url" => "me/friends?limit=5"}, {"method" => "get", "relative_url" => "?ids=#{CGI.escape "{result=i-dont-exist:$.data.*.id}"}"}]) %>:
116
97
  post:
117
98
  with_token:
118
99
  code: 400
119
100
  body: '{"error_code":190,"error_description":"Error validating access token."}'
120
101
 
121
102
  # attached files tests
122
- batch=<%= MultiJson.dump([{"method"=>"post", "relative_url"=>"me/photos", "attached_files" => "op1_file0"}]) %>&op1_file0=[FILE]:
103
+ batch=<%= JSON.dump([{"method"=>"post", "relative_url"=>"me/photos", "attached_files" => "op1_file0"}]) %>&op1_file0=[FILE]:
123
104
  post:
124
105
  with_token: '[{"code": 400, body": "{\"error\":{\"type\":\"AnError\", \"message\":\"An error occurred!.\"}}"},null]'
125
- batch=<%= MultiJson.dump([{"method"=>"post", "relative_url"=>"me/photos", "attached_files" => "op1_file0"}]) %>&op1_file0=[FILE]:
106
+ batch=<%= JSON.dump([{"method"=>"post", "relative_url"=>"me/photos", "attached_files" => "op1_file0"}]) %>&op1_file0=[FILE]:
126
107
  post:
127
108
  with_token: '[{"code": 200, "body":"{\"id\": \"MOCK_PHOTO\"}"}]'
128
- batch=<%= MultiJson.dump([{"method"=>"post", "relative_url"=>"me/photos", "attached_files" => "op1_file0"}, {"method"=>"post", "relative_url"=>"koppel/photos", "attached_files" => "op2_file0"}]) %>&op1_file0=[FILE]&op2_file0=[FILE]:
109
+ batch=<%= JSON.dump([{"method"=>"post", "relative_url"=>"me/photos", "attached_files" => "op1_file0"}, {"method"=>"post", "relative_url"=>"barackobama/photos", "attached_files" => "op2_file0"}]) %>&op1_file0=[FILE]&op2_file0=[FILE]:
129
110
  post:
130
111
  with_token: '[{"code": 200, "body":"{\"id\": \"MOCK_PHOTO\"}"}, {"code": 200, "body":"{\"id\": \"MOCK_PHOTO\"}"}]'
131
112
 
@@ -163,10 +144,10 @@ graph_api:
163
144
  message=Hello, world, from the test suite batch API!:
164
145
  post:
165
146
  with_token: '{"id": "FEED_ITEM_BATCH"}'
166
- link=http://oauth.twoalex.com/&message=Hello, world, from the test suite again!&name=OAuth Playground:
147
+ link=http://testdomain.koalatest.test/&message=Hello, world, from the test suite again!&name=OAuth Playground:
167
148
  post:
168
149
  with_token: '{"id": "FEED_ITEM_CONTEXT"}'
169
- link=http://oauth.twoalex.com/&message=body&name=It's a big question&picture=http://oauth.twoalex.com//images/logo.png&properties=<%= MultiJson.encode({"Link1"=>{"text"=>"Left", "href"=>"http://oauth.twoalex.com/"}, "other" => {"text"=>"Straight ahead", "href"=>"http://oauth.twoalex.com/?"}}) %>&type=link:
150
+ link=http://testdomain.koalatest.test/&message=body&name=It's a big question&picture=http://testdomain.koalatest.test//images/logo.png&properties=<%= JSON.dump({"Link1"=>{"text"=>"Left", "href"=>"http://testdomain.koalatest.test/"}, "other" => {"text"=>"Straight ahead", "href"=>"http://testdomain.koalatest.test/?"}}) %>&type=link:
170
151
  post:
171
152
  with_token: '{"id": "FEED_ITEM_DICTIONARY"}'
172
153
 
@@ -211,11 +192,14 @@ graph_api:
211
192
  <<: *token_required
212
193
  with_token: '{"id": "MOCK_PHOTO_FROM_URL"}'
213
194
 
214
- /koppel:
195
+ /barackobama:
215
196
  no_args:
216
197
  get:
217
198
  with_token: '{"id": 1, "name": 1, "updated_time": 1}'
218
199
  no_token: '{"id": 1, "name": 1}'
200
+ metadata=1:
201
+ get:
202
+ with_token: '{"name": "Barack Obama","metadata": {"fields": [{"name": "id"}],"type": "user","connections": {}},"id": "44"}'
219
203
 
220
204
  /facebook:
221
205
  no_args:
@@ -223,19 +207,19 @@ graph_api:
223
207
  with_token: '{"id": 1, "name": 1}'
224
208
  no_token: '{"id": 1, "name": 1}'
225
209
 
226
- /facebook/photos:
210
+ /facebook/events:
227
211
  no_args:
228
212
  get:
229
- with_token: '{"data": [{}], "paging": {"previous": "https:\/\/graph.facebook.com\/7204941866\/photos?limit=25&until=2008-09-15T18%3A30%3A25%2B0000", "next": "https:\/\/graph.facebook.com\/7204941866\/photos?limit=25&until=2008-09-15T18%3A30%3A25%2B0000"}}'
230
- no_token: '{"data": [{}], "paging": {"previous": "https:\/\/graph.facebook.com\/7204941866\/photos?limit=25&until=2008-09-15T18%3A30%3A25%2B0000", "next": "https:\/\/graph.facebook.com\/7204941866\/photos?limit=25&until=2008-09-15T18%3A30%3A25%2B0000"}}'
213
+ with_token: '{"data": [{}], "paging": {"previous": "https:\/\/graph.facebook.com\/7204941866\/events?limit=25&until=2008-09-15T18%3A30%3A25%2B0000", "next": "https:\/\/graph.facebook.com\/7204941866\/events?limit=25&until=2008-09-15T18%3A30%3A25%2B0000"}}'
214
+ no_token: '{"data": [{}], "paging": {"previous": "https:\/\/graph.facebook.com\/7204941866\/events?limit=25&until=2008-09-15T18%3A30%3A25%2B0000", "next": "https:\/\/graph.facebook.com\/7204941866\/events?limit=25&until=2008-09-15T18%3A30%3A25%2B0000"}}'
231
215
 
232
- /lukeshepard/friends:
216
+ /koppel/likes:
233
217
  no_args:
234
218
  get:
235
219
  <<: *token_required
236
220
  with_token: '{"data": [{}], "paging": {}}'
237
221
 
238
- /lukeshepard/picture:
222
+ /koppel/picture:
239
223
  no_args:
240
224
  get:
241
225
  no_token:
@@ -284,33 +268,12 @@ graph_api:
284
268
  body: '{"error": {"type": "Exception","message": "No node specified"}}'
285
269
 
286
270
  /search:
287
- q=facebook:
271
+ q=facebook&type=page:
288
272
  get:
289
273
  with_token: '{"data": [{"id": "507731521_100412693339488"}], "paging": {"previous": "https:\/\/graph.facebook.com\/7204941866\/photos?limit=25&until=2008-09-15T18%3A30%3A25%2B0000", "next": "https:\/\/graph.facebook.com\/7204941866\/photos?limit=25&until=2008-09-15T18%3A30%3A25%2B0000"}}'
290
- no_token: '{"data": [{"id": "507731521_100412693339488"}], "paging": {"previous": "https:\/\/graph.facebook.com\/7204941866\/photos?limit=25&until=2008-09-15T18%3A30%3A25%2B0000", "next": "https:\/\/graph.facebook.com\/7204941866\/photos?limit=25&until=2008-09-15T18%3A30%3A25%2B0000"}}'
291
- "limit=25&q=facebook&until=<%= TEST_DATA['search_time'] %>":
274
+ "limit=25&q=facebook&type=page&until=<%= TEST_DATA['search_time'] %>":
292
275
  get:
293
276
  with_token: '{"data": [{"id": "507731521_100412693339488"}], "paging": {"previous": "https:\/\/graph.facebook.com\/7204941866\/photos?limit=25&until=2008-09-15T18%3A30%3A25%2B0000", "next": "https:\/\/graph.facebook.com\/7204941866\/photos?limit=25&until=2008-09-15T18%3A30%3A25%2B0000"}}'
294
- no_token: '{"data": [{"id": "507731521_100412693339488"}], "paging": {"previous": "https:\/\/graph.facebook.com\/7204941866\/photos?limit=25&until=2008-09-15T18%3A30%3A25%2B0000", "next": "https:\/\/graph.facebook.com\/7204941866\/photos?limit=25&until=2008-09-15T18%3A30%3A25%2B0000"}}'
295
-
296
- /fql:
297
- q=select uid, first_name from user where uid = 2901279:
298
- get:
299
- no_token: '[{"uid":2901279,"first_name":"Luke"}]'
300
- with_token: '[{"uid":2901279,"first_name":"Luke"}]'
301
- q=select read_stream from permissions where uid = 2901279:
302
- get:
303
- <<: *token_required
304
- with_token: '[{"read_stream":1}]'
305
- 'q=<%= MultiJson.dump({"query1" => "select post_id from stream where source_id = me()", "query2" => "select fromid from comment where post_id in (select post_id from #query1)", "query3" => "select uid, name from user where uid in (select fromid from #query2)"}) %>':
306
- get:
307
- <<: *token_required
308
- with_token: '[{"name":"query1", "fql_result_set":[]},{"name":"query2", "fql_result_set":[]},{"name":"query3", "fql_result_set":[]}]'
309
- 'q=<%= MultiJson.dump({"query1" => "select uid, first_name from user where uid = 2901279", "query2" => "select uid, first_name from user where uid = 2905623"}) %>':
310
- get:
311
- with_token: '[{"name":"query1", "fql_result_set":[{"uid":2901279,"first_name":"Luke"}]},{"name":"query2", "fql_result_set":[{"uid":"2905623","first_name":"Alex"}]}]'
312
- no_token: '[{"name":"query1", "fql_result_set":[{"uid":2901279,"first_name":"Luke"}]},{"name":"query2", "fql_result_set":[{"uid":"2905623","first_name":"Alex"}]}]'
313
-
314
277
 
315
278
  '/115349521819193_113815981982767':
316
279
  no_args:
@@ -325,7 +288,7 @@ graph_api:
325
288
 
326
289
 
327
290
  '/<%= APP_ID %>':
328
- restrictions=<%= MultiJson.dump({"age_distr" => "13+"}) %>:
291
+ restrictions=<%= JSON.dump({"age_distr" => "13+"}) %>:
329
292
  post:
330
293
  with_token: "true"
331
294
 
@@ -404,12 +367,12 @@ graph_api:
404
367
  with_token:
405
368
  code: 200
406
369
  get:
407
- with_token: '{"data":[{"callback_url":"http://oauth.twoalex.com/subscriptions", "fields":["name"], "object":"user", "active":true}]}'
370
+ with_token: '{"data":[{"callback_url":"https://testdomain.koalatest.test/subscriptions", "fields":["name"], "object":"user", "active":true}]}'
408
371
 
409
372
 
410
373
  callback_url=<%= SUBSCRIPTION_DATA["subscription_path"] %>:
411
374
  get:
412
- with_token: '{"data":[{"callback_url":"http://oauth.twoalex.com/subscriptions", "fields":["name"], "object":"user", "active":true}]}'
375
+ with_token: '{"data":[{"callback_url":"https://testdomain.koalatest.test/subscriptions", "fields":["name"], "object":"user", "active":true}]}'
413
376
 
414
377
  # -- Mock Item Responses --
415
378
 
@@ -431,13 +394,13 @@ graph_api:
431
394
  no_args:
432
395
  <<: *item_deleted
433
396
  get:
434
- with_token: '{"link":"http://oauth.twoalex.com/", "name": "OAuth Playground"}'
397
+ with_token: '{"link":"http://testdomain.koalatest.test/", "name": "OAuth Playground"}'
435
398
 
436
399
  /FEED_ITEM_DICTIONARY:
437
400
  no_args:
438
401
  <<: *item_deleted
439
402
  get:
440
- with_token: '{"link":"http://oauth.twoalex.com/", "name": "OAuth Playground", "properties": {}}'
403
+ with_token: '{"link":"http://testdomain.koalatest.test/", "name": "OAuth Playground", "properties": {}}'
441
404
 
442
405
  /FEED_ITEM_CATS:
443
406
  no_args:
@@ -0,0 +1,97 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://graph.facebook.com/v2.8/119908831367602/accounts?access_token=********************
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.1
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Access-Control-Allow-Origin:
18
+ - "*"
19
+ Etag:
20
+ - '"eb18193fa5a61a0264d71c9e4f4168e943ca436a"'
21
+ Pragma:
22
+ - no-cache
23
+ Cache-Control:
24
+ - private, no-cache, no-store, must-revalidate
25
+ Facebook-Api-Version:
26
+ - v2.8
27
+ Expires:
28
+ - Sat, 01 Jan 2000 00:00:00 GMT
29
+ Content-Type:
30
+ - application/json; charset=UTF-8
31
+ X-Fb-Trace-Id:
32
+ - HtQflzsMQaU
33
+ X-Fb-Rev:
34
+ - '2842759'
35
+ Vary:
36
+ - Accept-Encoding
37
+ X-Fb-Debug:
38
+ - FY3EL2d5Fp6ASXztjr4tzWFb2SjyvwosNN7GwprLYy+aZhu/+7hkS/uUjBlKREJyNCHY8AwBghZs9bo5W41Svw==
39
+ Date:
40
+ - Sat, 18 Feb 2017 16:22:30 GMT
41
+ Transfer-Encoding:
42
+ - chunked
43
+ Connection:
44
+ - keep-alive
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"data":[{"id":"131686830683789","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/131686830683789\/","access_token":"EAABtDnNMkbIBAGjJ4s9beYAsY1Tzc2uMF0aUlZAi1s1O19ZCGh4mpvWQNTcfjA2OkjYoD7pjZCKZAxPGjg0isXqegKZBltzztwYOZAml4Y7J007ufSFjpTV0Eb6ZAziyD7LTK88FJZA2rGsnTe76pYJkkwg0w8VHZCDXSMpX12L6ZAWFYwYXi8zSVE73Nwh2AULZAgZD"},{"id":"114995779022706","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/114995779022706\/","access_token":"EAABtDnNMkbIBAHk5PgPdB63JMI0XvJDJJvRnLEmBXzFi4qMYyrcy9c20CoZBVwVMXhI3wSqqY2f3lA8rqvfZA3uF5jC2IgdiqzAhlksDScMJm2hKeD900815V4M2Bv581d6mrizfKySKKYXVO7OmQSOUMYjzCTcz0jIGY0QuvMdXZCCqsYlM8gQG8jrf8oZD"},{"id":"108214206368977","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/108214206368977\/","access_token":"EAABtDnNMkbIBACak3hxf98Nw657TlDW3gDbmb7bKYJnGMa1UUheSdadQKkHcNvSasObinxEd9g17wcMqmlJ62a4ssOCz0ZBqTTIvARnSZBAunZAa27r9ZBJFQeXtCV2e1G3qNr3c1BRP54XdRLsfj9G0dZAD4wcGMyk184uE5aUYxhweVZBTf1wYeZB8ZCTbAogZD"},{"id":"131778770674391","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/131778770674391\/","access_token":"EAABtDnNMkbIBAD9nLMYPqNidDiGwy1ngv388NkupZAnZAAgjHkgeNTTPNQt3MXd0w166r0WPFMSRNG7kNRf8gfsZCZCwUxGbSsrQsDeqInmfFWWGiEbIGPmWKIW9FWPToNSgIQdartLxnFEqZA4aAu21NGbvh9R9x6WmY8Fn4bDdlTKqlQQmkPVlREbRG0sYZD"},{"id":"133747960477364","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/133747960477364\/","access_token":"EAABtDnNMkbIBAIvwOmNyT1m9kWKS9UOQNo9LuYXPziW7vqFfZAqW8wrkPtpGZAQ35QHZBRDDbrsVQ7lZCFZAko13MaYgkGm9kVXhdDk1i64jUVC0dK3jajsa6AsRKvzXnr5i0I3f63o1hEEFltXvkIof9kc6ymZAxpBfvlPZBA4bOy9DX3Wy3jWEh6NkkZCtCRoZD"},{"id":"104151963442966","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/104151963442966\/","access_token":"EAABtDnNMkbIBADvEXZC93DlZBZBMA1L0NdZBV9DMtemD2GSL2MvZCO3dpLMwotOFC4YXhMIfdZAHSyIbYeyLWmpua2trkCkdqLxeipZBJ4eavsQZBrQXOzZAl1tSZBfm2mrUfZBZCVgO2ZBBSy9qB39hLronZCtEykPeSG2ILpxGMVSeXRIlfDyhPpvodbuqKCac9lLiYZD"},{"id":"100424303817312","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/100424303817312\/","access_token":"EAABtDnNMkbIBAEQx0BD5zATwZBoux1YZCSLWwL0Py40qCSsBA4ITD3cu3KzKsQZC3V7E6u0TZBxZBAZCnF3WpKt2CcLxYpYS29Eu2xlzKmPgHuxWmgxgtVtKfOfakEbitz6kZCIeg9zvMwU0zW4KZCejnOlBVRpP4pZCXg7s9mUO3roMDc0Qbg7NrUHyKYTUFRO8ZD"},{"id":"131906273995120","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/131906273995120\/","access_token":"EAABtDnNMkbIBADbZC2CLp54uRPO3ZC36txPEeFCa6cFdZBKpEnx8WHRAQa44PNgJGcsWgJtB8YBa2OqcjLqEvhPMZBuuwU4ltNvs5TEdmqhAZBxvA2wQUasq5n9tn8jvhUtyXSYCSg6GpBTEjitnsyCiKPUJTwdrf8yCtoAraPI67CGrHD1VkD0LGeGW2OmkZD"},{"id":"109566936233385","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/109566936233385\/","access_token":"EAABtDnNMkbIBAKVpbyZAYTrPoH2H4tzrn0y1RYNywzQRUZAz3sK76ZBEDzwOlbfj88ZA3WdCs2a4bbXb17TOdY5IYtJzSdevq24P6J1AIJTxdxEFgV71hIiOCVpPlnRDZCgHJgX690d81dzxIqqTXyNAFMa16cZCKIUgKuqsu8ZC6ZCArZC0ueZBFbyJ68EBbXoVQZD"},{"id":"122862174901367","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/122862174901367\/","access_token":"EAABtDnNMkbIBAAnZByPQnVgwRrDCNcbY3HX6nLyjkjZBuKgcZCbMt0vDvAdOL0JMeHYXD2ftlZCpO1pOg2mtCDRPv3OjUMCmv2TxTS3KwaLnDWMC2ud0FGkfh4ZCOjZCvHqwSlwsUWsUcRi3lleLBoyZBUXizVZCHCSdtEvfyEdh3bK3pHZBUzXZB08OfANP6q76cZD"},{"id":"127147561138873","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/127147561138873\/","access_token":"EAABtDnNMkbIBAJfcR5yPNgsTeiIXYtDYfYgZA6hayjp3mnxxQM0E8cZCn3Bjfq9Ywsozvo8dr0dFZCAzyOP4ZAi1jnUQbVnKQv4DaXLOaZAarAs1B2IxUztUV0QZCKuBOpz8PmHyc45AYoDvdQeWDz1xCbeEab3vXijDdZAhUM8OMi6IrGNYDUUoLEvuZBX17MIZD"},{"id":"126836924502797","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/126836924502797\/","access_token":"EAABtDnNMkbIBAMBMZAavwZBNW5kzkYZCzQEeIzW2udjQQvTqKmYYiFqoaOK8l6ckGx7l49ZArGI0YF31PQ1oCSh4oFxO3syL90ZCbhpgfjleYMYhIGxne3DhZCfkZCBaLiZB1lKVWZA1mam9MnTUewKOMItVJPCcUZA3sUGWnDZCaFvbwZBcHeoPvW9HmcZAXGAe3oZBsZD"},{"id":"112078279315072","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/112078279315072\/","access_token":"EAABtDnNMkbIBAKf9pfJ8ke5KV42kfCZCALLK7mPSOyvpJkCIiVyZA0at9xYus3CZBDKSw2NZBuOOiaf6cn1ipzzbPrI39LPKh9ZAOpC0Lj5PKXuYvl4OBR4GB6N32L0D4TMCZAEH2iYZBX14LpXs7ZCwsl2PWIMayOuYOff6YSu02Wt9PfZBB7JoXZAcN2SMsHnooZD"},{"id":"108723689651308","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/108723689651308\/","access_token":"EAABtDnNMkbIBADZBAeZBaOvlz64XN4WAF2m1g1g6ZCyqjdwbmIQrASEpNNqy7H0NOpUzDUquHNJi97mIjv6IdidZBUZAU2lWwSSAHmlLLB0q84QXZAZAz6xJp4xsUMMUvsNa3APcN7QhKPF4zhKmuzuu2SdYfVdVjA7I1nTQEb8CpIyP2Htu5VnZAOAdobmCTYMZD"},{"id":"114488749073472","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/114488749073472\/","access_token":"EAABtDnNMkbIBAFhIIDjbIiVuN4Q6sOHpy0fvBs0QCRykWL0gdj1OSidjvZBzMH25QUoU1HZBFXVRJZA4qTBdnjCond4ypEZAINd7jAVBt03G01tHKIhpcVSRXWk5wn3HOHpgA8GzpV8NvUZC2ymLoWrk5RZC2ZCC5UvITGP1T8EB6kFY1oLo7jVQL0criBhZClIZD"},{"id":"118718808649710","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/118718808649710\/","access_token":"EAABtDnNMkbIBAG3dfELECNObuOxFqtZAZCZCC577mkaOcpuNK6aEVpYtv9ati95qHFIECJTX9nvJ8hSSuqzB6ON7C3Yl1uMFAVdN6oiMHsUkp3zIvzIDVuAJIEoxjXIGnENURHNZBf8ZBQ4SEYIvZBXomrWlmXWUaDf1p3DvIINvEFvt8yIH4YbS7mgUynVCgZD"},{"id":"131954293990150","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/131954293990150\/","access_token":"EAABtDnNMkbIBAAavOhdJTonQYyunLEh9LmEwGOizNUlZClpz8v7evZBm7gLeEm8sWjhVRVUYhZCwbgNHGyfQg6jnn3flULM8udv9jKTxtMHyxJUBJ2ZCXuDQu3epd4IypF0TbZCYzszZCQfSZAlbfNUZC2DuBOfSIbbWhDJ06NwJxky0o68MmACma5fofKtm5yUZD"},{"id":"132106613975105","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/132106613975105\/","access_token":"EAABtDnNMkbIBADqUSUnefbp6rUmS8Ls5nQ7VAZA3VklBU2QqhDKDbtEDb4ce4GfBjPElFzeSxyq6HKxbvUmZCFvhs0ZAcKaWpWBZBNPIRa16j8A8RYZBtJ6pXTonZBo7hep7hd4oNLdhu5IX7AwR9znAbip3xirqxl3U4qQd6ZBbKk1FJkBputywWthI44ttQUZD"},{"id":"100827877110010","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/100827877110010\/","access_token":"EAABtDnNMkbIBADcgZBRa2KP7pkyvt0D29agCKSCxMQ4KUrQZBuD9QukLrpwR1Pt7G4eZCTwYQ7tq1qxoaKHTMrwIZB5tqcjbKpn9Ndee4QcYc5qG9SqYamtZBqbSW2jl3jpo4uhM6QxuTdsq0nx6IS3V3waTUbPiN4pcZC7A2zvdTrFfgX6zsMtScTSxDYJHAZD"},{"id":"127572984429742","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/127572984429742\/","access_token":"EAABtDnNMkbIBAFTOQgzYZCpHsApz6vYr7kl9ZBeWZBRrpETE7L5gcBnRTtogo85HkPgLoaDk0DGVzv1ZAQQzQLENb4wKQB5KEFfQ38Kx0SnSlKGul5oJ85EkJLvE5YZBdKZBcUsgqFjXWW0PQC3y5Xvd9WDwX3WZCa9pSNIbqVGyRutevSSN4QAhl9dXqAOzi4ZD"},{"id":"120845621770035","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/120845621770035\/","access_token":"EAABtDnNMkbIBAPcNANL59pvimIzoXtfUa4aFuZAVEyibc13VdP5NyQ6iyyRB7QUHa1ok0Yi0gVm9xMJRPbEJG00pqOgpERVx9tTStIFjCgijivQ0PeSZA4hC8PyUePwENlcpKQaPMhbgkUIiPrzGCoOMDmMUE7uqP3oEROS4QQYQaK7iZCxmUhFKZAvSaygZD"},{"id":"100373623822380","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/100373623822380\/","access_token":"EAABtDnNMkbIBAKWQD1ukUGVIcy415IrBhsIqLxVX71oVZCZCmS2ZBggu64wIb84QHkMbyS2zslfQoUxvPSFb0lWURp399szgjy91ZAD8UdUITUvzfV3i0tkMOTZByu3q5grzTs8mcL3F2b4g15kJvhZCQnIYhNHZANuZAeR2HM6oxdlZC4cyVTLVefa1hpppwHvoZD"},{"id":"132646663920907","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/132646663920907\/","access_token":"EAABtDnNMkbIBAJwiX5O3YmWu80ybTUHHJCnDymlWe4Ywzl6FkfOrhrF7xOxeOTDZCudBakoLapV3ZB5vMkBZCXhC5h2iBmlZA1n0GEHADI7BECnTvz6I33jg3z1plPvmUneFEzYIZBcJUUZASyMadwdD2ZBiJ5xNF9WRjZAKBFhbmxQGDRMZCEONtuD6OtIN0zlwZD"},{"id":"112299049292999","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/112299049292999\/","access_token":"EAABtDnNMkbIBADt7tfFmFnbhnAiSuZC69Mf1xNqsZBhClnghYrkCdR8DeF00qP2uXRTRHDV2xaNLGHMOWrkP9GmMAvF4ZBgdg0Bbug7WNMaQ4zboReTsPtgwF6noeahv5g7Urs4PfoQnHHLxJDxrffOwSpsyx4ZCUtXgBVMZArgrZBTgATLwRVZC67KfQbrzGoZD"},{"id":"111993045990341","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/111993045990341\/"}],"paging":{"cursors":{"before":"MTMxNjg2ODMwNjgzNzg5","after":"MTExOTkzMDQ1OTkwMzQx"},"next":"https:\/\/graph.facebook.com\/v2.8\/119908831367602\/accounts?access_token=119908831367602\u00257Co3wswWQ88LYjEC9-ukR_gjRIOMw&limit=25&after=MTExOTkzMDQ1OTkwMzQx"}}'
48
+ http_version:
49
+ recorded_at: Sat, 18 Feb 2017 16:22:30 GMT
50
+ - request:
51
+ method: get
52
+ uri: https://graph.facebook.com/v2.8/119908831367602/accounts?access_token=119908831367602%7Co3wswWQ88LYjEC9-ukR_gjRIOMw&after=MTExOTkzMDQ1OTkwMzQx&limit=25
53
+ body:
54
+ encoding: US-ASCII
55
+ string: ''
56
+ headers:
57
+ User-Agent:
58
+ - Faraday v0.9.1
59
+ response:
60
+ status:
61
+ code: 200
62
+ message: OK
63
+ headers:
64
+ Access-Control-Allow-Origin:
65
+ - "*"
66
+ Etag:
67
+ - '"7e9c736950aee7b006b66ad3a460119f6b8f2722"'
68
+ Pragma:
69
+ - no-cache
70
+ Cache-Control:
71
+ - private, no-cache, no-store, must-revalidate
72
+ Facebook-Api-Version:
73
+ - v2.8
74
+ Expires:
75
+ - Sat, 01 Jan 2000 00:00:00 GMT
76
+ Content-Type:
77
+ - application/json; charset=UTF-8
78
+ X-Fb-Trace-Id:
79
+ - CBypqZtNaNN
80
+ X-Fb-Rev:
81
+ - '2842759'
82
+ Vary:
83
+ - Accept-Encoding
84
+ X-Fb-Debug:
85
+ - 0LPGSvsIukRzUsa2w+m8GYTQlSxvCZsIoQSFWQgN8cu5EVjPZoEiU32DinTRbL1MW6HSAFSMIohJPMbRvnEZpQ==
86
+ Date:
87
+ - Sat, 18 Feb 2017 16:22:30 GMT
88
+ Transfer-Encoding:
89
+ - chunked
90
+ Connection:
91
+ - keep-alive
92
+ body:
93
+ encoding: UTF-8
94
+ string: '{"data":[{"id":"125798281273437","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/125798281273437\/","access_token":"EAABtDnNMkbIBAHOwQxS8RqCdzTljGrYpNTiL7gpeeZB4bS4nBZB9hSe6GGdnyj61ZAz00mhZAWJcM484SZCd8zBzxuMl7AeZBj6wLZAZBLU0r3x45VhvZBN59VNAWNbKUJdNnlm1yZCPKrWVQtrkwOZBFIaV34LJptBnpeZBhxN9FCFSZB28rtqJwVYS9iBXNnOaPCSQZD"},{"id":"114443985744460","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/114443985744460\/","access_token":"EAABtDnNMkbIBAGWSUp8zyVoOHIcVLa9WdgV50C0w5XSpadlyVbVZBj9GEvlTL0uChdJuuZBzmB7X4YL6nLzTKvqVMa8MsHzyyWuGpKsPuZCd4pRgl9hRIzmiIvCGZACvF36qWwLrrD1hWdzqtOm0OWyDv3EpZCynM2fIv1IVs8L0GYNgdWQ7hkXroozsFXN8ZD"},{"id":"100212287171639","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/100212287171639\/","access_token":"EAABtDnNMkbIBADJZC9YPfjXUw0NRJazZA92mFZCHiuuGvNJrWjbGlDYDMryYCCvFDpSa8HyqQcwqrbYkxjZB0WWs82A79gjTBxX7ZCbEjq7kWcW6UMKM4g7bHv0fow9wt1bsSWYcDKDLY3juPPbQDjqDAaTb58ZBPX0iUqq1EubyGWMwwqeCq62oZAZAtKF9XbUZD"},{"id":"117981365390106","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/117981365390106\/","access_token":"EAABtDnNMkbIBAFQHCDUjysIw0Atj8o2sx5ZAmCLjItgvp5Rd066DL6u4EISVCZAd3AQrHXLoj2cGPdsYyBwWZAGMJSvcrmDH77cOWYLtKuClnLL3cgNJSMmZAMfNXYhLldvp1MyZCF83088ifGJ8Y4jNYF2GB7MQGGma0eJ2aSrrViTPofoX7HrIbXXtmv3EZD"},{"id":"118562311998585","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/118562311998585\/","access_token":"EAABtDnNMkbIBALApADZCoqMoFzMQnMbhJq0JAjNyOqcNHPjQEXcq34ltvVVtK8vFeOOn6ZA4xU0DN0FgzTvzpVFX40IsRvRPQ2G9kUEEYQsTkJt7af2kwREGcg02MIfsxw7FOVOZAofo0dUM7OSHa11SVbUt0RlPIgeJPsU8AFVol268Ydh6tZBSAFSRbh8ZD"},{"id":"112915182564309","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/112915182564309\/","access_token":"EAABtDnNMkbIBADBs6QL7wCZBHCsKI7GwqpG8BDZCDSuip7hX3UYSwMR7XX2IwmGv5YcOAGagfMlseMYILVad5aZCD3gjE6dfJGvOjo601gMTR2UhT8ZApzIxhQdo8HqWToOxzFyjN4GzHqyOwEYX4UI56KYyfJXuPqZAL7SQIABFwoWR3IdhaP1DQAFZBODlQZD"},{"id":"121283758392614","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/121283758392614\/","access_token":"EAABtDnNMkbIBAOJa8QsC9c1aWU1D8r4z8Kp09dBqSH4gtRTzWd38UHYQnPNxelxgpHvdw6MSgRAapK7pHoiooAGZAd9fxJqd7ZAFHYjf3rvAontxIHgHNZA0UOt3bqC0DHBPCnQrR0jGJqsKOBmbMDh7n754cZBYXTaMHmimEFpFP6ET2qAr2n7TzIdptAoZD"},{"id":"109762849546914","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/109762849546914\/","access_token":"EAABtDnNMkbIBAAZAZAmjRM8OpZCroUsSGZAs0M7NgkFyHvbfzrtyj2wZCIsUCg4OnbcfjksVbZCsrPNTtSuyAVCt8ccVshwLD1Ff9lT6RHXm1Pr4pTbI6ov1CdUbQ4OZCJ9xInvZB2D1g8TjdbrgAeB2MCXQqAAa8hzATror0kidHi2T3g2wkNcPnnZClTvkKBn8ZD"},{"id":"117739112080670","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/117739112080670\/","access_token":"EAABtDnNMkbIBAG0YyZCZAz6QpRiXHTmwBDfqZAHk4jyIpbQJAeGswJZCLtY6xzjBrzewsDDZCkswuMnqMR5QvHbZCg26HdGFcneWMEQo2Uxb2VTYkuinHsyxVap3AfiVAjQBMTIxpPlERFZCnkNPUjW0Pn1rpjjbRe3ZA5Q5pvHbGUWCmCN2OfQm9FtJlagEQWwZD"},{"id":"128682634317437","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/128682634317437\/","access_token":"EAABtDnNMkbIBAFjZBZCtwoUzi5fJR73CtnXG0EQuIPOJlHEc59fTI8VibvfkpAse6KwkvzvvQZB4JGEuR0jDJ3oEFIrZA9VHm8P4UkOLab2LRK6ZAcSLI443GP3YgBZCTj8iUTL30OMyvUqLVtXFfLs7H4iVZCCosPWPP7ZBF0LuKQbszLIO1cn3IxPpbh1ZBC2MZD"},{"id":"110473496142007","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/110473496142007\/","access_token":"EAABtDnNMkbIBAMNIZAozYoZCYlzFAWNcgQcLvr8ZCdNzkydf1CIL11MZC4lgpsJsxco7omdOTujeZCTtDyKZCO2UJtedPIZAVni8ikw5fOG3yce6GsZABsvI43SVntsEbcXPtxKYwPwLaEcy8hz2rbeodnFBPM00PJcIUSslGjJKZAZA0zleVbrSA3lXLyrETTVUgZD"},{"id":"122991804887942","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/122991804887942\/","access_token":"EAABtDnNMkbIBALMHhJ8JAwwvnTh9nqrisdcHGZBMQiQvFa0qOKf0Ld7AVlZAKkI8kQz0WUBXAmZAp1nm4ft2ejZBkOYGwAuoNNdU1ruCZCBROTdZA7xzmAPD4k93yduyUjC9pkyRiTRyWAxfy3N87G5NaE8dgq9igkdEcn4A3tWncKGZAGOQZAZAflJPKYdUSA64ZD"},{"id":"134271380424517","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/134271380424517\/","access_token":"EAABtDnNMkbIBAA7Na9BLonHUubJFEFSSyEGgZBlhDaEeqdoY4g6GVfdgmZBshC20TuoBoZAw3mhVAjrsWitu9ZBbWVgxjjdo1MmLvZCrQN2oVzpDCZCGV3vAppM6ONZBEWCBkc0TvN7kkRJUKgWeGFBGiFJd7d7qH0ZAKr0N2pLM9kDfHT644S2YvIk5PBTN66sZD"},{"id":"101885090336486","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/101885090336486\/","access_token":"EAABtDnNMkbIBAM4yyUAGZAMcSg6wGn5SPRWz6CnTe789IaDo8nn7LMA2sThVJjk2nxiPoonKCKDbwx4QV9UaZCZA3snxtKHDZAkFOMsINW52n4Rh8cGAGHlTngZBMWZAO2oTEx5eIsqsr1oYZBQqhiwAdsEiGxDk3py4y3lIHUnZCjrnyX38m0ZAaZAI3h3TjMIEAZD"},{"id":"108363739686592","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/108363739686592\/","access_token":"EAABtDnNMkbIBAMh2hOT4gXx6BKZCZCZABsrRWI0kM7vZA3YSktHrMHwW2heljqZCvRo8w6SvOlfSZBcQOmOtQKM4GUkBpAzugwwtzKhEh0BpnLsHuIsT0U1ENAZBVIHjLHzK7e4poVr2mrthvTGOCe2u30S76HajsnX9uemd08AZCZBKvEqabyhVg1pVleJkYA24ZD"},{"id":"103009976890118","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/103009976890118\/","access_token":"EAABtDnNMkbIBALwG9w1699JAmpNauB1pH57taercbOF1v7OEtxk66CqSOaU9JiZBTpDRUqY5BjeLSjxsLrJRSgVFXwZCkj2xhv07gc51atV8XZA5XhRy8TNhYpmAkImJrhblNnserqmEKZBh7ZCfVSKMZB1rHsxIFTNpeSA42VVR9dZBH0XCeXA0aMsyPhxi7sZD"},{"id":"106798253176843","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/106798253176843\/","access_token":"EAABtDnNMkbIBACNoWodogmtcR62Q7o2K3MiIiQtjBZAkfoSZBYCGEUsxhvSh97DpmMcV6wMLK2glnafkm3gEgOoxohMQXYEQlxzf5QkqaDPnIgT2ZAYuP0MMJEkyyuoQ7X8I3MxB1CdGZCaGxxmDQCZArKUnLEcGSfXtd0dGUZBrLpBJpnO261vzDtWgaqZAPwZD"},{"id":"126605231192422","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/126605231192422\/","access_token":"EAABtDnNMkbIBAEXaa69QZBophJkDN2D1LbjBps27zwek5KZCNdnuVdnuxYfz5ZCntOYhfET3oyQCxQC4aSbTeaTZA84TKO0YBtfIPQsmoV4WsX7rKdtqJHv1OFZBLSlAZC59cLIswjv71ImIzzUeEdSrJuATZBiIRBdFFttLGhglI8IscAZCFZA4ZBna6ljpBSRX0ZD"},{"id":"101330510391991","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/101330510391991\/","access_token":"EAABtDnNMkbIBAMcvlgvtdKEthgcWabktKPyFRAmedZCEGiJrhEql7feYCGGYzdHZBt2dyVz32vFRy2gUZCTNW4LtmCfWECQla7vtS0wxGooIQZBtSwGuZCPxZCKyITJnQ1y7OZBAJMBnXsR1asg4KbcFegcvhqyiwdwOeUqgVEUgNfJkByrqnzM81Ws5pe0VtIZD"},{"id":"105505479973088","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/105505479973088\/","access_token":"EAABtDnNMkbIBAHsVBuHJBnDvtMBgf1HO7mSfexb463fOarEdu2ZBkinKUJAFgDfvna129s0SWdS6CdrVlBGNLXZAwfucMqXfXrSe5WwYXY8Qt7PLLZCEByyjwBJCRyQFVO6pq3F1D5Y9WTebwrl0qHUZCz7ZCr6yzh8wO7VtVMTyKpPZAlCZCEo32X3lDrZCxXQZD"},{"id":"107216613134895","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/107216613134895\/","access_token":"EAABtDnNMkbIBALuLLgaK6JS0dCAuyQIcJVQRiZAzKDBdQIUXvmN9VTrEBqCErVrKVtaxxv7xw6nrZB52DP6JhzkUDZCQtouHZBc0XyIlcmJtRghnraudvcQQHzzzX1ZCaCAnjYnep4SxZCRcbmZBguLaUoQXNygYqnvjmh1ZAUEJP8DdTu6xSzBpp0ivLJ1nCuAZD"},{"id":"134002377117793","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/134002377117793\/","access_token":"EAABtDnNMkbIBABKtcAotDo6YWjUGy9kxyI6iMmM1i6UZANrgYtPOsTJUXZBa2gDM2YiAK7hmrCPLT3k00yre62pKCEZB7dP49yVGLRLhsZABHnHRQJBnTa2wpIqLKYtAZAdUdOaAB5hb20WsI5F3iYZBT7VQWpPY5EJRZCuLxd6pLzLTjXuk7Ertmlh5GsmdRAZD"},{"id":"102515120271368","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/102515120271368\/","access_token":"EAABtDnNMkbIBAJqy3QDoH0YaOFhPcb5r0xz8ByPD05ZAtEFQTRubbPfW6EUEGNrPirUuh7IEYNRQEoZACtrL1aCZAXeWGYAb99MpokxkGZBj0clOmfsKfwNUfXubVixtTVRUvLl9B5yaS645a9jSvR6LF8VYxb1WZC8SJDiZBhdxLaOVyW7tTOlyZC2IX0VaUcZD"},{"id":"114232912430044","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/114232912430044\/","access_token":"EAABtDnNMkbIBAI7TiBwT3IYknbZAz2Xt59AJwJXDT1DysXvCZB8vzQZA3UElRj2GadxWWUHd7ZA10eYJEsvuk5zbDbsgtdSpUJaSGlJKK2ZCJfsDUHWJN3ZAQL6IpH456ErDAocT95bjvhgbUerGSO1SXze1rUWHddMJWhLjdoa8juVwgHjCJ0MFuDLBbJ2X0ZD"},{"id":"100190163838009","login_url":"https:\/\/developers.facebook.com\/checkpoint\/test-user-login\/100190163838009\/","access_token":"EAABtDnNMkbIBAKEHD5z8s5ZAEu10xVQ7mJt21pnEapDLZC240fZBQJQqAnoZBW1CgwUxZBoKG8aoOHV6npvT58ZAWxUwy7zBsuztM7KhAqi0MPQ0BuMhOtyqrjTZC8WQlh325vP3t0WJr6odmMd7l36qRAQQU2aihSM2SZAnZALTVQfuvyQLrHQLaENLDZAJmhp1wZD"}],"paging":{"cursors":{"before":"MTI1Nzk4MjgxMjczNDM3","after":"MTAwMTkwMTYzODM4MDA5"},"next":"https:\/\/graph.facebook.com\/v2.8\/119908831367602\/accounts?access_token=119908831367602\u00257Co3wswWQ88LYjEC9-ukR_gjRIOMw&limit=25&after=MTAwMTkwMTYzODM4MDA5","previous":"https:\/\/graph.facebook.com\/v2.8\/119908831367602\/accounts?access_token=119908831367602\u00257Co3wswWQ88LYjEC9-ukR_gjRIOMw&limit=25&before=MTI1Nzk4MjgxMjczNDM3"}}'
95
+ http_version:
96
+ recorded_at: Sat, 18 Feb 2017 16:22:30 GMT
97
+ recorded_with: VCR 2.9.3
@@ -2,16 +2,19 @@ require 'spec_helper'
2
2
 
3
3
  module Koala
4
4
  RSpec.describe "requests using GraphCollections" do
5
- let(:api) { Facebook::API.new(KoalaTest.vcr_oauth_token) }
5
+ let(:api) { Facebook::API.new(KoalaTest.app_access_token) }
6
6
 
7
7
  before :each do
8
8
  # use the right version of the API as of the writing of this test
9
- Koala.config.api_version = "v2.2"
9
+ Koala.config.api_version = "v2.8"
10
10
  end
11
11
 
12
- it "can access the next page of a friend list" do
13
- KoalaTest.with_vcr_unless_live("friend_list_next_page") do
14
- result = api.get_connection("me", "friends")
12
+ it "can access the next page of a test accounts" do
13
+ # NOTE: if recording this cassette again, you'll need to swap in the real access token. It's
14
+ # been manually edited out of the cassette. (Once all tests are switched to VCR this will be
15
+ # resolved.)
16
+ KoalaTest.with_vcr_unless_live("app test accounts") do
17
+ result = api.get_connection(KoalaTest.app_id, "accounts")
15
18
  expect(result).not_to be_empty
16
19
  expect(result.next_page).not_to be_empty
17
20
  end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # Quantify coverage
2
- require "codeclimate-test-reporter"
3
- CodeClimate::TestReporter.start
2
+ require 'simplecov'
3
+ SimpleCov.start
4
4
 
5
5
  # load the library
6
6
  require 'koala'