cloudapp 0.0.7 → 0.0.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.
- data/Gemfile.lock +2 -2
- data/bin/cloudapp +39 -29
- data/cloudapp.gemspec +11 -8
- data/lib/cloudapp/drop.rb +5 -0
- data/lib/cloudapp/drop_presenter.rb +76 -0
- data/lib/cloudapp/drop_service.rb +9 -4
- data/lib/cloudapp.rb +1 -1
- data/spec/cassettes/{CloudApp_DropService/_drops/returns_a_list_of_drops.yml → DropService/list_drops.yml} +30 -40
- data/spec/cassettes/{CloudApp_DropService/_drops/limits_list_to_the_given_number_of_drops.yml → DropService/list_drops_with_limit.yml} +21 -21
- data/spec/cassettes/{CloudApp_DropService/_drops/returns_a_list_of_trashed_drops.yml → DropService/list_trash.yml} +21 -21
- data/spec/cloudapp/drop_presenter_spec.rb +95 -0
- data/spec/cloudapp/drop_service_spec.rb +91 -23
- data/spec/support/vcr.rb +0 -14
- data/spec/support/vcr_rspec.rb +0 -1
- metadata +33 -30
- /data/spec/cassettes/{CloudApp_DropService/_create/creates_a_bookmark.yml → DropService/create_bookmark.yml} +0 -0
- /data/spec/cassettes/{CloudApp_DropService/_create/creates_a_bookmark_with_a_name.yml → DropService/create_bookmark_with_name.yml} +0 -0
- /data/spec/cassettes/{CloudApp_DropService/_create/creates_a_file.yml → DropService/upload_file.yml} +0 -0
@@ -18,18 +18,18 @@ http_interactions:
|
|
18
18
|
Content-Type:
|
19
19
|
- application/json; charset=utf-8
|
20
20
|
Etag:
|
21
|
-
- ! '"
|
21
|
+
- ! '"b8c1ca469c09126f7f9ce69980251653"'
|
22
22
|
Last-Modified:
|
23
|
-
-
|
23
|
+
- Tue, 07 Feb 2012 21:46:35 GMT
|
24
24
|
Server:
|
25
25
|
- thin 1.2.11 codename Bat-Shit Crazy
|
26
26
|
Set-Cookie:
|
27
|
-
- _engine_session=
|
27
|
+
- _engine_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlYTA0MmUzMGVhYjZmYTM2MGRiNGM4YTBjYmQ1ZmI3MzVJIhV1c2VyX2NyZWRlbnRpYWxzBjsARkkiAYAxYTM5Mjg4MzhlZDcwY2UyOGVkYWRkOGE1MDU2NWU1MzFlNzlhOTg4ODQxZmY5NTkxMjAzNWNhYTU1ZmIxZTZhODliMmMzN2VlYzkzMzFmOWE2ZDRjN2Y1ZDM4ZDIwNGE5NjM1ZTI0YTAxNzM1NDNiYThkNDlhNDkxY2M5NDM3MAY7AFRJIhh1c2VyX2NyZWRlbnRpYWxzX2lkBjsARmkDp4EB--7a28f7c0bf35fe1a50bee0ec8bae80823d008ee3;
|
28
28
|
path=/; HttpOnly
|
29
29
|
- user_credentials=1a3928838ed70ce28edadd8a50565e531e79a988841ff95912035caa55fb1e6a89b2c37eec9331f9a6d4c7f5d38d204a9635e24a0173543ba8d49a491cc94370%3A%3A98727;
|
30
|
-
path=/; expires=
|
30
|
+
path=/; expires=Mon, 07-May-2012 21:48:12 GMT
|
31
31
|
X-Runtime:
|
32
|
-
- '0.
|
32
|
+
- '0.087499'
|
33
33
|
X-Ua-Compatible:
|
34
34
|
- IE=Edge,chrome=1
|
35
35
|
Transfer-Encoding:
|
@@ -38,23 +38,23 @@ http_interactions:
|
|
38
38
|
- keep-alive
|
39
39
|
body: ! '[{"created_at":"2012-01-12T20:49:23Z","deleted_at":null,"id":13950097,"item_type":"image","name":"favicon.ico","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/favicon.ico","source":"Mozilla/5.0
|
40
40
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
41
|
-
Safari/535.7","updated_at":"2012-
|
41
|
+
Safari/535.7","updated_at":"2012-02-07T15:34:17Z","view_counter":3,"href":"http://my.cl.ly/items/13950097","url":"http://cl.ly/0P281s1u1J1p47241B3o","content_url":"http://cl.ly/0P281s1u1J1p47241B3o/favicon.ico","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/0P281s1u1J1p47241B3o","subscribed":false,"download_url":"http://api.cld.me/0P281s1u1J1p47241B3o/download/favicon.ico"},{"created_at":"2012-01-12T20:49:13Z","deleted_at":null,"id":13950087,"item_type":"image","name":"\u00f8\u00e6\u00d8\u00fc\u00f6\u00e4\u00df!?&+-.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","source":"Mozilla/5.0
|
42
42
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
43
43
|
Safari/535.7","updated_at":"2012-01-18T23:25:10Z","view_counter":6,"href":"http://my.cl.ly/items/13950087","url":"http://cl.ly/2n3a3S3f0J2w3X453r3L","content_url":"http://cl.ly/2n3a3S3f0J2w3X453r3L/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/2n3a3S3f0J2w3X453r3L","subscribed":false,"download_url":"http://api.cld.me/2n3a3S3f0J2w3X453r3L/download/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg"},{"created_at":"2012-01-12T20:48:03Z","deleted_at":null,"id":13950015,"item_type":"bookmark","name":"The
|
44
44
|
Hitchhiker''s Guide to the Galaxy","private":true,"redirect_url":"http://en.wikipedia.org/wiki/The_Hitchhiker''s_Guide_to_the_Galaxy","remote_url":null,"source":"Mozilla/5.0
|
45
45
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
46
|
-
Safari/535.7","updated_at":"2012-
|
46
|
+
Safari/535.7","updated_at":"2012-02-07T15:34:23Z","view_counter":4,"href":"http://my.cl.ly/items/13950015","url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","content_url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:45:24Z","deleted_at":null,"id":13949886,"item_type":"audio","name":"Epic
|
47
47
|
Sax Guy NES Remix.mp3","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Epic%20Sax%20Guy%20NES%20Remix.mp3","source":"Mozilla/5.0
|
48
48
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
49
49
|
Safari/535.7","updated_at":"2012-01-12T20:45:24Z","view_counter":0,"href":"http://my.cl.ly/items/13949886","url":"http://cl.ly/322M3q1t261o30012s32","content_url":"http://cl.ly/322M3q1t261o30012s32/Epic%20Sax%20Guy%20NES%20Remix.mp3","icon":"http://assets.my.cld.me/images/item-types/audio.png","subscribed":false,"download_url":"http://api.cld.me/322M3q1t261o30012s32/download/Epic%20Sax%20Guy%20NES%20Remix.mp3"},{"created_at":"2012-01-12T20:45:05Z","deleted_at":null,"id":13949869,"item_type":"text","name":"2011-05-03-cloudapp-1.5-released.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/2011-05-03-cloudapp-1.5-released.md","source":"Mozilla/5.0
|
50
50
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
51
|
-
Safari/535.7","updated_at":"2012-02-
|
51
|
+
Safari/535.7","updated_at":"2012-02-07T15:35:28Z","view_counter":4,"href":"http://my.cl.ly/items/13949869","url":"http://cl.ly/0s1o3A46290S1s331G28","content_url":"http://cl.ly/0s1o3A46290S1s331G28/2011-05-03-cloudapp-1.5-released.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/0s1o3A46290S1s331G28/download/2011-05-03-cloudapp-1.5-released.md"},{"created_at":"2012-01-12T20:44:58Z","deleted_at":null,"id":13949858,"item_type":"image","name":"Cover.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Cover.jpeg","source":"Mozilla/5.0
|
52
52
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
53
|
-
Safari/535.7","updated_at":"2012-
|
53
|
+
Safari/535.7","updated_at":"2012-02-07T15:34:41Z","view_counter":1,"href":"http://my.cl.ly/items/13949858","url":"http://cl.ly/1x200A0m3v101d1n2O1u","content_url":"http://cl.ly/1x200A0m3v101d1n2O1u/Cover.jpeg","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/1x200A0m3v101d1n2O1u","subscribed":false,"download_url":"http://api.cld.me/1x200A0m3v101d1n2O1u/download/Cover.jpeg"},{"created_at":"2012-01-12T20:44:54Z","deleted_at":null,"id":13949855,"item_type":"text","name":"Chapter
|
54
54
|
1.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Chapter%201.md","source":"Mozilla/5.0
|
55
55
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
56
|
-
Safari/535.7","updated_at":"2012-02-
|
57
|
-
40","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-
|
56
|
+
Safari/535.7","updated_at":"2012-02-07T15:34:41Z","view_counter":7,"href":"http://my.cl.ly/items/13949855","url":"http://cl.ly/3U3d3w3r0G0T1T1M0d2T","content_url":"http://cl.ly/3U3d3w3r0G0T1T1M0d2T/Chapter%201.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/3U3d3w3r0G0T1T1M0d2T/download/Chapter%201.md"},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949577,"item_type":"bookmark","name":"Link
|
57
|
+
40","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-02-07T15:35:45Z","view_counter":3,"href":"http://my.cl.ly/items/13949577","url":"http://cl.ly/2O2J1h3t0H0v1I1u0t0P","content_url":"http://cl.ly/2O2J1h3t0H0v1I1u0t0P","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949576,"item_type":"bookmark","name":"Link
|
58
58
|
39","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949576","url":"http://cl.ly/2t062C1h393d2L452U2Z","content_url":"http://cl.ly/2t062C1h393d2L452U2Z","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949575,"item_type":"bookmark","name":"Link
|
59
59
|
38","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949575","url":"http://cl.ly/1S131o2v2J3z2r0A0Q0W","content_url":"http://cl.ly/1S131o2v2J3z2r0A0Q0W","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949574,"item_type":"bookmark","name":"Link
|
60
60
|
37","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949574","url":"http://cl.ly/423a3W361X1l1i2w0q30","content_url":"http://cl.ly/423a3W361X1l1i2w0q30","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949573,"item_type":"bookmark","name":"Link
|
@@ -68,7 +68,7 @@ http_interactions:
|
|
68
68
|
29","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949565","url":"http://cl.ly/3B1V3H0c0c3s3O2u1Q0c","content_url":"http://cl.ly/3B1V3H0c0c3s3O2u1Q0c","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949564,"item_type":"bookmark","name":"Link
|
69
69
|
28","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949564","url":"http://cl.ly/1w2e1K3j0T14193P2y1j","content_url":"http://cl.ly/1w2e1K3j0T14193P2y1j","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false}]'
|
70
70
|
http_version:
|
71
|
-
recorded_at:
|
71
|
+
recorded_at: Tue, 07 Feb 2012 21:48:12 GMT
|
72
72
|
- request:
|
73
73
|
method: get
|
74
74
|
uri: http://arthur%40dent.com:towel@my.cl.ly/items?api_version=1.2&per_page=5
|
@@ -87,18 +87,18 @@ http_interactions:
|
|
87
87
|
Content-Type:
|
88
88
|
- application/json; charset=utf-8
|
89
89
|
Etag:
|
90
|
-
- ! '"
|
90
|
+
- ! '"b8c1ca469c09126f7f9ce69980251653"'
|
91
91
|
Last-Modified:
|
92
|
-
-
|
92
|
+
- Tue, 07 Feb 2012 21:46:35 GMT
|
93
93
|
Server:
|
94
94
|
- thin 1.2.11 codename Bat-Shit Crazy
|
95
95
|
Set-Cookie:
|
96
|
-
- _engine_session=
|
96
|
+
- _engine_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlYTFmYTBlOGVjNWFmYWRjMDBlYWQ2YzhlMjQwNWQ5ZjJJIhV1c2VyX2NyZWRlbnRpYWxzBjsARkkiAYAxYTM5Mjg4MzhlZDcwY2UyOGVkYWRkOGE1MDU2NWU1MzFlNzlhOTg4ODQxZmY5NTkxMjAzNWNhYTU1ZmIxZTZhODliMmMzN2VlYzkzMzFmOWE2ZDRjN2Y1ZDM4ZDIwNGE5NjM1ZTI0YTAxNzM1NDNiYThkNDlhNDkxY2M5NDM3MAY7AFRJIhh1c2VyX2NyZWRlbnRpYWxzX2lkBjsARmkDp4EB--297b538af4eb06c726ec7fea3e12fe20e65fec36;
|
97
97
|
path=/; HttpOnly
|
98
98
|
- user_credentials=1a3928838ed70ce28edadd8a50565e531e79a988841ff95912035caa55fb1e6a89b2c37eec9331f9a6d4c7f5d38d204a9635e24a0173543ba8d49a491cc94370%3A%3A98727;
|
99
|
-
path=/; expires=
|
99
|
+
path=/; expires=Mon, 07-May-2012 21:48:12 GMT
|
100
100
|
X-Runtime:
|
101
|
-
- '0.
|
101
|
+
- '0.076126'
|
102
102
|
X-Ua-Compatible:
|
103
103
|
- IE=Edge,chrome=1
|
104
104
|
Transfer-Encoding:
|
@@ -107,17 +107,17 @@ http_interactions:
|
|
107
107
|
- keep-alive
|
108
108
|
body: ! '{"items":[{"created_at":"2012-01-12T20:49:23Z","deleted_at":null,"id":13950097,"item_type":"image","name":"favicon.ico","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/favicon.ico","source":"Mozilla/5.0
|
109
109
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
110
|
-
Safari/535.7","updated_at":"2012-
|
110
|
+
Safari/535.7","updated_at":"2012-02-07T15:34:17Z","view_counter":3,"href":"http://my.cl.ly/items/13950097","url":"http://cl.ly/0P281s1u1J1p47241B3o","content_url":"http://cl.ly/0P281s1u1J1p47241B3o/favicon.ico","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/0P281s1u1J1p47241B3o","subscribed":false,"download_url":"http://api.cld.me/0P281s1u1J1p47241B3o/download/favicon.ico"},{"created_at":"2012-01-12T20:49:13Z","deleted_at":null,"id":13950087,"item_type":"image","name":"\u00f8\u00e6\u00d8\u00fc\u00f6\u00e4\u00df!?&+-.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","source":"Mozilla/5.0
|
111
111
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
112
112
|
Safari/535.7","updated_at":"2012-01-18T23:25:10Z","view_counter":6,"href":"http://my.cl.ly/items/13950087","url":"http://cl.ly/2n3a3S3f0J2w3X453r3L","content_url":"http://cl.ly/2n3a3S3f0J2w3X453r3L/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/2n3a3S3f0J2w3X453r3L","subscribed":false,"download_url":"http://api.cld.me/2n3a3S3f0J2w3X453r3L/download/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg"},{"created_at":"2012-01-12T20:48:03Z","deleted_at":null,"id":13950015,"item_type":"bookmark","name":"The
|
113
113
|
Hitchhiker''s Guide to the Galaxy","private":true,"redirect_url":"http://en.wikipedia.org/wiki/The_Hitchhiker''s_Guide_to_the_Galaxy","remote_url":null,"source":"Mozilla/5.0
|
114
114
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
115
|
-
Safari/535.7","updated_at":"2012-
|
115
|
+
Safari/535.7","updated_at":"2012-02-07T15:34:23Z","view_counter":4,"href":"http://my.cl.ly/items/13950015","url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","content_url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:45:24Z","deleted_at":null,"id":13949886,"item_type":"audio","name":"Epic
|
116
116
|
Sax Guy NES Remix.mp3","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Epic%20Sax%20Guy%20NES%20Remix.mp3","source":"Mozilla/5.0
|
117
117
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
118
118
|
Safari/535.7","updated_at":"2012-01-12T20:45:24Z","view_counter":0,"href":"http://my.cl.ly/items/13949886","url":"http://cl.ly/322M3q1t261o30012s32","content_url":"http://cl.ly/322M3q1t261o30012s32/Epic%20Sax%20Guy%20NES%20Remix.mp3","icon":"http://assets.my.cld.me/images/item-types/audio.png","subscribed":false,"download_url":"http://api.cld.me/322M3q1t261o30012s32/download/Epic%20Sax%20Guy%20NES%20Remix.mp3"},{"created_at":"2012-01-12T20:45:05Z","deleted_at":null,"id":13949869,"item_type":"text","name":"2011-05-03-cloudapp-1.5-released.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/2011-05-03-cloudapp-1.5-released.md","source":"Mozilla/5.0
|
119
119
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
120
|
-
Safari/535.7","updated_at":"2012-02-
|
120
|
+
Safari/535.7","updated_at":"2012-02-07T15:35:28Z","view_counter":4,"href":"http://my.cl.ly/items/13949869","url":"http://cl.ly/0s1o3A46290S1s331G28","content_url":"http://cl.ly/0s1o3A46290S1s331G28/2011-05-03-cloudapp-1.5-released.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/0s1o3A46290S1s331G28/download/2011-05-03-cloudapp-1.5-released.md"}],"links":{"self":"http://my.cl.ly/items?api_version=1.2&page=1&per_page=5","next":"http://my.cl.ly/items?api_version=1.2&page=2&per_page=5"}}'
|
121
121
|
http_version:
|
122
|
-
recorded_at:
|
122
|
+
recorded_at: Tue, 07 Feb 2012 21:48:12 GMT
|
123
123
|
recorded_with: VCR 2.0.0.rc1
|
@@ -18,18 +18,18 @@ http_interactions:
|
|
18
18
|
Content-Type:
|
19
19
|
- application/json; charset=utf-8
|
20
20
|
Etag:
|
21
|
-
- ! '"
|
21
|
+
- ! '"b8c1ca469c09126f7f9ce69980251653"'
|
22
22
|
Last-Modified:
|
23
|
-
-
|
23
|
+
- Tue, 07 Feb 2012 21:46:35 GMT
|
24
24
|
Server:
|
25
25
|
- thin 1.2.11 codename Bat-Shit Crazy
|
26
26
|
Set-Cookie:
|
27
|
-
- _engine_session=
|
27
|
+
- _engine_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlNDRkYWQxMzU0YmFlMTdhNDg2NTJhYzY0MzFjOTllYjRJIhV1c2VyX2NyZWRlbnRpYWxzBjsARkkiAYAxYTM5Mjg4MzhlZDcwY2UyOGVkYWRkOGE1MDU2NWU1MzFlNzlhOTg4ODQxZmY5NTkxMjAzNWNhYTU1ZmIxZTZhODliMmMzN2VlYzkzMzFmOWE2ZDRjN2Y1ZDM4ZDIwNGE5NjM1ZTI0YTAxNzM1NDNiYThkNDlhNDkxY2M5NDM3MAY7AFRJIhh1c2VyX2NyZWRlbnRpYWxzX2lkBjsARmkDp4EB--18052e38d8a47cfacc84540aab097bfb9daa2184;
|
28
28
|
path=/; HttpOnly
|
29
29
|
- user_credentials=1a3928838ed70ce28edadd8a50565e531e79a988841ff95912035caa55fb1e6a89b2c37eec9331f9a6d4c7f5d38d204a9635e24a0173543ba8d49a491cc94370%3A%3A98727;
|
30
|
-
path=/; expires=
|
30
|
+
path=/; expires=Mon, 07-May-2012 21:48:12 GMT
|
31
31
|
X-Runtime:
|
32
|
-
- '0.
|
32
|
+
- '0.153823'
|
33
33
|
X-Ua-Compatible:
|
34
34
|
- IE=Edge,chrome=1
|
35
35
|
Transfer-Encoding:
|
@@ -38,23 +38,23 @@ http_interactions:
|
|
38
38
|
- keep-alive
|
39
39
|
body: ! '[{"created_at":"2012-01-12T20:49:23Z","deleted_at":null,"id":13950097,"item_type":"image","name":"favicon.ico","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/favicon.ico","source":"Mozilla/5.0
|
40
40
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
41
|
-
Safari/535.7","updated_at":"2012-
|
41
|
+
Safari/535.7","updated_at":"2012-02-07T15:34:17Z","view_counter":3,"href":"http://my.cl.ly/items/13950097","url":"http://cl.ly/0P281s1u1J1p47241B3o","content_url":"http://cl.ly/0P281s1u1J1p47241B3o/favicon.ico","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/0P281s1u1J1p47241B3o","subscribed":false,"download_url":"http://api.cld.me/0P281s1u1J1p47241B3o/download/favicon.ico"},{"created_at":"2012-01-12T20:49:13Z","deleted_at":null,"id":13950087,"item_type":"image","name":"\u00f8\u00e6\u00d8\u00fc\u00f6\u00e4\u00df!?&+-.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","source":"Mozilla/5.0
|
42
42
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
43
43
|
Safari/535.7","updated_at":"2012-01-18T23:25:10Z","view_counter":6,"href":"http://my.cl.ly/items/13950087","url":"http://cl.ly/2n3a3S3f0J2w3X453r3L","content_url":"http://cl.ly/2n3a3S3f0J2w3X453r3L/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/2n3a3S3f0J2w3X453r3L","subscribed":false,"download_url":"http://api.cld.me/2n3a3S3f0J2w3X453r3L/download/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg"},{"created_at":"2012-01-12T20:48:03Z","deleted_at":null,"id":13950015,"item_type":"bookmark","name":"The
|
44
44
|
Hitchhiker''s Guide to the Galaxy","private":true,"redirect_url":"http://en.wikipedia.org/wiki/The_Hitchhiker''s_Guide_to_the_Galaxy","remote_url":null,"source":"Mozilla/5.0
|
45
45
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
46
|
-
Safari/535.7","updated_at":"2012-
|
46
|
+
Safari/535.7","updated_at":"2012-02-07T15:34:23Z","view_counter":4,"href":"http://my.cl.ly/items/13950015","url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","content_url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:45:24Z","deleted_at":null,"id":13949886,"item_type":"audio","name":"Epic
|
47
47
|
Sax Guy NES Remix.mp3","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Epic%20Sax%20Guy%20NES%20Remix.mp3","source":"Mozilla/5.0
|
48
48
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
49
49
|
Safari/535.7","updated_at":"2012-01-12T20:45:24Z","view_counter":0,"href":"http://my.cl.ly/items/13949886","url":"http://cl.ly/322M3q1t261o30012s32","content_url":"http://cl.ly/322M3q1t261o30012s32/Epic%20Sax%20Guy%20NES%20Remix.mp3","icon":"http://assets.my.cld.me/images/item-types/audio.png","subscribed":false,"download_url":"http://api.cld.me/322M3q1t261o30012s32/download/Epic%20Sax%20Guy%20NES%20Remix.mp3"},{"created_at":"2012-01-12T20:45:05Z","deleted_at":null,"id":13949869,"item_type":"text","name":"2011-05-03-cloudapp-1.5-released.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/2011-05-03-cloudapp-1.5-released.md","source":"Mozilla/5.0
|
50
50
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
51
|
-
Safari/535.7","updated_at":"2012-02-
|
51
|
+
Safari/535.7","updated_at":"2012-02-07T15:35:28Z","view_counter":4,"href":"http://my.cl.ly/items/13949869","url":"http://cl.ly/0s1o3A46290S1s331G28","content_url":"http://cl.ly/0s1o3A46290S1s331G28/2011-05-03-cloudapp-1.5-released.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/0s1o3A46290S1s331G28/download/2011-05-03-cloudapp-1.5-released.md"},{"created_at":"2012-01-12T20:44:58Z","deleted_at":null,"id":13949858,"item_type":"image","name":"Cover.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Cover.jpeg","source":"Mozilla/5.0
|
52
52
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
53
|
-
Safari/535.7","updated_at":"2012-
|
53
|
+
Safari/535.7","updated_at":"2012-02-07T15:34:41Z","view_counter":1,"href":"http://my.cl.ly/items/13949858","url":"http://cl.ly/1x200A0m3v101d1n2O1u","content_url":"http://cl.ly/1x200A0m3v101d1n2O1u/Cover.jpeg","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/1x200A0m3v101d1n2O1u","subscribed":false,"download_url":"http://api.cld.me/1x200A0m3v101d1n2O1u/download/Cover.jpeg"},{"created_at":"2012-01-12T20:44:54Z","deleted_at":null,"id":13949855,"item_type":"text","name":"Chapter
|
54
54
|
1.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Chapter%201.md","source":"Mozilla/5.0
|
55
55
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
56
|
-
Safari/535.7","updated_at":"2012-02-
|
57
|
-
40","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-
|
56
|
+
Safari/535.7","updated_at":"2012-02-07T15:34:41Z","view_counter":7,"href":"http://my.cl.ly/items/13949855","url":"http://cl.ly/3U3d3w3r0G0T1T1M0d2T","content_url":"http://cl.ly/3U3d3w3r0G0T1T1M0d2T/Chapter%201.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/3U3d3w3r0G0T1T1M0d2T/download/Chapter%201.md"},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949577,"item_type":"bookmark","name":"Link
|
57
|
+
40","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-02-07T15:35:45Z","view_counter":3,"href":"http://my.cl.ly/items/13949577","url":"http://cl.ly/2O2J1h3t0H0v1I1u0t0P","content_url":"http://cl.ly/2O2J1h3t0H0v1I1u0t0P","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949576,"item_type":"bookmark","name":"Link
|
58
58
|
39","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949576","url":"http://cl.ly/2t062C1h393d2L452U2Z","content_url":"http://cl.ly/2t062C1h393d2L452U2Z","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949575,"item_type":"bookmark","name":"Link
|
59
59
|
38","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949575","url":"http://cl.ly/1S131o2v2J3z2r0A0Q0W","content_url":"http://cl.ly/1S131o2v2J3z2r0A0Q0W","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949574,"item_type":"bookmark","name":"Link
|
60
60
|
37","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949574","url":"http://cl.ly/423a3W361X1l1i2w0q30","content_url":"http://cl.ly/423a3W361X1l1i2w0q30","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949573,"item_type":"bookmark","name":"Link
|
@@ -68,7 +68,7 @@ http_interactions:
|
|
68
68
|
29","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949565","url":"http://cl.ly/3B1V3H0c0c3s3O2u1Q0c","content_url":"http://cl.ly/3B1V3H0c0c3s3O2u1Q0c","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949564,"item_type":"bookmark","name":"Link
|
69
69
|
28","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949564","url":"http://cl.ly/1w2e1K3j0T14193P2y1j","content_url":"http://cl.ly/1w2e1K3j0T14193P2y1j","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false}]'
|
70
70
|
http_version:
|
71
|
-
recorded_at:
|
71
|
+
recorded_at: Tue, 07 Feb 2012 21:48:12 GMT
|
72
72
|
- request:
|
73
73
|
method: get
|
74
74
|
uri: http://arthur%40dent.com:towel@my.cl.ly/items?api_version=1.2&deleted=true&per_page=20
|
@@ -87,31 +87,31 @@ http_interactions:
|
|
87
87
|
Content-Type:
|
88
88
|
- application/json; charset=utf-8
|
89
89
|
Etag:
|
90
|
-
- ! '"
|
90
|
+
- ! '"b8c1ca469c09126f7f9ce69980251653"'
|
91
91
|
Last-Modified:
|
92
|
-
-
|
92
|
+
- Tue, 07 Feb 2012 21:46:35 GMT
|
93
93
|
Server:
|
94
94
|
- thin 1.2.11 codename Bat-Shit Crazy
|
95
95
|
Set-Cookie:
|
96
|
-
- _engine_session=
|
96
|
+
- _engine_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlMzU5ZDY3OWIzMGRiNDcyZGFiNmFiZjczYTAxMTA2MDRJIhV1c2VyX2NyZWRlbnRpYWxzBjsARkkiAYAxYTM5Mjg4MzhlZDcwY2UyOGVkYWRkOGE1MDU2NWU1MzFlNzlhOTg4ODQxZmY5NTkxMjAzNWNhYTU1ZmIxZTZhODliMmMzN2VlYzkzMzFmOWE2ZDRjN2Y1ZDM4ZDIwNGE5NjM1ZTI0YTAxNzM1NDNiYThkNDlhNDkxY2M5NDM3MAY7AFRJIhh1c2VyX2NyZWRlbnRpYWxzX2lkBjsARmkDp4EB--42362aad489593fcdbc1fdce4346048a7339cf50;
|
97
97
|
path=/; HttpOnly
|
98
98
|
- user_credentials=1a3928838ed70ce28edadd8a50565e531e79a988841ff95912035caa55fb1e6a89b2c37eec9331f9a6d4c7f5d38d204a9635e24a0173543ba8d49a491cc94370%3A%3A98727;
|
99
|
-
path=/; expires=
|
99
|
+
path=/; expires=Mon, 07-May-2012 21:48:12 GMT
|
100
100
|
X-Runtime:
|
101
|
-
- '0.
|
101
|
+
- '0.024533'
|
102
102
|
X-Ua-Compatible:
|
103
103
|
- IE=Edge,chrome=1
|
104
104
|
Transfer-Encoding:
|
105
105
|
- chunked
|
106
106
|
Connection:
|
107
107
|
- keep-alive
|
108
|
-
body: ! '{"items":[{"created_at":"2012-01-18T18:22:36Z","deleted_at":"2012-02-
|
108
|
+
body: ! '{"items":[{"created_at":"2012-01-18T18:22:36Z","deleted_at":"2012-02-07T21:46:30Z","id":14170250,"item_type":"bookmark","name":"Delete
|
109
109
|
Me 2","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":"Mozilla/5.0
|
110
110
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
111
|
-
Safari/535.7","updated_at":"2012-02-
|
111
|
+
Safari/535.7","updated_at":"2012-02-07T21:46:30Z","view_counter":3,"href":"http://my.cl.ly/items/14170250","url":"http://cl.ly/413j01000H3z151c1w0e","content_url":"http://cl.ly/413j01000H3z151c1w0e","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-18T18:22:34Z","deleted_at":"2012-02-07T21:46:30Z","id":14170247,"item_type":"bookmark","name":"Delete
|
112
112
|
Me 1","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":"Mozilla/5.0
|
113
113
|
(Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
|
114
|
-
Safari/535.7","updated_at":"2012-02-
|
114
|
+
Safari/535.7","updated_at":"2012-02-07T21:46:30Z","view_counter":1,"href":"http://my.cl.ly/items/14170247","url":"http://cl.ly/2F3d3x380t0f3b023X0x","content_url":"http://cl.ly/2F3d3x380t0f3b023X0x","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false}],"links":{"self":"http://my.cl.ly/items?api_version=1.2&deleted=true&page=1&per_page=20"}}'
|
115
115
|
http_version:
|
116
|
-
recorded_at:
|
116
|
+
recorded_at: Tue, 07 Feb 2012 21:48:12 GMT
|
117
117
|
recorded_with: VCR 2.0.0.rc1
|
@@ -0,0 +1,95 @@
|
|
1
|
+
require 'helper'
|
2
|
+
require 'stringio'
|
3
|
+
|
4
|
+
require 'cloudapp/drop_presenter'
|
5
|
+
|
6
|
+
describe CloudApp::DropPresenter do
|
7
|
+
describe '.print' do
|
8
|
+
let(:waiting) { 'Bookmarking... ' }
|
9
|
+
let(:result) { 'http://cl.ly/abc123' }
|
10
|
+
let(:action) { -> { result }}
|
11
|
+
let(:io) { StringIO.new }
|
12
|
+
|
13
|
+
describe 'a single line' do
|
14
|
+
subject do
|
15
|
+
CloudApp::DropPresenter.print(options, &action)
|
16
|
+
io.tap(&:rewind).readlines
|
17
|
+
end
|
18
|
+
|
19
|
+
describe 'with no format' do
|
20
|
+
let(:options) {{ on: io, waiting: waiting }}
|
21
|
+
|
22
|
+
it 'pretty prints' do
|
23
|
+
expected = [ waiting, result, "\n" ].join
|
24
|
+
subject.first.should eq(expected)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe 'with no waiting message' do
|
29
|
+
let(:options) {{ on: io, format: :pretty }}
|
30
|
+
|
31
|
+
it 'prints only the result' do
|
32
|
+
expected = [ result, "\n" ].join
|
33
|
+
subject.first.should eq(expected)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe 'csv format' do
|
38
|
+
let(:options) {{ on: io, waiting: waiting, format: :csv }}
|
39
|
+
|
40
|
+
it 'omits the waiting message' do
|
41
|
+
options[:format] = :csv
|
42
|
+
expected = [ result, "\n" ].join
|
43
|
+
subject.first.should eq(expected)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe 'a table of data' do
|
49
|
+
let(:columns) {{ name: 'Name', url: 'Link' }}
|
50
|
+
let(:result) do
|
51
|
+
[ stub(:result1, name: 'Stub 1', url: 'http://stub1.com'),
|
52
|
+
stub(:result2, name: 'Stub 2', url: 'http://stub2.com') ]
|
53
|
+
end
|
54
|
+
let(:options) {{ on: io, format: format, columns: columns }}
|
55
|
+
|
56
|
+
subject do
|
57
|
+
CloudApp::DropPresenter.print(options, &action)
|
58
|
+
io.tap(&:rewind).readlines
|
59
|
+
end
|
60
|
+
|
61
|
+
describe 'pretty format' do
|
62
|
+
let(:format) { :pretty }
|
63
|
+
|
64
|
+
it 'prints column headers' do
|
65
|
+
subject.first.should eq("Name Link \n")
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'prints table data' do
|
69
|
+
subject.should have(3).items
|
70
|
+
subject[1].should eq("Stub 1 http://stub1.com\n")
|
71
|
+
subject[2].should eq("Stub 2 http://stub2.com\n")
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'prints non-string values' do
|
75
|
+
result << stub(:result3, name: 'Stub 3', url: 3)
|
76
|
+
subject[3].should eq("Stub 3 3 \n")
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
describe 'csv format' do
|
81
|
+
let(:format) { :csv }
|
82
|
+
|
83
|
+
it 'prints column headers' do
|
84
|
+
subject.first.should eq("Name,Link\n")
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'prints table data' do
|
88
|
+
subject.should have(3).items
|
89
|
+
subject[1].should eq("Stub 1,http://stub1.com\n")
|
90
|
+
subject[2].should eq("Stub 2,http://stub2.com\n")
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
@@ -7,7 +7,7 @@ Bundler.setup
|
|
7
7
|
|
8
8
|
require 'cloudapp/drop_service'
|
9
9
|
|
10
|
-
describe CloudApp::DropService
|
10
|
+
describe CloudApp::DropService do
|
11
11
|
|
12
12
|
let(:logger) do
|
13
13
|
logfile = Pathname('../../../log/test.log').expand_path(__FILE__)
|
@@ -31,16 +31,50 @@ describe CloudApp::DropService, :vcr do
|
|
31
31
|
describe '#drops' do
|
32
32
|
let(:service) { CloudApp::DropService.as_identity identity, service_options }
|
33
33
|
|
34
|
-
|
35
|
-
|
34
|
+
describe 'listing drops' do
|
35
|
+
subject do
|
36
|
+
VCR.use_cassette 'DropService/list_drops' do
|
37
|
+
service.drops
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'has 20 drops' do
|
42
|
+
subject.should have(20).items
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'creates Drops' do
|
46
|
+
subject.each {|drop| drop.should be_a(CloudApp::Drop) }
|
47
|
+
end
|
36
48
|
end
|
37
49
|
|
38
|
-
|
39
|
-
|
50
|
+
describe 'listing trash' do
|
51
|
+
subject do
|
52
|
+
VCR.use_cassette 'DropService/list_trash' do
|
53
|
+
service.trash
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'has 2 drops' do
|
58
|
+
subject.should have(2).items
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'creates Drops' do
|
62
|
+
subject.each {|drop| drop.should be_a(CloudApp::Drop) }
|
63
|
+
end
|
40
64
|
end
|
41
65
|
|
42
|
-
|
43
|
-
|
66
|
+
describe 'limiting drops list' do
|
67
|
+
let(:limit) { 5 }
|
68
|
+
|
69
|
+
subject do
|
70
|
+
VCR.use_cassette 'DropService/list_drops_with_limit' do
|
71
|
+
service.drops limit
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'has the given number of drops' do
|
76
|
+
subject.should have(limit).items
|
77
|
+
end
|
44
78
|
end
|
45
79
|
end
|
46
80
|
|
@@ -49,31 +83,65 @@ describe CloudApp::DropService, :vcr do
|
|
49
83
|
let(:url) { 'http://getcloudapp.com' }
|
50
84
|
let(:name) { 'CloudApp' }
|
51
85
|
|
52
|
-
|
53
|
-
|
54
|
-
|
86
|
+
describe 'creating a bookmark' do
|
87
|
+
subject do
|
88
|
+
VCR.use_cassette 'DropService/create_bookmark' do
|
89
|
+
service.create url: url
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
it 'is a Drop' do
|
94
|
+
subject.should be_a(CloudApp::Drop)
|
95
|
+
end
|
96
|
+
|
97
|
+
it 'has the given url' do
|
98
|
+
subject.redirect_url.should eq(url)
|
99
|
+
end
|
55
100
|
|
56
|
-
|
57
|
-
|
101
|
+
it 'has no name' do
|
102
|
+
subject.name.should_not be
|
58
103
|
end
|
59
104
|
end
|
60
105
|
|
61
|
-
|
62
|
-
|
63
|
-
|
106
|
+
describe 'creating a bookmark with a name' do
|
107
|
+
subject do
|
108
|
+
VCR.use_cassette 'DropService/create_bookmark_with_name' do
|
109
|
+
service.create url: url, name: name
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
it 'has the given url' do
|
114
|
+
subject.redirect_url.should eq(url)
|
115
|
+
end
|
64
116
|
|
65
|
-
|
66
|
-
|
117
|
+
it 'has the given name' do
|
118
|
+
subject.name.should eq(name)
|
67
119
|
end
|
68
120
|
end
|
69
121
|
|
70
|
-
|
71
|
-
path
|
72
|
-
|
122
|
+
describe 'uploading a file' do
|
123
|
+
let(:path) do
|
124
|
+
Pathname('../../support/files/favicon.ico').expand_path(__FILE__)
|
125
|
+
end
|
73
126
|
|
74
|
-
|
75
|
-
|
76
|
-
|
127
|
+
subject do
|
128
|
+
VCR.use_cassette 'DropService/upload_file' do
|
129
|
+
service.create path: path
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
it 'is a Drop' do
|
134
|
+
subject.should be_a(CloudApp::Drop)
|
135
|
+
end
|
136
|
+
|
137
|
+
it 'has a remote url' do
|
138
|
+
subject.remote_url.
|
139
|
+
should eq('http://f.cl.ly/items/0L3T3d1q3A3b182V3c3T/favicon.ico')
|
140
|
+
end
|
141
|
+
|
142
|
+
it 'has the name of the file' do
|
143
|
+
subject.name.should eq('favicon.ico')
|
144
|
+
end
|
77
145
|
end
|
78
146
|
end
|
79
147
|
|
data/spec/support/vcr.rb
CHANGED
@@ -6,17 +6,3 @@ VCR.configure do |c|
|
|
6
6
|
match_requests_on: [ :method, :uri, :body ]}
|
7
7
|
c.hook_into :webmock
|
8
8
|
end
|
9
|
-
|
10
|
-
module VCRHelpers
|
11
|
-
def expect_cassette_used(&action)
|
12
|
-
expect_cassettes_used 1, &action
|
13
|
-
end
|
14
|
-
|
15
|
-
def expect_cassettes_used(count, &action)
|
16
|
-
original_count = VCR.http_interactions.remaining_unused_interaction_count
|
17
|
-
original_count.should > 0
|
18
|
-
action.call
|
19
|
-
VCR.http_interactions.remaining_unused_interaction_count.
|
20
|
-
should eq(original_count - count)
|
21
|
-
end
|
22
|
-
end
|