flickrie 0.5.2 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. data/.gitignore +0 -1
  2. data/CHANGELOG.md +10 -0
  3. data/Gemfile +3 -2
  4. data/Rakefile +7 -2
  5. data/flickrie.gemspec +3 -0
  6. data/lib/flickrie/api_methods.rb +5 -0
  7. data/lib/flickrie/client.rb +17 -4
  8. data/lib/flickrie/location.rb +23 -50
  9. data/lib/flickrie/media/exif.rb +4 -0
  10. data/lib/flickrie/media/tag.rb +4 -0
  11. data/lib/flickrie/media/ticket.rb +4 -0
  12. data/lib/flickrie/media/visibility.rb +10 -6
  13. data/lib/flickrie/media.rb +7 -70
  14. data/lib/flickrie/media_count.rb +4 -0
  15. data/lib/flickrie/oauth.rb +5 -3
  16. data/lib/flickrie/set.rb +5 -21
  17. data/lib/flickrie/upload_client.rb +4 -2
  18. data/lib/flickrie/user.rb +4 -1
  19. data/lib/flickrie/version.rb +1 -1
  20. data/lib/flickrie/video.rb +0 -13
  21. data/test/error_test.rb +20 -0
  22. data/test/instance_test.rb +13 -14
  23. data/test/license_test.rb +7 -13
  24. data/test/location_test.rb +11 -2
  25. data/test/media_count_test.rb +20 -12
  26. data/test/media_test.rb +319 -311
  27. data/test/oauth_test.rb +17 -18
  28. data/test/photo_test.rb +78 -60
  29. data/test/set_test.rb +72 -63
  30. data/test/{test.rb → test_helper.rb} +7 -0
  31. data/test/user_test.rb +43 -34
  32. data/test/vcr_cassettes/error/code.yml +1165 -0
  33. data/test/vcr_cassettes/instance/calling_api_methods.yml +182 -0
  34. data/test/vcr_cassettes/license/get_licenses.yml +73 -0
  35. data/test/vcr_cassettes/location/square_brackets.yml +85 -0
  36. data/test/vcr_cassettes/media/delete.yml +1380 -0
  37. data/test/vcr_cassettes/media/from_contacts.yml +155 -0
  38. data/test/vcr_cassettes/media/from_set.yml +276 -0
  39. data/test/vcr_cassettes/media/from_user.yml +275 -0
  40. data/test/vcr_cassettes/media/get_context.yml +73 -0
  41. data/test/vcr_cassettes/media/get_info.yml +167 -0
  42. data/test/vcr_cassettes/media/remove_tag.yml +264 -0
  43. data/test/vcr_cassettes/media/replace.yml +2252 -0
  44. data/test/vcr_cassettes/media/search.yml +275 -0
  45. data/test/vcr_cassettes/media/tags.yml +346 -0
  46. data/test/vcr_cassettes/media_count/get.yml +135 -0
  47. data/test/vcr_cassettes/media_count/square_brackets.yml +69 -0
  48. data/test/vcr_cassettes/oauth/tokens.yml +400 -0
  49. data/test/vcr_cassettes/photo/asynchronous_upload.yml +1693 -0
  50. data/test/vcr_cassettes/photo/from_set.yml +273 -0
  51. data/test/vcr_cassettes/photo/from_user.yml +275 -0
  52. data/test/vcr_cassettes/photo/get_exif.yml +239 -0
  53. data/test/vcr_cassettes/photo/get_sizes.yml +147 -0
  54. data/test/vcr_cassettes/photo/other_api_calls.yml +506 -0
  55. data/test/vcr_cassettes/photo/search.yml +271 -0
  56. data/test/vcr_cassettes/photo/square_brackets.yml +85 -0
  57. data/test/vcr_cassettes/photo/upload.yml +1229 -0
  58. data/test/vcr_cassettes/set/from_user.yml +477 -0
  59. data/test/vcr_cassettes/set/get_info.yml +951 -0
  60. data/test/vcr_cassettes/set/square_brackets.yml +73 -0
  61. data/test/vcr_cassettes/user/find_by_email_or_username.yml +135 -0
  62. data/test/vcr_cassettes/user/get_info.yml +151 -0
  63. data/test/vcr_cassettes/user/square_brackets.yml +77 -0
  64. data/test/vcr_cassettes/video/get_exif.yml +135 -0
  65. data/test/vcr_cassettes/video/get_info.yml +86 -0
  66. data/test/vcr_cassettes/video/get_sizes.yml +151 -0
  67. data/test/vcr_cassettes/video/other_api_calls.yml +643 -0
  68. data/test/vcr_cassettes/video/square_brackets.yml +86 -0
  69. data/test/vcr_cassettes/video/upload.yml +308 -0
  70. data/test/video_test.rb +66 -53
  71. metadata +123 -12
@@ -0,0 +1,86 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.flickr.com/services/rest?api_key=1e7490875accc5b9c1ca91a2f27b5604&format=json&method=flickr.photos.getInfo&nojsoncallback=1&photo_id=7093038981
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - OAuth oauth_consumer_key="1e7490875accc5b9c1ca91a2f27b5604", oauth_nonce="5b327e5f1f235a2ec2ded09fdee312fa",
12
+ oauth_signature="Q0apy5kyL6iID4ASVeGeq7E2sRQ%3D", oauth_signature_method="HMAC-SHA1",
13
+ oauth_timestamp="1336383011", oauth_token="72157629879773565-6da848f99ba7038a",
14
+ oauth_version="1.0"
15
+ Accept-Encoding:
16
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
17
+ Accept:
18
+ - ! '*/*'
19
+ User-Agent:
20
+ - Ruby
21
+ response:
22
+ status:
23
+ code: 200
24
+ message: !binary |-
25
+ T0s=
26
+ headers:
27
+ !binary "RGF0ZQ==":
28
+ - !binary |-
29
+ TW9uLCAwNyBNYXkgMjAxMiAwOTozMDoxMiBHTVQ=
30
+ !binary "UDNw":
31
+ - !binary |-
32
+ cG9saWN5cmVmPSJodHRwOi8vaW5mby55YWhvby5jb20vdzNjL3AzcC54bWwi
33
+ LCBDUD0iQ0FPIERTUCBDT1IgQ1VSIEFETSBERVYgVEFJIFBTQSBQU0QgSVZB
34
+ aSBJVkRpIENPTmkgVEVMbyBPVFBpIE9VUiBERUxpIFNBTWkgT1RSaSBVTlJp
35
+ IFBVQmkgSU5EIFBIWSBPTkwgVU5JIFBVUiBGSU4gQ09NIE5BViBJTlQgREVN
36
+ IENOVCBTVEEgUE9MIEhFQSBQUkUgTE9DIEdPViI=
37
+ !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
38
+ - !binary |-
39
+ Kg==
40
+ !binary "Q2FjaGUtQ29udHJvbA==":
41
+ - !binary |-
42
+ cHJpdmF0ZQ==
43
+ !binary "WC1TZXJ2ZWQtQnk=":
44
+ - !binary |-
45
+ d3d3MTgxLmZsaWNrci5tdWQueWFob28uY29t
46
+ !binary "VmFyeQ==":
47
+ - !binary |-
48
+ QWNjZXB0LUVuY29kaW5n
49
+ !binary "Q29udGVudC1FbmNvZGluZw==":
50
+ - !binary |-
51
+ Z3ppcA==
52
+ !binary "Q29udGVudC1MZW5ndGg=":
53
+ - !binary |-
54
+ ODU3
55
+ !binary "Q29ubmVjdGlvbg==":
56
+ - !binary |-
57
+ Y2xvc2U=
58
+ !binary "Q29udGVudC1UeXBl":
59
+ - !binary |-
60
+ YXBwbGljYXRpb24vanNvbg==
61
+ body:
62
+ encoding: ASCII-8BIT
63
+ string: !binary |-
64
+ H4sIAAAAAAAAA5VVbW/bNhD+KwY/NzapV0ufiqXYlg4b0CHJgNRDcJZoibVE
65
+ CiQVzwjy33ckZVvpsqL9ZN3x+Nxzx+fOz2RolVWkfCaiJiXJaRHTeF2sGXm3
66
+ IIZXmlt0F5CxbFvsMh7c+olrdKdJmjvHDnRPygy/arB8HDoFNXdwLI6TdRxF
67
+ RerChNnBk9LCclJStDtRcWnQINTDwo7b42PHn3h38mllwQolwwV1kC7vM5HG
68
+ s81yFrM4jd7/QRMXPSIzCb1D/Ahyrxa/g1atFJuRMuqZag7dtyM6VU0ZyQM0
69
+ mm/fLa61Qhf4EiolZ+Vnyck5teAFTStsxx3LR/RbLl0D00XPLdeLLVT7XScG
70
+ 4gJrbiothpDtVfiH2YmLfBJGbEUn7NG/lBnGLTaPlCx0VQsu69Ai1+NedBhH
71
+ X6b3MO7OoIx940ks7LkrNaIsuqLJFSsWNC6TpEwvx40GOXagffbwLB0YOw4O
72
+ PCBmcRIzlnuuA9e9MAaph8RoVqrvfWHxdA51jf0AUkahOn4wJ2heCwuXWiuQ
73
+ 59uuWrTPl5lP51vxA7d8X0YDDZ8ia5SVU+w5dNup5mwMWsxQTAuaTxhTBvPV
74
+ 2zHfBammxrsPUn7+O7RGDUEaLZiT4bEsND4afzF4GsYMp7GIWHx1mcqrtFh7
75
+ mcJoW6XfmAENB/TeIg4aM1o2eHqoWiH5o09EXzyti+Sf8WVRvmONvJJ0uaZF
76
+ Guc+QjaTm6XLIqdxkjgSVTVqqJwsmF8YPt0/9iwTBD49yYxKmCsXMHRQ8Udf
77
+ LKVfkptj93Cfm+ovsXenB8X90TplLFqT0PNRfh9eTLP6V91+us9V9qVfPtx9
78
+ mkOylEZRlAbFat78dwR/0VAv3kT+aNiHu+Vwe6eHn65vfmvvD3PkiNKcspxe
79
+ 6Oqv+c72yQz251H+eX2T3t5tM8iMuj2+ho2TKFkncRixH21bg1rDsTNvbQ/H
80
+ Cyp7Xh//v0xG3XkE/PUitcfBzb//BxncPL1WXGvtUG5Wm9XhcFji0qv2eokz
81
+ s1n5C2azmkt3s7qIfLMiQZg9jjVOLC6ImiviN4X7QAq4x+tjqGAHouMT4QGp
82
+ C9kEo0ZtTpucZb4xoratk0YaObPlomkd0WiNXXL5DP7ZoK325OVfJ6yoDRkH
83
+ AAA=
84
+ http_version:
85
+ recorded_at: Mon, 07 May 2012 09:30:12 GMT
86
+ recorded_with: VCR 2.1.1
@@ -0,0 +1,308 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api.flickr.com/services/upload
6
+ body:
7
+ encoding: ASCII-8BIT
8
+ string: !binary |-
9
+ LS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBhcnRQb3N0DQpDb250ZW50LURpc3Bv
10
+ c2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InBob3RvIjsgZmlsZW5hbWU9InZp
11
+ ZGVvLm1vdiINCkNvbnRlbnQtTGVuZ3RoOiA1MzAzDQpDb250ZW50LVR5cGU6
12
+ IHZpZGVvL3F1aWNrdGltZQ0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog
13
+ YmluYXJ5DQoNCgAAABRmdHlwcXQgIAAAAABxdCAgAAAI6W1vb3YAAABsbXZo
14
+ ZAAAAADLyhkzy8oZMwAAAlgAAAAUAAEAAAEAAAAAAAAAAAAAAAABAAAAAAAA
15
+ AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAA
16
+ AAAAAAAAAAAAAAMAAAKAdHJhawAAAFx0a2hkAAAAD8vKGTPLyhkzAAAAAQAA
17
+ AAAAAAAUAAAAAAAAAAAAAAAAAQAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAA
18
+ AAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAJGVkdHMAAAAcZWxzdAAAAAAAAAAB
19
+ AAAAFAAAAAAAAQAAAAAB+G1kaWEAAAAgbWRoZAAAAADLyhkzy8oZMwAArEQA
20
+ ABAAVcQAAAAAADFoZGxyAAAAAG1obHJzb3VuYXBwbAAAAAAAAAAAEENvcmUg
21
+ TWVkaWEgQXVkaW8AAAGfbWluZgAAABBzbWhkAAAAAAAAAAAAAAA4aGRscgAA
22
+ AABkaGxyYWxpc2FwcGwAAAAAAAAAABdDb3JlIE1lZGlhIERhdGEgSGFuZGxl
23
+ cgAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAxhbGlzAAAAAQAAAStzdGJs
24
+ AAAAt3N0c2QAAAAAAAAAAQAAAKdtcDRhAAAAAAAAAAEAAQAAAAAAAAACABD/
25
+ /gAArEQAAAAABAAAAAABAAAAAgAAAAIAAAAYY2hhbgAAAAAAZQACAAAAAAAA
26
+ AAAAAABbd2F2ZQAAAAxmcm1hbXA0YQAAAAxtcDRhAAAAAAAAADNlc2RzAAAA
27
+ AAOAgIAiAAAABICAgBRAFQAYAAAB9AAAAfQABYCAgAISEAaAgIABAgAAAAgA
28
+ AAAAAAAAGHN0dHMAAAAAAAAAAQAAAAQAAAQAAAAAHHN0c2MAAAAAAAAAAQAA
29
+ AAEAAAAEAAAAAQAAACRzdHN6AAAAAAAAAAAAAAAEAAAABgAAAAYAAAAGAAAA
30
+ BgAAABRzdGNvAAAAAAAAAAEAAAwAAAACyXRyYWsAAABcdGtoZAAAAA/Lyhkz
31
+ y8oZMwAAAAIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA
32
+ AAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAB4AAAAWgAAAAAAER0YXB0AAAAFGNs
33
+ ZWYAAAAAAeAAAAFoAAAAAAAUcHJvZgAAAAAB4AAAAWgAAAAAABRlbm9mAAAA
34
+ AAHgAAABaAAAAAAAJGVkdHMAAAAcZWxzdAAAAAAAAAABAAAAFAAAAAAAAQAA
35
+ AAAB/W1kaWEAAAAgbWRoZAAAAADLyhkzy8oZMwAAdTAAAAPoVcQAAAAAADFo
36
+ ZGxyAAAAAG1obHJ2aWRlYXBwbAAAAAAAAAAAEENvcmUgTWVkaWEgVmlkZW8A
37
+ AAGkbWluZgAAABR2bWhkAAAAAQBAgACAAIAAAAAAOGhkbHIAAAAAZGhscmFs
38
+ aXNhcHBsAAAAAAAAAAAXQ29yZSBNZWRpYSBEYXRhIEhhbmRsZXIAAAAkZGlu
39
+ ZgAAABxkcmVmAAAAAAAAAAEAAAAMYWxpcwAAAAEAAAEsc3RibAAAALtzdHNk
40
+ AAAAAAAAAAEAAACrYXZjMQAAAAAAAAABAAAAAAAAAAAAAAIAAAACAAHgAWgA
41
+ SAAAAEgAAAAAAAAAAQVILjI2NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
42
+ ABj//wAAAC9hdmNDAU1AHv/hABgnTUAeqRg8F/y4C1BgEGtt6ACKwOF73wEB
43
+ AAQo3gnIAAAAEmNvbHJuY2xjAAYAAQAGAAAAEHBhc3AAAAABAAAAAQAAAAAA
44
+ AAAYc3R0cwAAAAAAAAABAAAAAQAAA+gAAAANc2R0cAAAAAAgAAAAHHN0c2MA
45
+ AAAAAAAAAQAAAAEAAAABAAAAAQAAABRzdHN6AAAAAAAABrcAAAABAAAAFHN0
46
+ Y28AAAAAAAAAAQAADgAAAAMsdWR0YQAAAuttZXRhAAAAAAAAACFoZGxyAAAA
47
+ AAAAAABtZGlyYXBwbAAAAAAAAAAAAAAAAr5pbHN0AAAAGWdzc3QAAAARZGF0
48
+ YQAAAAEAAAAAMAAAAB1nc3RkAAAAFWRhdGEAAAABAAAAADMzOTMzAAAAOGdz
49
+ c2QAAAAwZGF0YQAAAAEAAAAAQkQwNzVFNTQ1SEgxMzA1MzIzNTczOTU0ODc0
50
+ AAAAAAAAAACYZ3NwdQAAAJBkYXRhAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA
51
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
52
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
53
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJhnc3BtAAAAkGRhdGEAAAABAAAA
54
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
55
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
56
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGGdz
57
+ aGgAAAEQZGF0YQAAAAEAAAAAdjEwLmxzY2FjaGU3LmMueW91dHViZS5jb20A
58
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
59
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
60
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
61
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
62
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
63
+ AAAAAAAAADmpZW5jAC0AAE1hYyBPUyBYIHYxMC43LjMgKENNQSA4OTAsIENN
64
+ IDcwNS42MSwgeDg2XzY0KQAAAQNmcmVlAAAAAAAAAAAAAAAAAAAAAAAAAAAA
65
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
66
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
67
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
68
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
69
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
70
+ AAAAAAAAAAAId2lkZQAACq9tZGF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
71
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
72
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
73
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
74
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
75
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
76
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
77
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
78
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
79
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
80
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
81
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAA0BoHCEAA0BoHCEAA0BoHCEAA0Bo
82
+ HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
83
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
84
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
85
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
86
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
87
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
88
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
89
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
90
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
91
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
92
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwYA
93
+ B4P7BYAAAECAAAAAFQYFEQOH9E7NCkvcoZQ6w9SbFx8DgAAAANMluCAhfw+E
94
+ PwnCoAAgM0nvX//+CIe/HH3333z/r5/U/6++f1fffffP+vvvvvn9T9p+98/6
95
+ PhANKZ9a/WppX6mNm/TPelpaebvS0tLS09dddddPxD//D1++Xvvvtb77eoQc
96
+ 0p/+o2uuuunp+If/4Ir+reuviH/9B6/S8Q//oPX7eviH/+Hr8/eZZUrrrrmW
97
+ 0y3pa66YSTU/EP/8EQ1/1ra2sy34h//h6/fN2p75/VPfN2rn/UtLXXXXXS11
98
+ 1zctUIOpbY2+++lvrrp65iblE0TXS114AAAA5yUBFuCAgT///4IooAAgt3eO
99
+ D777775/U/6++//h/w+Eoh/w+EPwRHCoAAgS0n////giGqqxxr/D//D1///+
100
+ Hq///8PX775+aaf/vn5qfl18/S33z9qeuuuuuZ7Vzd6euoQMuaVv00b6bpE3
101
+ rr///h6vXXT///w9Xta66eb1T11zPqnrrrpaWlrm9UwkxqcXTG111282XGpf
102
+ //4er08/GUv///Yerzd6WuuZZUpa6euub1N2paeb1XTCCGrYjMfelpeIf/0H
103
+ r9dLS110tPa109dddPS1110tddPTzfqhCaVjemNrrn9V4AAAAp0lAIq4ICBP
104
+ ///giigACC3d40V///wRV5U8P/8EV+Pnn5Vf//wRV/5/Xh//h6/f///BFX94
105
+ f/4Ir81fP+n9X3z86Xz+p/zT8iT/8/qf9HwgCtpn1r9a8PhD8ERQqAAIEtJ/
106
+ ///4IhqqsY1/h//h6////D1f//+CK/qlvrpbe1jkKIp//h76uSP4qxBYLpiN
107
+ iAEfUAG4MLaQRslDF7JwIHG2uHMhy/2yqyUygAH3DRY/l6fNXJ9sGnP5DExD
108
+ fbiLZIyTOK3irGIcZIDpRmzGBANFuF1bgfxITFm2DcHeDhgkygI3D65M/1Fd
109
+ /XQIajciPUUicC9U0kJcRmnzygpTcBjG08NOObsGkJGcEHiIH1f/3DBOM7Bx
110
+ iHF8U5fD7AjrONzIMAZ8DdgGvuKW/dnPQdEgiLaS//0f1F11zfq6Wbnpv+un
111
+ rphJjNOHymdTG1110tLMt6Wlrrnk1msTf/2Ehz4pbFnOHKoDb3olSDZv6Jnh
112
+ mjqiXQmwgt2UAJC3X8OnhxSCJb7QCM24Z/gGhhSkwBAtxY0A9j7t9J0PGe2q
113
+ wPZWUD8B0JPUxZBg2t0NhN6jNwm/sygu6VBF7hCljhLf/MQNoEX8EWPtbD/H
114
+ LNsTBRsB52qkVglqcQriIHYF9rtNraFrO3LcNg/8JRFRice8lAoFI/8WxgI/
115
+ mrBWHyb//giF3+pCaWlrm9U9PT10tLUIIZpfVG138Q//wRX71109ddddcdN+
116
+ v/2BQRlf/YSGB/D3kbJVA7HuXoJ5pR8FVncGgvZi0ZXK72R0RX/4Sp+28NnA
117
+ EZWPfjnaU9vEdrpmEmNL7///XPXN6p65lvXT0TXN6pahCpZo3lT8Q//w9f4Y
118
+ B/8EVfqv//9h6vLJMy0iMu1PXS0tcy06XXN3pa666XAAAADtJQDPuCAgT///
119
+ 4IooAAgt3eNGefjjT9774+EAVtM+tfrXh8IfgiKFQABAloX8d///8PDX7775
120
+ /U/68tD56VP+vv///h6vf4f/4ev3333z9Onz9Inz95ltXT18Q//w9fqEKldR
121
+ tfEP/8PX666eulqIRqJ///gir6r4h//h6/T111111111zepnsrrvqEKldxtd
122
+ dZ8Sn+If/4ev31z9q7e+byrm9TLanrrm7UtLS118Q//w9fvt6hCaUjFXG083
123
+ qunrNR82TKpZl9S09E108y5Vzeq6WlpaWnm/Ws63vqEKlqNp6UjCWsvXN3pZ
124
+ v1deAAABNyUARS4ICBP///giigACC3d44+flr75+Pp/18/q++++fn0/6fvP2
125
+ n7x8IAraZ9a/WvD4Q/CxQqAAIEtJ9fv//4Ihr/p/+8rD77/D//D1+fp0fpF/
126
+ /+Hq/h//h6/T109TJJHLq6665v1LS09PT111CE0rH+aN9T318Q//wRX9W9f/
127
+ /8EVfVPfXT1113zd6elpa5u9dLT09LS0ghNKvUhs3qnm9X28slS298/qJk9S
128
+ L//+gRV7z/qWlqq6uuuub1Mvq666hDCH4YBwSHFAAECrzJw/AAgHDYt+vXbb
129
+ 9qTBanyumn519a2tra2tqGPH5qf5TkzU63J1pEdfWsfCQd95ags1DNAbn/43
130
+ hx4Bw9nM8IzJPciTr1a2p8PkxIhanxdtvzqTHhOIAS7t+fyf/Nfi2P+HhBcN
131
+ dluADQotLS0tLS0tLS0tLS0tUnVieU11bHRpcGFydFBvc3QNCkNvbnRlbnQt
132
+ RGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0idGl0bGUiDQoNCnZpZGVv
133
+ DQotLS0tLS0tLS0tLS0tUnVieU11bHRpcGFydFBvc3QtLQ0KDQo=
134
+ headers:
135
+ Authorization:
136
+ - OAuth oauth_consumer_key="1e7490875accc5b9c1ca91a2f27b5604", oauth_nonce="2d42085f0a3dfbbe98f05fea3891df5a",
137
+ oauth_signature="dPWTzwE7qTWolqGeH2uPWt4Mui8%3D", oauth_signature_method="HMAC-SHA1",
138
+ oauth_timestamp="1336343120", oauth_token="72157629879773565-6da848f99ba7038a",
139
+ oauth_version="1.0"
140
+ Content-Type:
141
+ - multipart/form-data;boundary=-----------RubyMultipartPost
142
+ Content-Length:
143
+ - '5618'
144
+ Accept:
145
+ - ! '*/*'
146
+ User-Agent:
147
+ - Ruby
148
+ response:
149
+ status:
150
+ code: 200
151
+ message: OK
152
+ headers:
153
+ Date:
154
+ - Sun, 06 May 2012 22:25:20 GMT
155
+ P3p:
156
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
157
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
158
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
159
+ Connection:
160
+ - close
161
+ Content-Length:
162
+ - '93'
163
+ Cache-Control:
164
+ - private
165
+ X-Served-By:
166
+ - www185.flickr.mud.yahoo.com
167
+ Vary:
168
+ - Accept-Encoding
169
+ Content-Type:
170
+ - text/xml; charset=utf-8
171
+ body:
172
+ encoding: US-ASCII
173
+ string: ! '<?xml version="1.0" encoding="utf-8" ?>
174
+
175
+ <rsp stat="ok">
176
+
177
+ <photoid>7004104010</photoid>
178
+
179
+ </rsp>
180
+
181
+ '
182
+ http_version:
183
+ recorded_at: Sun, 06 May 2012 22:25:21 GMT
184
+ - request:
185
+ method: get
186
+ uri: http://api.flickr.com/services/rest?api_key=1e7490875accc5b9c1ca91a2f27b5604&format=json&method=flickr.photos.getInfo&nojsoncallback=1&photo_id=7004104010
187
+ body:
188
+ encoding: US-ASCII
189
+ string: ''
190
+ headers:
191
+ Authorization:
192
+ - OAuth oauth_consumer_key="1e7490875accc5b9c1ca91a2f27b5604", oauth_nonce="0ddeb927b3af8f47b576420a6ac594c8",
193
+ oauth_signature="J8oBm7qDa429NVY9K%2FN1q78uXLo%3D", oauth_signature_method="HMAC-SHA1",
194
+ oauth_timestamp="1336343121", oauth_token="72157629879773565-6da848f99ba7038a",
195
+ oauth_version="1.0"
196
+ Accept-Encoding:
197
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
198
+ Accept:
199
+ - ! '*/*'
200
+ User-Agent:
201
+ - Ruby
202
+ response:
203
+ status:
204
+ code: 200
205
+ message: !binary |-
206
+ T0s=
207
+ headers:
208
+ !binary "RGF0ZQ==":
209
+ - !binary |-
210
+ U3VuLCAwNiBNYXkgMjAxMiAyMjoyNToyMyBHTVQ=
211
+ !binary "UDNw":
212
+ - !binary |-
213
+ cG9saWN5cmVmPSJodHRwOi8vaW5mby55YWhvby5jb20vdzNjL3AzcC54bWwi
214
+ LCBDUD0iQ0FPIERTUCBDT1IgQ1VSIEFETSBERVYgVEFJIFBTQSBQU0QgSVZB
215
+ aSBJVkRpIENPTmkgVEVMbyBPVFBpIE9VUiBERUxpIFNBTWkgT1RSaSBVTlJp
216
+ IFBVQmkgSU5EIFBIWSBPTkwgVU5JIFBVUiBGSU4gQ09NIE5BViBJTlQgREVN
217
+ IENOVCBTVEEgUE9MIEhFQSBQUkUgTE9DIEdPViI=
218
+ !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
219
+ - !binary |-
220
+ Kg==
221
+ !binary "Q2FjaGUtQ29udHJvbA==":
222
+ - !binary |-
223
+ cHJpdmF0ZQ==
224
+ !binary "WC1TZXJ2ZWQtQnk=":
225
+ - !binary |-
226
+ d3d3MTA0LmZsaWNrci5tdWQueWFob28uY29t
227
+ !binary "VmFyeQ==":
228
+ - !binary |-
229
+ QWNjZXB0LUVuY29kaW5n
230
+ !binary "Q29udGVudC1FbmNvZGluZw==":
231
+ - !binary |-
232
+ Z3ppcA==
233
+ !binary "Q29udGVudC1MZW5ndGg=":
234
+ - !binary |-
235
+ NTY1
236
+ !binary "Q29ubmVjdGlvbg==":
237
+ - !binary |-
238
+ Y2xvc2U=
239
+ !binary "Q29udGVudC1UeXBl":
240
+ - !binary |-
241
+ YXBwbGljYXRpb24vanNvbg==
242
+ body:
243
+ encoding: ASCII-8BIT
244
+ string: !binary |-
245
+ H4sIAAAAAAAAA5VT24rbMBD9laDn3Y18SUL8VOhbof2A1mWZWBNbRJaMJMeE
246
+ 4H/vSL4kW8pCQ8Ca0cw5M0czd9Y1xhtW3JkUrGAHzvOE5zzh7GXDHFYWPbn5
247
+ 8ksmt72iJffxeAz2GWzLioROAjz2nTIgMKAlWbbP8ixJI5p0Z7gaKz2ygpOt
248
+ ZIXaYYCPqHBGf3tXeEW1+Kzx4KXRU4IZdKC9M+1isftDkiXZLv3yg+chuqfC
249
+ NLQB8Rvoi9l8B2saLcue+jlEPAT1eYQy1czIfkJt8fSy+WoNuSC2UBm9dr/L
250
+ 9/ninCTYj2R66RWGKt/J71EH/a5SoGHhVqCrrOwmig8x8foqnTxJJf0tPonr
251
+ +hPJFKScFbQStVjkCYq2Ut2iPc76u5DZGef/8QQeLhhaS3mSvvLdK99vkl2R
252
+ 0v9xXVvQvQIba5h4FDjfdwH8I2Kg7NC20jnqZyImszJtG3vK5nsQokUPrEin
253
+ HnFwCzQK6eHRcQV6zQ4DRfaanES6KMh/ZPExTgbUOEcKGqMwoWvoSZl6NTor
254
+ n1BcAxZnjJnB/fVskwrazMKHAyt+/Z6kMd00Cg24xYhYHuoYTd8luLcquuhL
255
+ Lrq6dUHtuJ5dqJ5inmgb77ui3JbbYRjeziTJxb5RheU2Jrhy+7wc5fax1+WW
256
+ jZGwJRFhnc34LuFAJdCWiNu0cmeQKswRj+1oIfUslejtsifxHQcpfMMKmhxF
257
+ VoOybvxkjoHM0R5TqLmw8Q8IPlEwcwQAAA==
258
+ http_version:
259
+ recorded_at: Sun, 06 May 2012 22:25:23 GMT
260
+ - request:
261
+ method: post
262
+ uri: http://api.flickr.com/services/rest?api_key=1e7490875accc5b9c1ca91a2f27b5604&format=json&method=flickr.photos.delete&nojsoncallback=1&photo_id=7004104010
263
+ body:
264
+ encoding: US-ASCII
265
+ string: ''
266
+ headers:
267
+ Authorization:
268
+ - OAuth oauth_consumer_key="1e7490875accc5b9c1ca91a2f27b5604", oauth_nonce="b461eef0620f6755d9159efadc92ef94",
269
+ oauth_signature="0yPXxLK7O7imIzChm5nw8Ti%2Fv14%3D", oauth_signature_method="HMAC-SHA1",
270
+ oauth_timestamp="1336343123", oauth_token="72157629879773565-6da848f99ba7038a",
271
+ oauth_version="1.0"
272
+ Content-Length:
273
+ - '0'
274
+ Accept:
275
+ - ! '*/*'
276
+ User-Agent:
277
+ - Ruby
278
+ response:
279
+ status:
280
+ code: 200
281
+ message: OK
282
+ headers:
283
+ Date:
284
+ - Sun, 06 May 2012 22:25:23 GMT
285
+ P3p:
286
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
287
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
288
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
289
+ Access-Control-Allow-Origin:
290
+ - ! '*'
291
+ Cache-Control:
292
+ - private
293
+ X-Served-By:
294
+ - www218.flickr.mud.yahoo.com
295
+ Vary:
296
+ - Accept-Encoding
297
+ Content-Length:
298
+ - '13'
299
+ Connection:
300
+ - close
301
+ Content-Type:
302
+ - application/json
303
+ body:
304
+ encoding: US-ASCII
305
+ string: ! '{"stat":"ok"}'
306
+ http_version:
307
+ recorded_at: Sun, 06 May 2012 22:25:23 GMT
308
+ recorded_with: VCR 2.1.1
data/test/video_test.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # encoding: utf-8
2
- require 'test'
3
2
 
4
3
  Flickrie::Video.instance_eval do
5
4
  def public_new(*args)
@@ -20,35 +19,45 @@ class VideoTest < Test::Unit::TestCase
20
19
  url_sq url_q url_t url_s url_n url_m url_z url_c url_l url_o]
21
20
  end
22
21
 
23
- def test_get_video_info
24
- video = Flickrie.get_video_info(@video_id)
22
+ def test_square_brackets
23
+ VCR.use_cassette 'video/square_brackets' do
24
+ video = Flickrie.get_video_info(@video_id)
25
+ assert_equal 1, video['usage']['candownload'].to_i
26
+ end
27
+ end
25
28
 
26
- assert_equal true, video.ready?
27
- assert_equal false, video.failed?
28
- assert_equal false, video.pending?
29
+ def test_get_info
30
+ VCR.use_cassette 'video/get_info' do
31
+ video = Flickrie.get_video_info(@video_id)
29
32
 
30
- assert_equal 16, video.duration
31
- assert_equal 352, video.width
32
- assert_equal 288, video.height
33
+ assert_equal true, video.ready?
34
+ assert_equal false, video.failed?
35
+ assert_equal false, video.pending?
33
36
 
34
- assert_nil video.source_url
35
- assert_nil video.download_url
36
- assert_nil video.mobile_download_url
37
- end
37
+ assert_equal 16, video.duration
38
+ assert_equal 352, video.width
39
+ assert_equal 288, video.height
38
40
 
39
- def test_get_video_sizes
40
- get_sizes_assertions(Flickrie.get_video_sizes(@video_id))
41
- get_sizes_assertions(Flickrie::Video.public_new('id' => @video_id.to_s).get_sizes)
41
+ assert_nil video.source_url
42
+ assert_nil video.download_url
43
+ assert_nil video.mobile_download_url
44
+ end
42
45
  end
43
46
 
44
- def get_sizes_assertions(video)
45
- assert_equal true, video.can_download?
46
- assert_equal true, video.can_blog?
47
- assert_equal true, video.can_print?
48
-
49
- refute video.source_url.empty?
50
- refute video.download_url.empty?
51
- refute video.mobile_download_url.empty?
47
+ def test_get_sizes
48
+ VCR.use_cassette 'video/get_sizes' do
49
+ [Flickrie.get_video_sizes(@video_id),
50
+ Flickrie::Video.public_new('id' => @video_id.to_s).get_sizes].
51
+ each do |video|
52
+ assert_equal true, video.can_download?
53
+ assert_equal true, video.can_blog?
54
+ assert_equal true, video.can_print?
55
+
56
+ refute video.source_url.empty?
57
+ refute video.download_url.empty?
58
+ refute video.mobile_download_url.empty?
59
+ end
60
+ end
52
61
  end
53
62
 
54
63
  def test_methods_returning_nil
@@ -65,41 +74,45 @@ class VideoTest < Test::Unit::TestCase
65
74
  assert_nil video.mobile_download_url
66
75
  end
67
76
 
68
- def test_video_upload
69
- video_path = File.join(File.expand_path(File.dirname(__FILE__)), 'video.mov')
70
- video_id = Flickrie.upload(video_path)
71
- assert_nothing_raised(Flickrie::Error) { Flickrie.get_video_info(video_id) }
72
- Flickrie.delete_video(video_id)
77
+ def test_upload
78
+ VCR.use_cassette 'video/upload' do
79
+ video_path = File.join(File.expand_path(File.dirname(__FILE__)), 'video.mov')
80
+ video_id = Flickrie.upload(video_path)
81
+ assert_nothing_raised(Flickrie::Error) { Flickrie.get_video_info(video_id) }
82
+ Flickrie.delete_video(video_id)
83
+ end
73
84
  end
74
85
 
75
- def test_get_video_exif
76
- [
77
- Flickrie.get_video_exif(@video_id),
78
- Flickrie::Video.public_new('id' => @video_id).get_exif
79
- ].
80
- each do |video|
81
- assert_nil video.camera
82
- assert_nil video.exif
83
- end
86
+ def test_get_exif
87
+ VCR.use_cassette 'video/get_exif' do
88
+ [Flickrie.get_video_exif(@video_id),
89
+ Flickrie::Video.public_new('id' => @video_id).get_exif].
90
+ each do |video|
91
+ assert_nil video.camera
92
+ assert_nil video.exif
93
+ end
94
+ end
84
95
  end
85
96
 
86
97
 
87
98
  def test_other_api_calls
88
- # add_video_tags, remove_video_tag,
89
- # search_videos, videos_from_contacts,
90
- # public_videos_from_user, videos_from_set
91
-
92
- assert_nothing_raised do
93
- Flickrie.add_video_tags(@video_id, "janko")
94
- video = Flickrie.get_video_info(@video_id)
95
- tag = video.tags.find { |tag| tag.content == "janko" }
96
- Flickrie.remove_video_tag(tag.id)
97
- Flickrie.videos_from_contacts(:include_self => 1)
98
- Flickrie.public_videos_from_user_contacts(@user_nsid, :include_self => 1)
99
- Flickrie.public_videos_from_user(@user_nsid)
100
- Flickrie.videos_from_set(@set_id)
101
- Flickrie.get_video_context(@video_id)
102
- Flickrie.search_videos(:user_id => @user_nsid)
99
+ VCR.use_cassette 'video/other_api_calls' do
100
+ # add_video_tags, remove_video_tag,
101
+ # search_videos, videos_from_contacts,
102
+ # public_videos_from_user, videos_from_set
103
+
104
+ assert_nothing_raised do
105
+ Flickrie.add_video_tags(@video_id, "janko")
106
+ video = Flickrie.get_video_info(@video_id)
107
+ tag = video.tags.find { |tag| tag.content == "janko" }
108
+ Flickrie.remove_video_tag(tag.id)
109
+ Flickrie.videos_from_contacts(:include_self => 1)
110
+ Flickrie.public_videos_from_user_contacts(@user_nsid, :include_self => 1)
111
+ Flickrie.public_videos_from_user(@user_nsid)
112
+ Flickrie.videos_from_set(@set_id)
113
+ Flickrie.get_video_context(@video_id)
114
+ Flickrie.search_videos(:user_id => @user_nsid)
115
+ end
103
116
  end
104
117
  end
105
118
  end