badgeapi 0.3.8
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.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +31 -0
- data/Rakefile +15 -0
- data/badgeapi.gemspec +33 -0
- data/lib/badgeapi/badge.rb +29 -0
- data/lib/badgeapi/badgeapi_object.rb +149 -0
- data/lib/badgeapi/collection.rb +10 -0
- data/lib/badgeapi/errors/api_error.rb +5 -0
- data/lib/badgeapi/errors/badgeapi_error.rb +18 -0
- data/lib/badgeapi/errors/invalid_request_error.rb +5 -0
- data/lib/badgeapi/recipient.rb +18 -0
- data/lib/badgeapi/version.rb +3 -0
- data/lib/badgeapi.rb +36 -0
- data/test/badge/badge_test.rb +469 -0
- data/test/badgeapi_test.rb +20 -0
- data/test/collection/collection_test.rb +275 -0
- data/test/fixtures/all_badges.yml +121 -0
- data/test/fixtures/all_badges_bad_user.yml +138 -0
- data/test/fixtures/all_badges_expanded.yml +196 -0
- data/test/fixtures/all_badges_from_collection.yml +52 -0
- data/test/fixtures/all_badges_issued.yml +430 -0
- data/test/fixtures/all_badges_limited.yml +49 -0
- data/test/fixtures/all_collection.yml +50 -0
- data/test/fixtures/all_collection_expanded.yml +131 -0
- data/test/fixtures/all_collection_limit.yml +49 -0
- data/test/fixtures/bad_Recipient.yml +183 -0
- data/test/fixtures/bad_Recipietn_request.yml +93 -0
- data/test/fixtures/bad_api_key.yml +49 -0
- data/test/fixtures/badge_error.yml +47 -0
- data/test/fixtures/badge_requirements.yml +351 -0
- data/test/fixtures/collection_error.yml +91 -0
- data/test/fixtures/create_badge.yml +97 -0
- data/test/fixtures/create_collection.yml +97 -0
- data/test/fixtures/create_new_badge_failure.yml +143 -0
- data/test/fixtures/create_new_collection_failure.yml +189 -0
- data/test/fixtures/destroy_badge.yml +277 -0
- data/test/fixtures/destroy_badge_error.yml +231 -0
- data/test/fixtures/destroy_collection.yml +185 -0
- data/test/fixtures/destroy_collection_error.yml +185 -0
- data/test/fixtures/issue_already_owned_badge.yml +49 -0
- data/test/fixtures/issue_badge_to_bad_user.yml +50 -0
- data/test/fixtures/issue_badge_to_user.yml +199 -0
- data/test/fixtures/issue_badge_to_user_with_library_card.yml +103 -0
- data/test/fixtures/one_badge.yml +49 -0
- data/test/fixtures/one_badge_expanded.yml +50 -0
- data/test/fixtures/one_collection.yml +49 -0
- data/test/fixtures/one_collection_expanded.yml +104 -0
- data/test/fixtures/recipient_with_badges.yml +187 -0
- data/test/fixtures/recipient_with_badges_unicard.yml +50 -0
- data/test/fixtures/revoke_badge_from_user.yml +199 -0
- data/test/fixtures/revoke_badge_not_issued.yml +49 -0
- data/test/fixtures/update_badge_via_update.yml +145 -0
- data/test/fixtures/update_badge_via_update_slug_history.yml +191 -0
- data/test/fixtures/update_collection.yml +191 -0
- data/test/fixtures/update_collection_via_update.yml +145 -0
- data/test/recipient/recipient_test.rb +108 -0
- data/test/test_helper.rb +11 -0
- metadata +274 -0
@@ -0,0 +1,275 @@
|
|
1
|
+
#test/collection/collection_test.rb
|
2
|
+
require './test/test_helper'
|
3
|
+
|
4
|
+
class BadgeapiCollectionTest < MiniTest::Test
|
5
|
+
|
6
|
+
def self.test_order
|
7
|
+
:alpha
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_exists
|
11
|
+
assert Badgeapi::Collection
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_object_path
|
15
|
+
assert_equal "collections", Badgeapi::Collection.collection_path
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_object_name
|
19
|
+
assert_equal "collection", Badgeapi::Collection.member_name
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_it_returns_back_a_single_collection
|
23
|
+
VCR.use_cassette('one_collection', :record => :all) do
|
24
|
+
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
25
|
+
|
26
|
+
collection = Badgeapi::Collection.find(1)
|
27
|
+
assert_equal Badgeapi::Collection, collection.class
|
28
|
+
|
29
|
+
assert_equal "library", collection.id
|
30
|
+
assert_equal "Library", collection.name
|
31
|
+
assert_equal 125, collection.total_points_available
|
32
|
+
assert_equal 4, collection.badge_count
|
33
|
+
assert_equal "Use your library and earn badges", collection.description
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_it_returns_back_a_single_collection_expanded
|
38
|
+
VCR.use_cassette('one_collection_expanded', :record => :all) do
|
39
|
+
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
40
|
+
|
41
|
+
collection = Badgeapi::Collection.find(1, expand: "badges")
|
42
|
+
|
43
|
+
assert_equal Badgeapi::Collection, collection.class
|
44
|
+
|
45
|
+
assert_equal "library", collection.id
|
46
|
+
assert_equal "Library", collection.name
|
47
|
+
assert_equal 125, collection.total_points_available
|
48
|
+
assert_equal "Use your library and earn badges", collection.description
|
49
|
+
|
50
|
+
assert_equal Badgeapi::Badge, collection.badges[1].required_badges.first.class
|
51
|
+
|
52
|
+
assert_equal Badgeapi::Badge, collection.badges[0].class
|
53
|
+
assert_equal 4, collection.badges.length
|
54
|
+
assert_equal "Book Worm", collection.badges[0].name
|
55
|
+
assert_equal "bronze", collection.badges.first.level
|
56
|
+
assert_equal 25, collection.badges.first.points
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_it_returns_back_all_collections
|
61
|
+
VCR.use_cassette('all_collection', :record => :all) do
|
62
|
+
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
63
|
+
|
64
|
+
result = Badgeapi::Collection.all
|
65
|
+
|
66
|
+
# Make sure we got all the badges
|
67
|
+
assert_equal 2, result.length
|
68
|
+
|
69
|
+
# Make sure that the JSON was parsed
|
70
|
+
assert result.kind_of?(Array)
|
71
|
+
assert result.first.kind_of?(Badgeapi::Collection)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_it_returns_back_all_collections_expanded
|
76
|
+
VCR.use_cassette('all_collection_expanded', :record => :all) do
|
77
|
+
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
78
|
+
|
79
|
+
result = Badgeapi::Collection.all(expand: "badges")
|
80
|
+
|
81
|
+
# Make sure we got all the badges
|
82
|
+
assert_equal 2, result.length
|
83
|
+
|
84
|
+
# Make sure that the JSON was parsed
|
85
|
+
assert result.kind_of?(Array)
|
86
|
+
assert result.first.kind_of?(Badgeapi::Collection)
|
87
|
+
assert result.first.badges.first.kind_of?(Badgeapi::Badge)
|
88
|
+
assert_equal "Book Worm", result.first.badges.first.name
|
89
|
+
assert_equal "bronze", result.first.badges.first.level
|
90
|
+
assert_equal 25, result.first.badges.first.points
|
91
|
+
|
92
|
+
|
93
|
+
result.first.badges.each do |badge|
|
94
|
+
assert_equal Badgeapi::Badge, badge.class
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
def test_all_limit
|
100
|
+
VCR.use_cassette('all_collection_limit', :record => :all) do
|
101
|
+
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
102
|
+
|
103
|
+
result = Badgeapi::Collection.all(limit: 1)
|
104
|
+
|
105
|
+
# Make sure we got all the badges
|
106
|
+
assert_equal 1, result.length
|
107
|
+
|
108
|
+
# Make sure that the JSON was parsed
|
109
|
+
assert result.kind_of?(Array)
|
110
|
+
assert result.first.kind_of?(Badgeapi::Collection)
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
def test_collections_raise_errors
|
115
|
+
VCR.use_cassette('collection_error', :record => :all) do
|
116
|
+
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
117
|
+
|
118
|
+
assert_raises(Badgeapi::InvalidRequestError) { Badgeapi::Collection.find(27) }
|
119
|
+
|
120
|
+
begin
|
121
|
+
Badgeapi::Collection.find(27)
|
122
|
+
rescue Badgeapi::InvalidRequestError => e
|
123
|
+
assert_equal(404, e.http_status)
|
124
|
+
refute_empty e.message
|
125
|
+
assert_equal(true, e.json_body.kind_of?(Hash))
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
def test_create_a_new_collection
|
131
|
+
VCR.use_cassette('create_collection', :record => :all) do
|
132
|
+
|
133
|
+
Badgeapi.api_key = 'c9cde524238644fa93393159e5e9ad87'
|
134
|
+
|
135
|
+
collection = Badgeapi::Collection.create(
|
136
|
+
name: "Create Collection Test",
|
137
|
+
description: "This is a new collection"
|
138
|
+
)
|
139
|
+
|
140
|
+
assert_equal Badgeapi::Collection, collection.class
|
141
|
+
assert_equal "Create Collection Test", collection.name
|
142
|
+
assert_equal "This is a new collection", collection.description
|
143
|
+
|
144
|
+
Badgeapi::Collection.destroy(collection.id)
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
def test_create_new_collection_failure
|
149
|
+
VCR.use_cassette('create_new_collection_failure', :record => :all) do
|
150
|
+
|
151
|
+
Badgeapi.api_key = 'c9cde524238644fa93393159e5e9ad87'
|
152
|
+
|
153
|
+
collection = Badgeapi::Collection.create(
|
154
|
+
name: "Create Collection Test Destroy",
|
155
|
+
description: "This is a new badge"
|
156
|
+
)
|
157
|
+
|
158
|
+
assert_raises(Badgeapi::InvalidRequestError) {
|
159
|
+
Badgeapi::Collection.create(
|
160
|
+
name: "Create Collection Test Destroy",
|
161
|
+
description: "This is a new badge"
|
162
|
+
)
|
163
|
+
}
|
164
|
+
|
165
|
+
begin
|
166
|
+
Badgeapi::Collection.create(
|
167
|
+
name: "Create Collection Test Destroy",
|
168
|
+
description: "This is a new badge"
|
169
|
+
)
|
170
|
+
rescue Badgeapi::InvalidRequestError => e
|
171
|
+
assert_equal(422, e.http_status)
|
172
|
+
refute_empty e.message
|
173
|
+
assert_equal(true, e.json_body.kind_of?(Hash))
|
174
|
+
end
|
175
|
+
|
176
|
+
Badgeapi::Collection.destroy(collection.id)
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
def test_collection_destroy
|
181
|
+
VCR.use_cassette('destroy_collection', :record => :all) do
|
182
|
+
|
183
|
+
Badgeapi.api_key = 'c9cde524238644fa93393159e5e9ad87'
|
184
|
+
|
185
|
+
collection = Badgeapi::Collection.create(
|
186
|
+
name: "Create Collection for Destroy",
|
187
|
+
description: "This is a new badge",
|
188
|
+
)
|
189
|
+
|
190
|
+
destroyed_collection = Badgeapi::Collection.destroy(collection.id)
|
191
|
+
|
192
|
+
assert_equal Badgeapi::Collection, destroyed_collection.class
|
193
|
+
|
194
|
+
assert_raises(Badgeapi::InvalidRequestError) { Badgeapi::Collection.find(destroyed_collection.id) }
|
195
|
+
|
196
|
+
begin
|
197
|
+
Badgeapi::Collection.find(destroyed_collection.id)
|
198
|
+
rescue Badgeapi::InvalidRequestError => e
|
199
|
+
assert_equal(404, e.http_status)
|
200
|
+
refute_empty e.message
|
201
|
+
assert_equal(true, e.json_body.kind_of?(Hash))
|
202
|
+
end
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
206
|
+
def test_collection_destroy_error
|
207
|
+
VCR.use_cassette('destroy_collection_error', :record => :all) do
|
208
|
+
|
209
|
+
Badgeapi.api_key = 'c9cde524238644fa93393159e5e9ad87'
|
210
|
+
|
211
|
+
collection = Badgeapi::Collection.create(
|
212
|
+
name: "Create Collection for Destroy",
|
213
|
+
description: "This is a new badge"
|
214
|
+
)
|
215
|
+
|
216
|
+
destroyed_collection = Badgeapi::Collection.destroy(collection.id)
|
217
|
+
|
218
|
+
assert_raises(Badgeapi::InvalidRequestError) { Badgeapi::Collection.destroy(collection.id) }
|
219
|
+
|
220
|
+
begin
|
221
|
+
Badgeapi::Collection.destroy(collection.id)
|
222
|
+
rescue Badgeapi::InvalidRequestError => e
|
223
|
+
assert_equal(404, e.http_status)
|
224
|
+
refute_empty e.message
|
225
|
+
assert_equal(true, e.json_body.kind_of?(Hash))
|
226
|
+
end
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
230
|
+
def test_update_collection
|
231
|
+
VCR.use_cassette('update_collection', :record => :all) do
|
232
|
+
|
233
|
+
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
234
|
+
|
235
|
+
collection = Badgeapi::Collection.create(
|
236
|
+
name: "Create Collection for update",
|
237
|
+
description: "This is a new collection",
|
238
|
+
)
|
239
|
+
|
240
|
+
collection.name = "Updated Collection"
|
241
|
+
collection.description = "Updated Collection"
|
242
|
+
|
243
|
+
collection.save
|
244
|
+
|
245
|
+
updated_collection = Badgeapi::Collection.find(collection.id)
|
246
|
+
|
247
|
+
assert_equal "Updated Collection", updated_collection.name
|
248
|
+
assert_equal "Updated Collection", updated_collection.description
|
249
|
+
|
250
|
+
Badgeapi::Collection.destroy(collection.id)
|
251
|
+
end
|
252
|
+
end
|
253
|
+
|
254
|
+
def test_update_collection_via_update
|
255
|
+
VCR.use_cassette('update_collection_via_update', :record => :all) do
|
256
|
+
|
257
|
+
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
258
|
+
|
259
|
+
collection = Badgeapi::Collection.create(
|
260
|
+
name: "Create Collection for update",
|
261
|
+
description: "This is a new collection",
|
262
|
+
)
|
263
|
+
|
264
|
+
updated_collection = Badgeapi::Collection.update(collection.id,
|
265
|
+
name: "Updated Badge",
|
266
|
+
description: "Updated Description",
|
267
|
+
)
|
268
|
+
|
269
|
+
assert_equal "Updated Badge", updated_collection.name
|
270
|
+
assert_equal "Updated Description", updated_collection.description
|
271
|
+
|
272
|
+
Badgeapi::Collection.destroy(collection.id)
|
273
|
+
end
|
274
|
+
end
|
275
|
+
end
|
@@ -0,0 +1,121 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://gamification-api.dev/v1/badges
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.1
|
12
|
+
Authorization:
|
13
|
+
- Token token="c9cde524238644fa93393159e5e9ad87"
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
Accept:
|
17
|
+
- "*/*"
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
X-Frame-Options:
|
24
|
+
- SAMEORIGIN
|
25
|
+
X-Xss-Protection:
|
26
|
+
- 1; mode=block
|
27
|
+
X-Content-Type-Options:
|
28
|
+
- nosniff
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
Etag:
|
32
|
+
- '"77ec5b377e795c568ad37937b979e76d"'
|
33
|
+
Cache-Control:
|
34
|
+
- max-age=0, private, must-revalidate
|
35
|
+
X-Request-Id:
|
36
|
+
- c565e004-c267-4e38-89b2-bd93428dd115
|
37
|
+
X-Runtime:
|
38
|
+
- '0.025329'
|
39
|
+
Date:
|
40
|
+
- Thu, 03 Sep 2015 10:55:57 GMT
|
41
|
+
Connection:
|
42
|
+
- close
|
43
|
+
body:
|
44
|
+
encoding: ASCII-8BIT
|
45
|
+
string: !binary |-
|
46
|
+
W3sibmFtZSI6IkJvb2sgV29ybSIsImRlc2NyaXB0aW9uIjoiWW91IGhhdmUg
|
47
|
+
bG9hbmVkIG91dCBvdmVyIDI1IGJvb2tzLiBOaWNlIGdvaW5nISIsInJlcXVp
|
48
|
+
cmVtZW50cyI6IkxvYW4gb3V0IDI1IGJvb2tzIiwiaGludCI6IllvdSBtdXN0
|
49
|
+
IGxpa2UgYm9va3MuLi4iLCJpbWFnZSI6Imh0dHA6Ly9nYW1pZmljYXRpb24t
|
50
|
+
YXBpLmRldi9iYWRnZV9pbWFnZXMvYm9vay13b3JtL2JhZGdlLnBuZyIsImNv
|
51
|
+
bGxlY3Rpb25faWQiOiJsaWJyYXJ5IiwiY3JlYXRlZF9hdCI6IjIwMTUtMDkt
|
52
|
+
MDNUMTA6NTE6MDcuODMxWiIsInVwZGF0ZWRfYXQiOiIyMDE1LTA5LTAzVDEw
|
53
|
+
OjUxOjA3LjgzMVoiLCJsZXZlbCI6ImJyb256ZSIsImF1dG9faXNzdWUiOmZh
|
54
|
+
bHNlLCJzdGF0dXMiOiJsaXZlIiwicmVxdWlyZWRfYmFkZ2VzIjpbXSwicG9p
|
55
|
+
bnRzIjoyNSwib2JqZWN0IjoiYmFkZ2UiLCJpZCI6ImJvb2std29ybSJ9LHsi
|
56
|
+
bmFtZSI6Ik1lZ2EgQm9vayBXb3JtIiwiZGVzY3JpcHRpb24iOiJZb3UgaGF2
|
57
|
+
ZSBsb2FuZWQgb3V0IDUwIGJvb2tzLiIsInJlcXVpcmVtZW50cyI6IkxvYW4g
|
58
|
+
b3V0IDUwIGJvb2tzIiwiaGludCI6IllvdSBtdXN0IHJlYWxseSBsaWtlIGJv
|
59
|
+
b2tzLi4uIiwiaW1hZ2UiOiJodHRwOi8vZ2FtaWZpY2F0aW9uLWFwaS5kZXYv
|
60
|
+
YmFkZ2VfaW1hZ2VzL21lZ2EtYm9vay13b3JtL2JhZGdlLnBuZyIsImNvbGxl
|
61
|
+
Y3Rpb25faWQiOiJsaWJyYXJ5IiwiY3JlYXRlZF9hdCI6IjIwMTUtMDktMDNU
|
62
|
+
MTA6NTE6MDcuODk5WiIsInVwZGF0ZWRfYXQiOiIyMDE1LTA5LTAzVDEwOjUx
|
63
|
+
OjA3Ljg5OVoiLCJsZXZlbCI6InNpbHZlciIsImF1dG9faXNzdWUiOmZhbHNl
|
64
|
+
LCJzdGF0dXMiOiJsaXZlIiwicmVxdWlyZWRfYmFkZ2VzIjpbeyJuYW1lIjoi
|
65
|
+
Qm9vayBXb3JtIiwiZGVzY3JpcHRpb24iOiJZb3UgaGF2ZSBsb2FuZWQgb3V0
|
66
|
+
IG92ZXIgMjUgYm9va3MuIE5pY2UgZ29pbmchIiwicmVxdWlyZW1lbnRzIjoi
|
67
|
+
TG9hbiBvdXQgMjUgYm9va3MiLCJoaW50IjoiWW91IG11c3QgbGlrZSBib29r
|
68
|
+
cy4uLiIsImltYWdlIjoiaHR0cDovL2dhbWlmaWNhdGlvbi1hcGkuZGV2L2Jh
|
69
|
+
ZGdlX2ltYWdlcy9ib29rLXdvcm0vYmFkZ2UucG5nIiwiY29sbGVjdGlvbl9p
|
70
|
+
ZCI6ImxpYnJhcnkiLCJjcmVhdGVkX2F0IjoiMjAxNS0wOS0wM1QxMDo1MTow
|
71
|
+
Ny44MzFaIiwidXBkYXRlZF9hdCI6IjIwMTUtMDktMDNUMTA6NTE6MDcuODMx
|
72
|
+
WiIsImxldmVsIjoiYnJvbnplIiwiYXV0b19pc3N1ZSI6ZmFsc2UsInN0YXR1
|
73
|
+
cyI6ImxpdmUiLCJyZXF1aXJlZF9iYWRnZXMiOltdLCJwb2ludHMiOjI1LCJv
|
74
|
+
YmplY3QiOiJiYWRnZSIsImlkIjoiYm9vay13b3JtIn1dLCJwb2ludHMiOjUw
|
75
|
+
LCJvYmplY3QiOiJiYWRnZSIsImlkIjoibWVnYS1ib29rLXdvcm0ifSx7Im5h
|
76
|
+
bWUiOiJOaWdodCBPd2wiLCJkZXNjcmlwdGlvbiI6IllvdSBsb2FuZWQgYSBi
|
77
|
+
b29rIG91dCBiZXR3ZWVuIE1pZG5pZ2h0IGFuZCA1IG8nY2xvY2siLCJyZXF1
|
78
|
+
aXJlbWVudHMiOiJMb2FuIG91dCBhIGJvb2sgYmV0d2VlbiAwMDowMCAtIDU6
|
79
|
+
MDAiLCJoaW50IjoiSXQgbXVzdCBiZSBsYXRlLi4uIiwiaW1hZ2UiOiJodHRw
|
80
|
+
Oi8vZ2FtaWZpY2F0aW9uLWFwaS5kZXYvYmFkZ2VfaW1hZ2VzL25pZ2h0LW93
|
81
|
+
bC9iYWRnZS5wbmciLCJjb2xsZWN0aW9uX2lkIjoibGlicmFyeSIsImNyZWF0
|
82
|
+
ZWRfYXQiOiIyMDE1LTA5LTAzVDEwOjUxOjA3Ljk2M1oiLCJ1cGRhdGVkX2F0
|
83
|
+
IjoiMjAxNS0wOS0wM1QxMDo1MTowNy45NjNaIiwibGV2ZWwiOiJicm9uemUi
|
84
|
+
LCJhdXRvX2lzc3VlIjpmYWxzZSwic3RhdHVzIjoibGl2ZSIsInJlcXVpcmVk
|
85
|
+
X2JhZGdlcyI6W10sInBvaW50cyI6MjUsIm9iamVjdCI6ImJhZGdlIiwiaWQi
|
86
|
+
OiJuaWdodC1vd2wifSx7Im5hbWUiOiJPdXIgQmVzdCBGcmllbmQiLCJkZXNj
|
87
|
+
cmlwdGlvbiI6IllvdSBkaWRuJ3QgZ2V0IGFueSBmaW5lcyBpbiB0aGUgbGFz
|
88
|
+
dCAxMiBtb250aHMhIiwicmVxdWlyZW1lbnRzIjoiwqMwIGluIGZpbmVzIGZv
|
89
|
+
ciB0aGUgcGFzdCAxMiBtb250aHMiLCJoaW50IjoiRG9uJ3QgZ2V0IGluIHRy
|
90
|
+
b3VibGUgbm93Li4uIiwiaW1hZ2UiOiJodHRwOi8vZ2FtaWZpY2F0aW9uLWFw
|
91
|
+
aS5kZXYvYmFkZ2VfaW1hZ2VzL291ci1iZXN0LWZyaWVuZC9iYWRnZS5wbmci
|
92
|
+
LCJjb2xsZWN0aW9uX2lkIjoibGlicmFyeSIsImNyZWF0ZWRfYXQiOiIyMDE1
|
93
|
+
LTA5LTAzVDEwOjUxOjA4LjAyM1oiLCJ1cGRhdGVkX2F0IjoiMjAxNS0wOS0w
|
94
|
+
M1QxMDo1MTowOC4wMjNaIiwibGV2ZWwiOiJicm9uemUiLCJhdXRvX2lzc3Vl
|
95
|
+
IjpmYWxzZSwic3RhdHVzIjoibGl2ZSIsInJlcXVpcmVkX2JhZGdlcyI6W10s
|
96
|
+
InBvaW50cyI6MjUsIm9iamVjdCI6ImJhZGdlIiwiaWQiOiJvdXItYmVzdC1m
|
97
|
+
cmllbmQifSx7Im5hbWUiOiJZb3UgVHJpbSBUcmFpbGVkISIsImRlc2NyaXB0
|
98
|
+
aW9uIjoiWW91IHJhbiBvbmUgbGFwIG9mIHRoZSB0cmltIHRyYWlsIiwicmVx
|
99
|
+
dWlyZW1lbnRzIjoiQ29tcGxldGUgb25lIGxhcCBvZiB0aGUgdHJpbSB0cmFp
|
100
|
+
bCIsImhpbnQiOiJIYXZlIHRvIHVzZWQgdGhlIHRyaW0gdHJhaWw/IiwiaW1h
|
101
|
+
Z2UiOiJodHRwOi8vZ2FtaWZpY2F0aW9uLWFwaS5kZXYvYmFkZ2VfaW1hZ2Vz
|
102
|
+
L3lvdS10cmltLXRyYWlsZWQvYmFkZ2UucG5nIiwiY29sbGVjdGlvbl9pZCI6
|
103
|
+
InRyaW0tdHJhaWwiLCJjcmVhdGVkX2F0IjoiMjAxNS0wOS0wM1QxMDo1MTow
|
104
|
+
OC4wNzdaIiwidXBkYXRlZF9hdCI6IjIwMTUtMDktMDNUMTA6NTE6MDguMDc3
|
105
|
+
WiIsImxldmVsIjoiYnJvbnplIiwiYXV0b19pc3N1ZSI6ZmFsc2UsInN0YXR1
|
106
|
+
cyI6ImxpdmUiLCJyZXF1aXJlZF9iYWRnZXMiOltdLCJwb2ludHMiOjI1LCJv
|
107
|
+
YmplY3QiOiJiYWRnZSIsImlkIjoieW91LXRyaW0tdHJhaWxlZCJ9LHsibmFt
|
108
|
+
ZSI6Ik1hcmF0aG9uIE1hbiIsImRlc2NyaXB0aW9uIjoiWW91IGhhdmUgcnVu
|
109
|
+
IDEwIGxhcHMgb2YgdGhlIHRyaXBzIHRyYWlsIHRoYXQgaXMgNDcga2lsb21l
|
110
|
+
dGVycyIsInJlcXVpcmVtZW50cyI6IkNvbXBsZXRlIDEwIGxhcHMgb2YgdGhl
|
111
|
+
IHRyaW0gdHJhaWwgb3ZlciBhbnkgdGltZSIsImhpbnQiOiJLZWVwIGdvaW5n
|
112
|
+
Li4uIiwiaW1hZ2UiOiJodHRwOi8vZ2FtaWZpY2F0aW9uLWFwaS5kZXYvYmFk
|
113
|
+
Z2VfaW1hZ2VzL21hcmF0aG9uLW1hbi9iYWRnZS5wbmciLCJjb2xsZWN0aW9u
|
114
|
+
X2lkIjoidHJpbS10cmFpbCIsImNyZWF0ZWRfYXQiOiIyMDE1LTA5LTAzVDEw
|
115
|
+
OjUxOjA4LjE1MFoiLCJ1cGRhdGVkX2F0IjoiMjAxNS0wOS0wM1QxMDo1MTow
|
116
|
+
OC4xNTBaIiwibGV2ZWwiOiJnb2xkIiwiYXV0b19pc3N1ZSI6ZmFsc2UsInN0
|
117
|
+
YXR1cyI6ImxpdmUiLCJyZXF1aXJlZF9iYWRnZXMiOltdLCJwb2ludHMiOjc1
|
118
|
+
LCJvYmplY3QiOiJiYWRnZSIsImlkIjoibWFyYXRob24tbWFuIn1d
|
119
|
+
http_version:
|
120
|
+
recorded_at: Thu, 03 Sep 2015 10:55:57 GMT
|
121
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,138 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://gamification-api.dev/v1/badges?user=t.skarbek-wazynski
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.1
|
12
|
+
Authorization:
|
13
|
+
- Token token="c9cde524238644fa93393159e5e9ad87"
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
Accept:
|
17
|
+
- "*/*"
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 404
|
21
|
+
message: Not Found
|
22
|
+
headers:
|
23
|
+
X-Frame-Options:
|
24
|
+
- SAMEORIGIN
|
25
|
+
X-Xss-Protection:
|
26
|
+
- 1; mode=block
|
27
|
+
X-Content-Type-Options:
|
28
|
+
- nosniff
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
Cache-Control:
|
32
|
+
- no-cache
|
33
|
+
X-Request-Id:
|
34
|
+
- db1f2728-a172-467b-8339-16cb17a2ec11
|
35
|
+
X-Runtime:
|
36
|
+
- '0.015889'
|
37
|
+
Date:
|
38
|
+
- Thu, 03 Sep 2015 10:55:56 GMT
|
39
|
+
Connection:
|
40
|
+
- close
|
41
|
+
body:
|
42
|
+
encoding: UTF-8
|
43
|
+
string: '{"error":{"type":"invalid_request_error","message":"Unable to find
|
44
|
+
user with specified data t.skarbek-wazynski. Recipient data must be a university
|
45
|
+
email address, university card number or username.","status":404}}'
|
46
|
+
http_version:
|
47
|
+
recorded_at: Thu, 03 Sep 2015 10:55:56 GMT
|
48
|
+
- request:
|
49
|
+
method: get
|
50
|
+
uri: http://gamification-api.dev/v1/badges?user=t.skarbek-wazynsky@lancaster.ac.uk
|
51
|
+
body:
|
52
|
+
encoding: US-ASCII
|
53
|
+
string: ''
|
54
|
+
headers:
|
55
|
+
User-Agent:
|
56
|
+
- Faraday v0.9.1
|
57
|
+
Authorization:
|
58
|
+
- Token token="c9cde524238644fa93393159e5e9ad87"
|
59
|
+
Accept-Encoding:
|
60
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
61
|
+
Accept:
|
62
|
+
- "*/*"
|
63
|
+
response:
|
64
|
+
status:
|
65
|
+
code: 404
|
66
|
+
message: Not Found
|
67
|
+
headers:
|
68
|
+
X-Frame-Options:
|
69
|
+
- SAMEORIGIN
|
70
|
+
X-Xss-Protection:
|
71
|
+
- 1; mode=block
|
72
|
+
X-Content-Type-Options:
|
73
|
+
- nosniff
|
74
|
+
Content-Type:
|
75
|
+
- application/json; charset=utf-8
|
76
|
+
Cache-Control:
|
77
|
+
- no-cache
|
78
|
+
X-Request-Id:
|
79
|
+
- 74d8df1b-c7aa-43f6-b7d5-812ab3bc175d
|
80
|
+
X-Runtime:
|
81
|
+
- '0.018328'
|
82
|
+
Date:
|
83
|
+
- Thu, 03 Sep 2015 10:55:56 GMT
|
84
|
+
Connection:
|
85
|
+
- close
|
86
|
+
body:
|
87
|
+
encoding: UTF-8
|
88
|
+
string: '{"error":{"type":"invalid_request_error","message":"Unable to find
|
89
|
+
user with specified data t.skarbek-wazynsky@lancaster.ac.uk. Recipient data
|
90
|
+
must be a university email address, university card number or username.","status":404}}'
|
91
|
+
http_version:
|
92
|
+
recorded_at: Thu, 03 Sep 2015 10:55:56 GMT
|
93
|
+
- request:
|
94
|
+
method: get
|
95
|
+
uri: http://gamification-api.dev/v1/badges?user=081897144451
|
96
|
+
body:
|
97
|
+
encoding: US-ASCII
|
98
|
+
string: ''
|
99
|
+
headers:
|
100
|
+
User-Agent:
|
101
|
+
- Faraday v0.9.1
|
102
|
+
Authorization:
|
103
|
+
- Token token="c9cde524238644fa93393159e5e9ad87"
|
104
|
+
Accept-Encoding:
|
105
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
106
|
+
Accept:
|
107
|
+
- "*/*"
|
108
|
+
response:
|
109
|
+
status:
|
110
|
+
code: 404
|
111
|
+
message: Not Found
|
112
|
+
headers:
|
113
|
+
X-Frame-Options:
|
114
|
+
- SAMEORIGIN
|
115
|
+
X-Xss-Protection:
|
116
|
+
- 1; mode=block
|
117
|
+
X-Content-Type-Options:
|
118
|
+
- nosniff
|
119
|
+
Content-Type:
|
120
|
+
- application/json; charset=utf-8
|
121
|
+
Cache-Control:
|
122
|
+
- no-cache
|
123
|
+
X-Request-Id:
|
124
|
+
- 11d59226-2cfe-4384-9e34-d9c2e29b9b57
|
125
|
+
X-Runtime:
|
126
|
+
- '0.981996'
|
127
|
+
Date:
|
128
|
+
- Thu, 03 Sep 2015 10:55:57 GMT
|
129
|
+
Connection:
|
130
|
+
- close
|
131
|
+
body:
|
132
|
+
encoding: UTF-8
|
133
|
+
string: '{"error":{"type":"invalid_request_error","message":"Unable to find
|
134
|
+
user with specified data 081897144451. Recipient data must be a university
|
135
|
+
email address, university card number or username.","status":404}}'
|
136
|
+
http_version:
|
137
|
+
recorded_at: Thu, 03 Sep 2015 10:55:57 GMT
|
138
|
+
recorded_with: VCR 2.9.3
|