brightcove-api 1.0.11 → 1.0.12
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/.gitignore +11 -0
- data/.rspec +2 -0
- data/.rvmrc +3 -2
- data/{CHANELOG.markdown → CHANGELOG.markdown} +4 -0
- data/Gemfile +1 -16
- data/LICENSE +1 -1
- data/README.md +52 -36
- data/Rakefile +9 -47
- data/brightcove-api.gemspec +26 -73
- data/lib/brightcove-api.rb +75 -30
- data/lib/brightcove-api/version.rb +5 -0
- data/{test/fakeweb → spec/assets}/movie.mov +0 -0
- data/spec/brightcove-api_spec.rb +137 -0
- data/spec/spec_helper.rb +17 -0
- data/spec/vcr_cassettes/brightcove_media_api_example_query.json +1 -0
- data/spec/vcr_cassettes/delete_video.yml +32 -0
- data/spec/vcr_cassettes/find_all_videos.json +1 -0
- data/spec/vcr_cassettes/find_all_videos_mrss.json +1 -0
- data/spec/vcr_cassettes/post_file.yml +47 -0
- data/spec/vcr_cassettes/post_file_streaming.yml +36 -0
- metadata +186 -107
- data/VERSION +0 -1
- data/test/fakeweb/create_video_response.json +0 -1
- data/test/fakeweb/delete_video_response.json +0 -1
- data/test/fakeweb/find_all_videos_response.json +0 -108
- data/test/fakeweb/find_all_videos_response.xml +0 -1188
- data/test/helper.rb +0 -9
- data/test/test_brightcove-api.rb +0 -173
data/test/helper.rb
DELETED
data/test/test_brightcove-api.rb
DELETED
@@ -1,173 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
require 'fakeweb'
|
3
|
-
require 'mocha'
|
4
|
-
|
5
|
-
class TestBrightcoveApi < Test::Unit::TestCase
|
6
|
-
def setup
|
7
|
-
FakeWeb.allow_net_connect = false
|
8
|
-
end
|
9
|
-
|
10
|
-
def teardown
|
11
|
-
FakeWeb.allow_net_connect = true
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_api_version
|
15
|
-
assert_equal '1.0.11', Brightcove::API::VERSION
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_can_set_read_api_url
|
19
|
-
brightcove = Brightcove::API.new('apikeytoken')
|
20
|
-
|
21
|
-
assert_equal Brightcove::API::READ_API_URL, brightcove.read_api_url
|
22
|
-
|
23
|
-
brightcove.read_api_url = 'http://some.api.com'
|
24
|
-
|
25
|
-
assert_equal 'http://some.api.com', brightcove.read_api_url
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_can_set_write_api_url
|
29
|
-
brightcove = Brightcove::API.new('apikeytoken')
|
30
|
-
|
31
|
-
assert_equal Brightcove::API::WRITE_API_URL, brightcove.write_api_url
|
32
|
-
|
33
|
-
brightcove.write_api_url = 'http://some.api.com'
|
34
|
-
|
35
|
-
assert_equal 'http://some.api.com', brightcove.write_api_url
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_can_set_token
|
39
|
-
brightcove = Brightcove::API.new('apikeytoken')
|
40
|
-
|
41
|
-
assert_equal 'apikeytoken', brightcove.token
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_can_set_http_headers
|
45
|
-
brightcove = Brightcove::API.new('apikeytoken')
|
46
|
-
brightcove.expects(:headers).at_least_once
|
47
|
-
|
48
|
-
brightcove.set_http_headers({'Accept' => 'application/json'})
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_can_set_timeout
|
52
|
-
brightcove = Brightcove::API.new('apikeytoken')
|
53
|
-
brightcove.expects(:default_timeout).at_least_once
|
54
|
-
|
55
|
-
brightcove.set_timeout(5)
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_find_all_videos
|
59
|
-
FakeWeb.register_uri(:get,
|
60
|
-
'http://api.brightcove.com/services/library?page_size=5&token=0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.&command=find_all_videos',
|
61
|
-
:body => File.join(File.dirname(__FILE__), 'fakeweb', 'find_all_videos_response.json'),
|
62
|
-
:content_type => "application/json")
|
63
|
-
|
64
|
-
brightcove = Brightcove::API.new('0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.')
|
65
|
-
brightcove_response = brightcove.get('find_all_videos', {:page_size => 5})
|
66
|
-
|
67
|
-
assert_equal 5, brightcove_response['items'].size
|
68
|
-
assert_equal 0, brightcove_response['page_number']
|
69
|
-
end
|
70
|
-
|
71
|
-
def test_find_all_videos_mrss
|
72
|
-
FakeWeb.register_uri(:get,
|
73
|
-
'http://api.brightcove.com/services/library?command=find_all_videos&format=xml&output=mrss&token=0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.',
|
74
|
-
:body => File.join(File.dirname(__FILE__), 'fakeweb', 'find_all_videos_response.xml'),
|
75
|
-
:content_type => "application/xml")
|
76
|
-
|
77
|
-
brightcove = Brightcove::API.new('0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.')
|
78
|
-
brightcove_response = brightcove.get('find_all_videos', {:output => 'mrss'})
|
79
|
-
|
80
|
-
assert_equal 85, brightcove_response['rss']['channel']['item'].size
|
81
|
-
end
|
82
|
-
|
83
|
-
def test_search_with_array_params
|
84
|
-
brightcove = Brightcove::API.new('0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.')
|
85
|
-
brightcove.class.expects(:get).with(anything, has_entry(:query => {
|
86
|
-
:any => ['tag:foo', 'tag:bar'],
|
87
|
-
:command => 'search_videos',
|
88
|
-
:token => '0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.'
|
89
|
-
}))
|
90
|
-
brightcove_response = brightcove.get('search_videos', { :any => [ "tag:foo", "tag:bar" ] })
|
91
|
-
end
|
92
|
-
|
93
|
-
def test_search_with_string_params
|
94
|
-
brightcove = Brightcove::API.new('0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.')
|
95
|
-
brightcove.class.expects(:get).with(anything, has_entry(:query => {
|
96
|
-
'any' => ['tag:bar', 'tag:foo'],
|
97
|
-
:command => 'search_videos',
|
98
|
-
:token => '0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.'
|
99
|
-
}))
|
100
|
-
brightcove_response = brightcove.get('search_videos', 'any=tag:bar&any=tag:foo' )
|
101
|
-
end
|
102
|
-
|
103
|
-
def test_more_complicated_query
|
104
|
-
brightcove = Brightcove::API.new('0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.')
|
105
|
-
brightcove.class.expects(:get).with(anything, has_entry(:query => {
|
106
|
-
:any => ['tag:foo', 'tag:bar'],
|
107
|
-
:all => "search_text:foo",
|
108
|
-
:command => 'search_videos',
|
109
|
-
:token => '0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.'
|
110
|
-
}))
|
111
|
-
brightcove_response = brightcove.get('search_videos', { :any => [ "tag:foo", "tag:bar" ], :all => "search_text:foo" })
|
112
|
-
end
|
113
|
-
|
114
|
-
def test_brightcove_example_query
|
115
|
-
FakeWeb.register_uri(:get,
|
116
|
-
'http://api.brightcove.com/services/library?all=chicago&all=football&all=tag%3Afree&any=tag%3Acolor&any=tag%3Atechnicolor&command=search_videos&token=0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.',
|
117
|
-
:body => File.join(File.dirname(__FILE__), 'fakeweb', 'find_all_videos_response.json'),
|
118
|
-
:content_type => "application/json")
|
119
|
-
|
120
|
-
brightcove = Brightcove::API.new('0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.')
|
121
|
-
brightcove_response = brightcove.get('search_videos', {
|
122
|
-
:any => [ "tag:color", "tag:technicolor" ],
|
123
|
-
:all => ["football", "chicago", "tag:free"]
|
124
|
-
})
|
125
|
-
|
126
|
-
assert_equal 5, brightcove_response['items'].size
|
127
|
-
end
|
128
|
-
|
129
|
-
def test_delete_video
|
130
|
-
FakeWeb.register_uri(:post,
|
131
|
-
'http://api.brightcove.com/services/post',
|
132
|
-
:body => File.join(File.dirname(__FILE__), 'fakeweb', 'delete_video_response.json'),
|
133
|
-
:content_type => "application/json")
|
134
|
-
|
135
|
-
brightcove = Brightcove::API.new('0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.')
|
136
|
-
brightcove_response = brightcove.post('delete_video', {:video_id => '595153261337'})
|
137
|
-
|
138
|
-
assert brightcove_response.has_key?('result')
|
139
|
-
assert_equal brightcove_response['error'], nil
|
140
|
-
end
|
141
|
-
|
142
|
-
def test_create_video_using_post_file
|
143
|
-
FakeWeb.register_uri(:post,
|
144
|
-
'http://api.brightcove.com/services/post',
|
145
|
-
:body => File.join(File.dirname(__FILE__), 'fakeweb', 'create_video_response.json'),
|
146
|
-
:content_type => "application/json")
|
147
|
-
|
148
|
-
brightcove = Brightcove::API.new('0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.')
|
149
|
-
brightcove_response = brightcove.post_file('create_video',
|
150
|
-
File.join(File.dirname(__FILE__), 'fakeweb', 'movie.mov'),
|
151
|
-
:video => {:shortDescription => "Short Description", :name => "Video"})
|
152
|
-
|
153
|
-
assert brightcove_response.has_key?('result')
|
154
|
-
assert_equal '653155417001', brightcove_response['result'].to_s
|
155
|
-
assert_equal brightcove_response['error'], nil
|
156
|
-
end
|
157
|
-
|
158
|
-
def test_create_video_using_post_file_streaming
|
159
|
-
FakeWeb.register_uri(:post,
|
160
|
-
'http://api.brightcove.com/services/post',
|
161
|
-
:body => File.join(File.dirname(__FILE__), 'fakeweb', 'create_video_response.json'),
|
162
|
-
:content_type => "application/json")
|
163
|
-
|
164
|
-
brightcove = Brightcove::API.new('0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.')
|
165
|
-
brightcove_response = brightcove.post_file_streaming('create_video',
|
166
|
-
File.join(File.dirname(__FILE__), 'fakeweb', 'movie.mov'), 'video/quicktime',
|
167
|
-
:video => {:shortDescription => "Short Description", :name => "Video"})
|
168
|
-
|
169
|
-
assert brightcove_response.has_key?('result')
|
170
|
-
assert_equal '653155417001', brightcove_response['result'].to_s
|
171
|
-
assert_equal brightcove_response['error'], nil
|
172
|
-
end
|
173
|
-
end
|