gisty 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +3 -8
- data/Rakefile +3 -26
- data/bin/gisty +2 -2
- data/lib/gisty.rb +79 -119
- data/test/fixtures/gists_1 +877 -0
- data/test/fixtures/gists_2 +863 -0
- data/test/fixtures/gists_3 +346 -0
- data/test/fixtures/gists_post +65 -0
- data/test/gisty_test.rb +123 -115
- metadata +12 -45
- data/test/fixtures/24835 +0 -241
- data/test/fixtures/30119 +0 -376
- data/test/fixtures/mine_login_foo_token_bar +0 -494
- data/test/fixtures/mine_page_1_login_foo_token_bar +0 -518
- data/test/fixtures/mine_page_2_login_foo_token_bar +0 -511
- data/test/fixtures/mine_page_3_login_foo_token_bar +0 -190
- data/test/fixtures/swdyh +0 -302
- data/test/fixtures/swdyh_page_4 +0 -178
@@ -0,0 +1,346 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: nginx/1.0.13
|
3
|
+
Date: Wed, 21 Mar 2012 12:26:39 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Connection: keep-alive
|
6
|
+
Status: 200 OK
|
7
|
+
Content-Length: 12018
|
8
|
+
X-RateLimit-Limit: 5000
|
9
|
+
X-RateLimit-Remaining: 4990
|
10
|
+
ETag: "c63e34280b5765df053e029d4ad6865a"
|
11
|
+
Link: <https://api.github.com/gists?access_token=testaccesstoken&page=1>; rel="first", <https://api.github.com/gists?access_token=testaccesstoken&page=2>; rel="prev"
|
12
|
+
X-OAuth-Scopes: gist
|
13
|
+
X-Accepted-OAuth-Scopes: gist
|
14
|
+
|
15
|
+
[
|
16
|
+
{
|
17
|
+
"description": null,
|
18
|
+
"updated_at": "2009-10-14T15:33:24Z",
|
19
|
+
"git_pull_url": "git://gist.github.com/20059.git",
|
20
|
+
"comments": 0,
|
21
|
+
"files": {
|
22
|
+
"gistfile1.txt": {
|
23
|
+
"type": "text/plain",
|
24
|
+
"filename": "gistfile1.txt",
|
25
|
+
"raw_url": "https://gist.github.com/raw/20059/eab290cab6038dc3b1e6cbbc240dd657b3aad71f/gistfile1.txt",
|
26
|
+
"size": 1512,
|
27
|
+
"language": "Text"
|
28
|
+
}
|
29
|
+
},
|
30
|
+
"public": true,
|
31
|
+
"git_push_url": "git@gist.github.com:20059.git",
|
32
|
+
"created_at": "2008-10-27T09:05:04Z",
|
33
|
+
"id": "20059",
|
34
|
+
"url": "https://api.github.com/gists/20059",
|
35
|
+
"user": {
|
36
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
37
|
+
"login": "swdyh",
|
38
|
+
"url": "https://api.github.com/users/swdyh",
|
39
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
40
|
+
"id": 9168
|
41
|
+
},
|
42
|
+
"html_url": "https://gist.github.com/20059"
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"description": null,
|
46
|
+
"updated_at": "2009-10-14T15:33:24Z",
|
47
|
+
"git_pull_url": "git://gist.github.com/19595.git",
|
48
|
+
"comments": 0,
|
49
|
+
"files": {
|
50
|
+
"gistfile1": {
|
51
|
+
"type": "text/plain",
|
52
|
+
"filename": "gistfile1",
|
53
|
+
"raw_url": "https://gist.github.com/raw/19595/7ad6c99c58f315de4007fb11d778d69116cb5ef9/gistfile1",
|
54
|
+
"size": 13,
|
55
|
+
"language": null
|
56
|
+
}
|
57
|
+
},
|
58
|
+
"public": true,
|
59
|
+
"git_push_url": "git@gist.github.com:19595.git",
|
60
|
+
"created_at": "2008-10-24T21:25:30Z",
|
61
|
+
"id": "19595",
|
62
|
+
"url": "https://api.github.com/gists/19595",
|
63
|
+
"user": {
|
64
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
65
|
+
"login": "swdyh",
|
66
|
+
"url": "https://api.github.com/users/swdyh",
|
67
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
68
|
+
"id": 9168
|
69
|
+
},
|
70
|
+
"html_url": "https://gist.github.com/19595"
|
71
|
+
},
|
72
|
+
{
|
73
|
+
"description": null,
|
74
|
+
"updated_at": "2009-10-14T15:33:24Z",
|
75
|
+
"git_pull_url": "git://gist.github.com/19584.git",
|
76
|
+
"comments": 0,
|
77
|
+
"files": {
|
78
|
+
"gistfile1": {
|
79
|
+
"type": "text/plain",
|
80
|
+
"filename": "gistfile1",
|
81
|
+
"raw_url": "https://gist.github.com/raw/19584/9daeafb9864cf43055ae93beb0afd6c7d144bfa4/gistfile1",
|
82
|
+
"size": 5,
|
83
|
+
"language": null
|
84
|
+
}
|
85
|
+
},
|
86
|
+
"public": true,
|
87
|
+
"git_push_url": "git@gist.github.com:19584.git",
|
88
|
+
"created_at": "2008-10-24T21:14:40Z",
|
89
|
+
"id": "19584",
|
90
|
+
"url": "https://api.github.com/gists/19584",
|
91
|
+
"user": {
|
92
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
93
|
+
"login": "swdyh",
|
94
|
+
"url": "https://api.github.com/users/swdyh",
|
95
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
96
|
+
"id": 9168
|
97
|
+
},
|
98
|
+
"html_url": "https://gist.github.com/19584"
|
99
|
+
},
|
100
|
+
{
|
101
|
+
"description": null,
|
102
|
+
"updated_at": "2009-10-14T15:33:24Z",
|
103
|
+
"git_pull_url": "git://gist.github.com/17797.git",
|
104
|
+
"comments": 0,
|
105
|
+
"files": {
|
106
|
+
"bccks nodokeshi": {
|
107
|
+
"type": "text/plain",
|
108
|
+
"filename": "bccks nodokeshi",
|
109
|
+
"raw_url": "https://gist.github.com/raw/17797/813610f26c89313ac1a1946b794e8f7b153e0988/bccks nodokeshi",
|
110
|
+
"size": 126,
|
111
|
+
"language": null
|
112
|
+
}
|
113
|
+
},
|
114
|
+
"public": true,
|
115
|
+
"git_push_url": "git@gist.github.com:17797.git",
|
116
|
+
"created_at": "2008-10-19T08:25:21Z",
|
117
|
+
"id": "17797",
|
118
|
+
"url": "https://api.github.com/gists/17797",
|
119
|
+
"user": {
|
120
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
121
|
+
"login": "swdyh",
|
122
|
+
"url": "https://api.github.com/users/swdyh",
|
123
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
124
|
+
"id": 9168
|
125
|
+
},
|
126
|
+
"html_url": "https://gist.github.com/17797"
|
127
|
+
},
|
128
|
+
{
|
129
|
+
"description": null,
|
130
|
+
"updated_at": "2009-10-14T11:58:07Z",
|
131
|
+
"git_pull_url": "git://gist.github.com/13833.git",
|
132
|
+
"comments": 0,
|
133
|
+
"files": {
|
134
|
+
"ldr_-_twittericon.user.js": {
|
135
|
+
"type": "application/javascript",
|
136
|
+
"filename": "ldr_-_twittericon.user.js",
|
137
|
+
"raw_url": "https://gist.github.com/raw/13833/5effcc65f1447b3d765adba3e86f6456d9a5883f/ldr_-_twittericon.user.js",
|
138
|
+
"size": 1623,
|
139
|
+
"language": "JavaScript"
|
140
|
+
}
|
141
|
+
},
|
142
|
+
"public": true,
|
143
|
+
"git_push_url": "git@gist.github.com:13833.git",
|
144
|
+
"created_at": "2008-09-30T14:35:57Z",
|
145
|
+
"id": "13833",
|
146
|
+
"url": "https://api.github.com/gists/13833",
|
147
|
+
"user": {
|
148
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
149
|
+
"login": "swdyh",
|
150
|
+
"url": "https://api.github.com/users/swdyh",
|
151
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
152
|
+
"id": 9168
|
153
|
+
},
|
154
|
+
"html_url": "https://gist.github.com/13833"
|
155
|
+
},
|
156
|
+
{
|
157
|
+
"description": null,
|
158
|
+
"updated_at": "2009-10-14T11:51:22Z",
|
159
|
+
"git_pull_url": "git://gist.github.com/11863.git",
|
160
|
+
"comments": 0,
|
161
|
+
"files": {
|
162
|
+
"fashionsnap_enlarge_images.user.js": {
|
163
|
+
"type": "application/javascript",
|
164
|
+
"filename": "fashionsnap_enlarge_images.user.js",
|
165
|
+
"raw_url": "https://gist.github.com/raw/11863/1d1e6e3a4dc70c1a24b07a80265f908262854a88/fashionsnap_enlarge_images.user.js",
|
166
|
+
"size": 425,
|
167
|
+
"language": "JavaScript"
|
168
|
+
}
|
169
|
+
},
|
170
|
+
"public": true,
|
171
|
+
"git_push_url": "git@gist.github.com:11863.git",
|
172
|
+
"created_at": "2008-09-21T11:58:31Z",
|
173
|
+
"id": "11863",
|
174
|
+
"url": "https://api.github.com/gists/11863",
|
175
|
+
"user": {
|
176
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
177
|
+
"login": "swdyh",
|
178
|
+
"url": "https://api.github.com/users/swdyh",
|
179
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
180
|
+
"id": 9168
|
181
|
+
},
|
182
|
+
"html_url": "https://gist.github.com/11863"
|
183
|
+
},
|
184
|
+
{
|
185
|
+
"description": null,
|
186
|
+
"updated_at": "2009-10-14T11:49:56Z",
|
187
|
+
"git_pull_url": "git://gist.github.com/11423.git",
|
188
|
+
"comments": 0,
|
189
|
+
"files": {
|
190
|
+
"hatenakeyword.user.css": {
|
191
|
+
"type": "text/css",
|
192
|
+
"filename": "hatenakeyword.user.css",
|
193
|
+
"raw_url": "https://gist.github.com/raw/11423/993d64cbd54dd1b42cb5c4ddec5834a215643b13/hatenakeyword.user.css",
|
194
|
+
"size": 201,
|
195
|
+
"language": "CSS"
|
196
|
+
}
|
197
|
+
},
|
198
|
+
"public": true,
|
199
|
+
"git_push_url": "git@gist.github.com:11423.git",
|
200
|
+
"created_at": "2008-09-18T11:36:58Z",
|
201
|
+
"id": "11423",
|
202
|
+
"url": "https://api.github.com/gists/11423",
|
203
|
+
"user": {
|
204
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
205
|
+
"login": "swdyh",
|
206
|
+
"url": "https://api.github.com/users/swdyh",
|
207
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
208
|
+
"id": 9168
|
209
|
+
},
|
210
|
+
"html_url": "https://gist.github.com/11423"
|
211
|
+
},
|
212
|
+
{
|
213
|
+
"description": null,
|
214
|
+
"updated_at": "2009-10-14T11:49:03Z",
|
215
|
+
"git_pull_url": "git://gist.github.com/11198.git",
|
216
|
+
"comments": 0,
|
217
|
+
"files": {
|
218
|
+
"userstyle for twitter home": {
|
219
|
+
"type": "text/plain",
|
220
|
+
"filename": "userstyle for twitter home",
|
221
|
+
"raw_url": "https://gist.github.com/raw/11198/8865c4e11bb72a26db7d0e9e250dff22a0e6341c/userstyle for twitter home",
|
222
|
+
"size": 547,
|
223
|
+
"language": null
|
224
|
+
}
|
225
|
+
},
|
226
|
+
"public": true,
|
227
|
+
"git_push_url": "git@gist.github.com:11198.git",
|
228
|
+
"created_at": "2008-09-17T05:30:37Z",
|
229
|
+
"id": "11198",
|
230
|
+
"url": "https://api.github.com/gists/11198",
|
231
|
+
"user": {
|
232
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
233
|
+
"login": "swdyh",
|
234
|
+
"url": "https://api.github.com/users/swdyh",
|
235
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
236
|
+
"id": 9168
|
237
|
+
},
|
238
|
+
"html_url": "https://gist.github.com/11198"
|
239
|
+
},
|
240
|
+
{
|
241
|
+
"description": null,
|
242
|
+
"updated_at": "2009-10-14T11:35:00Z",
|
243
|
+
"git_pull_url": "git://gist.github.com/7205.git",
|
244
|
+
"comments": 0,
|
245
|
+
"files": {
|
246
|
+
"Github-shirts": {
|
247
|
+
"type": "text/plain",
|
248
|
+
"filename": "Github-shirts",
|
249
|
+
"raw_url": "https://gist.github.com/raw/7205/1f5044db67b66867bb7ec08e28adc77bb19892a4/Github-shirts",
|
250
|
+
"size": 300,
|
251
|
+
"language": null
|
252
|
+
}
|
253
|
+
},
|
254
|
+
"public": true,
|
255
|
+
"git_push_url": "git@gist.github.com:7205.git",
|
256
|
+
"created_at": "2008-08-26T04:02:27Z",
|
257
|
+
"id": "7205",
|
258
|
+
"url": "https://api.github.com/gists/7205",
|
259
|
+
"user": {
|
260
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
261
|
+
"login": "swdyh",
|
262
|
+
"url": "https://api.github.com/users/swdyh",
|
263
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
264
|
+
"id": 9168
|
265
|
+
},
|
266
|
+
"html_url": "https://gist.github.com/7205"
|
267
|
+
},
|
268
|
+
{
|
269
|
+
"description": null,
|
270
|
+
"updated_at": "2009-10-14T11:35:00Z",
|
271
|
+
"git_pull_url": "git://gist.github.com/7204.git",
|
272
|
+
"comments": 0,
|
273
|
+
"files": {
|
274
|
+
|
275
|
+
},
|
276
|
+
"public": true,
|
277
|
+
"git_push_url": "git@gist.github.com:7204.git",
|
278
|
+
"created_at": "2008-08-26T04:01:28Z",
|
279
|
+
"id": "7204",
|
280
|
+
"url": "https://api.github.com/gists/7204",
|
281
|
+
"user": {
|
282
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
283
|
+
"login": "swdyh",
|
284
|
+
"url": "https://api.github.com/users/swdyh",
|
285
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
286
|
+
"id": 9168
|
287
|
+
},
|
288
|
+
"html_url": "https://gist.github.com/7204"
|
289
|
+
},
|
290
|
+
{
|
291
|
+
"description": null,
|
292
|
+
"updated_at": "2009-10-14T11:33:59Z",
|
293
|
+
"git_pull_url": "git://gist.github.com/6938.git",
|
294
|
+
"comments": 0,
|
295
|
+
"files": {
|
296
|
+
"lightbox.js": {
|
297
|
+
"type": "application/javascript",
|
298
|
+
"filename": "lightbox.js",
|
299
|
+
"raw_url": "https://gist.github.com/raw/6938/8b14e431656c3e47f81da8426c2df42378b563da/lightbox.js",
|
300
|
+
"size": 222,
|
301
|
+
"language": "JavaScript"
|
302
|
+
}
|
303
|
+
},
|
304
|
+
"public": true,
|
305
|
+
"git_push_url": "git@gist.github.com:6938.git",
|
306
|
+
"created_at": "2008-08-23T20:21:34Z",
|
307
|
+
"id": "6938",
|
308
|
+
"url": "https://api.github.com/gists/6938",
|
309
|
+
"user": {
|
310
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
311
|
+
"login": "swdyh",
|
312
|
+
"url": "https://api.github.com/users/swdyh",
|
313
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
314
|
+
"id": 9168
|
315
|
+
},
|
316
|
+
"html_url": "https://gist.github.com/6938"
|
317
|
+
},
|
318
|
+
{
|
319
|
+
"description": null,
|
320
|
+
"updated_at": "2009-10-14T11:21:36Z",
|
321
|
+
"git_pull_url": "git://gist.github.com/3668.git",
|
322
|
+
"comments": 0,
|
323
|
+
"files": {
|
324
|
+
"hhcode.js": {
|
325
|
+
"type": "application/javascript",
|
326
|
+
"filename": "hhcode.js",
|
327
|
+
"raw_url": "https://gist.github.com/raw/3668/ff1f59509325dc3c548796b9812a8b004cb90eaf/hhcode.js",
|
328
|
+
"size": 4838,
|
329
|
+
"language": "JavaScript"
|
330
|
+
}
|
331
|
+
},
|
332
|
+
"public": true,
|
333
|
+
"git_push_url": "git@gist.github.com:3668.git",
|
334
|
+
"created_at": "2008-08-01T19:15:00Z",
|
335
|
+
"id": "3668",
|
336
|
+
"url": "https://api.github.com/gists/3668",
|
337
|
+
"user": {
|
338
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
339
|
+
"login": "swdyh",
|
340
|
+
"url": "https://api.github.com/users/swdyh",
|
341
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
342
|
+
"id": 9168
|
343
|
+
},
|
344
|
+
"html_url": "https://gist.github.com/3668"
|
345
|
+
}
|
346
|
+
]
|
@@ -0,0 +1,65 @@
|
|
1
|
+
HTTP/1.1 201 Created
|
2
|
+
Server: nginx/1.0.13
|
3
|
+
Date: Sat, 24 Mar 2012 10:33:15 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Connection: keep-alive
|
6
|
+
Status: 201 Created
|
7
|
+
X-RateLimit-Limit: 5000
|
8
|
+
ETag: "b8da3ff7db37259729d0351331372051"
|
9
|
+
Location: https://api.github.com/gists/2180935
|
10
|
+
X-OAuth-Scopes: gist
|
11
|
+
X-RateLimit-Remaining: 4999
|
12
|
+
X-Accepted-OAuth-Scopes: gist
|
13
|
+
Content-Length: 1732
|
14
|
+
|
15
|
+
{
|
16
|
+
"history": [
|
17
|
+
{
|
18
|
+
"url": "https://api.github.com/gists/2180935/cea881b482d60f5141a4ab088cb0dbdee5567461",
|
19
|
+
"user": {
|
20
|
+
"url": "https://api.github.com/users/swdyh",
|
21
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
22
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
23
|
+
"id": 9168,
|
24
|
+
"login": "swdyh"
|
25
|
+
},
|
26
|
+
"version": "cea881b482d60f5141a4ab088cb0dbdee5567461",
|
27
|
+
"change_status": {
|
28
|
+
"deletions": 0,
|
29
|
+
"additions": 1,
|
30
|
+
"total": 1
|
31
|
+
},
|
32
|
+
"committed_at": "2012-03-24T10:33:15Z"
|
33
|
+
}
|
34
|
+
],
|
35
|
+
"git_push_url": "git@gist.github.com:2180935.git",
|
36
|
+
"comments": 0,
|
37
|
+
"updated_at": "2012-03-24T10:33:15Z",
|
38
|
+
"url": "https://api.github.com/gists/2180935",
|
39
|
+
"user": {
|
40
|
+
"url": "https://api.github.com/users/swdyh",
|
41
|
+
"avatar_url": "https://secure.gravatar.com/avatar/465e43442fc3604b4a7ad9c55bc52066?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
|
42
|
+
"gravatar_id": "465e43442fc3604b4a7ad9c55bc52066",
|
43
|
+
"id": 9168,
|
44
|
+
"login": "swdyh"
|
45
|
+
},
|
46
|
+
"public": true,
|
47
|
+
"forks": [
|
48
|
+
|
49
|
+
],
|
50
|
+
"created_at": "2012-03-24T10:33:15Z",
|
51
|
+
"description": "the description for this gist",
|
52
|
+
"files": {
|
53
|
+
"file1.txt": {
|
54
|
+
"type": "text/plain",
|
55
|
+
"raw_url": "https://gist.github.com/raw/2180935/b087a4c57f47ffad4025004869d7366ddc82d0d1/file1.txt",
|
56
|
+
"language": "Text",
|
57
|
+
"size": 20,
|
58
|
+
"filename": "file1.txt",
|
59
|
+
"content": "String file contents"
|
60
|
+
}
|
61
|
+
},
|
62
|
+
"git_pull_url": "git://gist.github.com/2180935.git",
|
63
|
+
"id": "2180935",
|
64
|
+
"html_url": "https://gist.github.com/2180935"
|
65
|
+
}
|
data/test/gisty_test.rb
CHANGED
@@ -1,15 +1,50 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
-
require
|
2
|
+
require 'test/unit'
|
3
3
|
require 'pp'
|
4
4
|
require 'rr'
|
5
|
+
require 'fakeweb'
|
6
|
+
|
7
|
+
fixtures_path = Pathname.new(File.dirname(__FILE__)).join('fixtures').realpath
|
8
|
+
FakeWeb.allow_net_connect = false
|
9
|
+
stubs = [
|
10
|
+
[
|
11
|
+
:get,
|
12
|
+
'https://api.github.com/gists?access_token=testaccesstoken',
|
13
|
+
'gists_1'
|
14
|
+
],
|
15
|
+
[
|
16
|
+
:get,
|
17
|
+
'https://api.github.com/gists?access_token=testaccesstoken&page=2',
|
18
|
+
'gists_2'
|
19
|
+
],
|
20
|
+
[
|
21
|
+
:get,
|
22
|
+
'https://api.github.com/gists?access_token=testaccesstoken&page=3',
|
23
|
+
'gists_3'
|
24
|
+
],
|
25
|
+
[
|
26
|
+
:post,
|
27
|
+
'https://api.github.com/gists?access_token=testaccesstoken',
|
28
|
+
'gists_post'
|
29
|
+
]
|
30
|
+
]
|
31
|
+
stubs.each do |stub|
|
32
|
+
head, body = IO.read(fixtures_path.join stub[2]).split("\r\n\r\n")
|
33
|
+
h = head.split("\r\n").slice(1..-1).inject({}) { |r, i|
|
34
|
+
tmp = i.split(':')
|
35
|
+
r[tmp[0]] = tmp.slice(1..-1).join(':')
|
36
|
+
r
|
37
|
+
}
|
38
|
+
h[:body] = body
|
39
|
+
FakeWeb.register_uri(stub[0], stub[1], h)
|
40
|
+
end
|
5
41
|
|
6
42
|
class GistyTest < Test::Unit::TestCase
|
7
43
|
include RR::Adapters::TestUnit
|
8
44
|
|
9
45
|
def setup
|
10
|
-
@gisty_dir = Pathname.new(
|
11
|
-
@gisty = Gisty.new @gisty_dir,
|
12
|
-
stub_open_uri!
|
46
|
+
@gisty_dir = Pathname.new(File.dirname(__FILE__)).join('tmp')
|
47
|
+
@gisty = Gisty.new @gisty_dir, :access_token => 'testaccesstoken'
|
13
48
|
stub_kernel_system!
|
14
49
|
end
|
15
50
|
|
@@ -17,19 +52,6 @@ class GistyTest < Test::Unit::TestCase
|
|
17
52
|
FileUtils.rm_rf @gisty_dir
|
18
53
|
end
|
19
54
|
|
20
|
-
def stub_open_uri!
|
21
|
-
stub(OpenURI).open_uri do |uri|
|
22
|
-
path = url2fixture uri
|
23
|
-
# puts "stub open_uri: #{uri} -> #{path}"
|
24
|
-
open url2fixture(uri)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def url2fixture url
|
29
|
-
filename = url.to_s.split('/').last.gsub(/[&?=]/, '_')
|
30
|
-
File.join File.dirname(__FILE__), 'fixtures', filename
|
31
|
-
end
|
32
|
-
|
33
55
|
def stub_kernel_system!
|
34
56
|
stub(Kernel).system do |cmd|
|
35
57
|
# puts "* '#{cmd}' *"
|
@@ -43,73 +65,46 @@ class GistyTest < Test::Unit::TestCase
|
|
43
65
|
end
|
44
66
|
end
|
45
67
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
# end
|
50
|
-
# end
|
51
|
-
|
52
|
-
def test_extract_ids
|
53
|
-
path = File.join 'test', 'fixtures', 'swdyh_page_4'
|
54
|
-
ids = Gisty.extract_ids IO.read(path)
|
55
|
-
assert ids.include?("6938")
|
56
|
-
assert ids.include?("3668")
|
68
|
+
def test_unset_access_token
|
69
|
+
assert_raise(Gisty::UnsetAuthInfoException) { Gisty.new @gisty_dir }
|
70
|
+
assert_raise(Gisty::UnsetAuthInfoException) { Gisty.new @gisty_dir, :access_token => '' }
|
57
71
|
end
|
58
72
|
|
59
|
-
def
|
60
|
-
|
61
|
-
assert_equal
|
62
|
-
|
63
|
-
|
73
|
+
def test_mygists
|
74
|
+
myg = @gisty.mygists
|
75
|
+
assert_equal 30, myg[:content].size
|
76
|
+
assert_not_nil myg[:link][:next]
|
77
|
+
assert_not_nil myg[:link][:last]
|
64
78
|
|
65
|
-
|
66
|
-
|
79
|
+
myg2 = @gisty.mygists :url => myg[:link][:next]
|
80
|
+
assert_equal 30, myg2[:content].size
|
81
|
+
assert_not_nil myg2[:link][:prev]
|
82
|
+
assert_not_nil myg2[:link][:next]
|
83
|
+
assert_not_nil myg2[:link][:last]
|
67
84
|
end
|
68
85
|
|
69
|
-
def test_next_link
|
70
|
-
path1 = url2fixture('http://gist.github.com/mine?page=1&login=foo&token=bar')
|
71
|
-
path2 = url2fixture('http://gist.github.com/mine?page=2&login=foo&token=bar')
|
72
|
-
path3 = url2fixture('http://gist.github.com/mine?page=3&login=foo&token=bar')
|
73
|
-
assert_equal '/mine?page=2', @gisty.next_link(IO.read(path1))
|
74
|
-
assert_equal '/mine?page=3', @gisty.next_link(IO.read(path2))
|
75
|
-
assert_nil @gisty.next_link(IO.read(path3))
|
76
|
-
end
|
77
86
|
|
78
|
-
def
|
79
|
-
|
80
|
-
assert url.match(/page=\d/)
|
81
|
-
end
|
82
|
-
assert_equal 3, mapped.size
|
87
|
+
def test_all_mygists
|
88
|
+
assert_equal 72, @gisty.all_mygists.size
|
83
89
|
end
|
84
90
|
|
85
|
-
def
|
86
|
-
|
87
|
-
# assert_equal 20, ids.size
|
88
|
-
# assert ids.include?('7205')
|
89
|
-
# assert ids.include?('bc82698ab357bd8bb433')
|
90
|
-
end
|
91
|
-
|
92
|
-
def test_clone
|
93
|
-
id = @gisty.remote_ids.first
|
94
|
-
pn = @gisty_dir.join id
|
95
|
-
@gisty.clone id
|
91
|
+
def test_all_mygists_with_block
|
92
|
+
@gisty.all_mygists { |gist| assert_not_nil gist['id'] }
|
96
93
|
end
|
97
94
|
|
98
95
|
def test_list
|
99
|
-
|
100
|
-
@
|
101
|
-
@
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
end
|
96
|
+
FileUtils.mkdir_p @gisty_dir.join('111')
|
97
|
+
open(@gisty_dir.join('111').join('test.txt'), 'w') { |f| f.puts 'test' }
|
98
|
+
FileUtils.mkdir_p @gisty_dir.join('aaa')
|
99
|
+
open(@gisty_dir.join('aaa').join('test.txt'), 'w') { |f| f.puts 'test' }
|
100
|
+
FileUtils.mkdir_p @gisty_dir.join('commands')
|
101
|
+
open(@gisty_dir.join('commands').join('test.rb'), 'w') { |f| f.puts '#test' }
|
106
102
|
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
@gisty.
|
112
|
-
assert !pn.exist?
|
103
|
+
list = @gisty.list
|
104
|
+
assert_equal 1, list[:public].size
|
105
|
+
assert_equal 1, list[:private].size
|
106
|
+
assert_equal 2, @gisty.local_gist_directories.size
|
107
|
+
assert_equal 2, @gisty.local_ids.size
|
113
108
|
end
|
114
109
|
|
115
110
|
def test_sync
|
@@ -119,22 +114,29 @@ class GistyTest < Test::Unit::TestCase
|
|
119
114
|
assert ids.all? { |i| @gisty_dir.join(i).exist? }
|
120
115
|
end
|
121
116
|
|
122
|
-
#
|
123
|
-
#
|
124
|
-
#
|
125
|
-
#
|
126
|
-
#
|
127
|
-
#
|
128
|
-
#
|
129
|
-
#
|
117
|
+
# require stdin input y/n
|
118
|
+
# def test_sync_delete
|
119
|
+
# id = '12345'
|
120
|
+
# assert !@gisty.remote_ids.include?(id)
|
121
|
+
# @gisty.clone id
|
122
|
+
# assert @gisty_dir.join(id).exist?
|
123
|
+
# @gisty.sync true
|
124
|
+
# assert !@gisty_dir.join(id).exist?
|
125
|
+
# end
|
126
|
+
|
127
|
+
def test_delete
|
128
|
+
id = '11111'
|
129
|
+
pn = @gisty_dir.join id
|
130
|
+
@gisty.clone id
|
131
|
+
@gisty.delete id
|
132
|
+
assert !pn.exist?
|
133
|
+
end
|
130
134
|
|
131
135
|
def test_build_params
|
132
136
|
path = File.join('test', 'fixtures', 'foo.user.js')
|
133
137
|
params = @gisty.build_params path
|
134
|
-
|
135
|
-
assert_equal
|
136
|
-
assert_equal 'foo.user.js', params['file_name[gistfile1]']
|
137
|
-
assert_equal "// foo.user.js\n", params['file_contents[gistfile1]']
|
138
|
+
assert_equal 'foo.user.js', params['files'].keys[0]
|
139
|
+
assert_equal "// foo.user.js\n", params['files']['foo.user.js']['content']
|
138
140
|
end
|
139
141
|
|
140
142
|
def test_build_params_multi
|
@@ -142,44 +144,50 @@ class GistyTest < Test::Unit::TestCase
|
|
142
144
|
path2 = File.join('test', 'fixtures', 'bar.user.js')
|
143
145
|
params = @gisty.build_params [path1, path2]
|
144
146
|
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
assert_equal
|
149
|
-
assert_equal
|
150
|
-
assert_equal "// bar.user.js\n", params['file_contents[gistfile2]']
|
147
|
+
assert_not_nil params['files']['foo.user.js']
|
148
|
+
assert_not_nil params['files']['bar.user.js']
|
149
|
+
|
150
|
+
assert_equal "// foo.user.js\n", params['files']['foo.user.js']['content']
|
151
|
+
assert_equal "// bar.user.js\n", params['files']['bar.user.js']['content']
|
151
152
|
end
|
152
153
|
|
153
|
-
def
|
154
|
+
def test_ssl_ca_option_default
|
154
155
|
ca = '/ssl_ca_path/cert.pem'
|
155
|
-
|
156
|
-
assert_nil
|
156
|
+
g = Gisty.new @gisty_dir, :access_token => 'testaccess_token'
|
157
|
+
assert_nil g.instance_eval { @ssl_ca }
|
158
|
+
end
|
157
159
|
|
160
|
+
def test_set_ssl_ca_option
|
158
161
|
ca = '/ssl_ca_path/cert.pem'
|
159
|
-
|
160
|
-
assert_equal ca,
|
162
|
+
g = Gisty.new @gisty_dir, :access_token => 'testaccess_token', :ssl_ca => ca
|
163
|
+
assert_equal ca, g.instance_eval { @ssl_ca }
|
161
164
|
end
|
162
165
|
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
# end
|
166
|
+
def test_ssl_verify_default
|
167
|
+
g = Gisty.new @gisty_dir, :access_token => 'testaccess_token'
|
168
|
+
assert_equal OpenSSL::SSL::VERIFY_PEER, g.instance_eval { @ssl_verify }
|
169
|
+
end
|
168
170
|
|
169
|
-
|
170
|
-
|
171
|
-
# path2 = File.join('test', 'fixtures', 'bar.user.js')
|
172
|
-
# @gisty.create [path1, path2]
|
173
|
-
# end
|
171
|
+
def test_set_ssl_verify_option
|
172
|
+
opt = { :access_token => 'testaccess_token' }
|
174
173
|
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
# end
|
184
|
-
end
|
174
|
+
g = Gisty.new @gisty_dir, opt.merge(:ssl_verify => :none)
|
175
|
+
assert_equal OpenSSL::SSL::VERIFY_NONE, g.instance_eval { @ssl_verify }
|
176
|
+
|
177
|
+
g = Gisty.new @gisty_dir, opt.merge(:ssl_verify => 'NONE')
|
178
|
+
assert_equal OpenSSL::SSL::VERIFY_NONE, g.instance_eval { @ssl_verify }
|
179
|
+
|
180
|
+
g = Gisty.new @gisty_dir, opt.merge(:ssl_verify => 'None')
|
181
|
+
assert_equal OpenSSL::SSL::VERIFY_NONE, g.instance_eval { @ssl_verify }
|
185
182
|
|
183
|
+
g = Gisty.new @gisty_dir, opt.merge(:ssl_verify => OpenSSL::SSL::VERIFY_NONE)
|
184
|
+
assert_equal OpenSSL::SSL::VERIFY_NONE, g.instance_eval { @ssl_verify }
|
185
|
+
end
|
186
|
+
|
187
|
+
def test_create
|
188
|
+
# stub
|
189
|
+
path = File.join('test', 'fixtures', 'foo.user.js')
|
190
|
+
r = @gisty.create path
|
191
|
+
assert_not_nil r
|
192
|
+
end
|
193
|
+
end
|