vzaar 1.2.4 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/README.md +1 -2
- data/Rakefile +10 -0
- data/examples/account_details_spec.rb +13 -0
- data/examples/add_subtitle_spec.rb +55 -0
- data/examples/api_envs.yml.example +10 -0
- data/examples/authentication_spec.rb +18 -0
- data/examples/delete_video_spec.rb +40 -0
- data/examples/edit_video_spec.rb +39 -0
- data/examples/generate_thumbnail_spec.rb +65 -0
- data/examples/readme.md +7 -0
- data/examples/spec_helper.rb +100 -0
- data/examples/upload_thumbnail_spec.rb +48 -0
- data/examples/upload_video_spec.rb +62 -0
- data/examples/user_details_spec.rb +12 -0
- data/examples/video_details_spec.rb +37 -0
- data/examples/video_list_spec.rb +19 -0
- data/lib/vzaar/api.rb +4 -1
- data/lib/vzaar/connection.rb +1 -1
- data/lib/vzaar/resources/video_collection.rb +1 -1
- data/lib/vzaar/version.rb +1 -1
- data/spec/support/video.mov +0 -0
- data/spec/vzaar/api_xml_spec.rb +1 -5
- metadata +19 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a0f8c545d337aa9a7a6ac806dbaf953b94626c11
|
|
4
|
+
data.tar.gz: fbf6792107a9b92b0db766751513d556daa99667
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b6ad173b1e4851f03347435aae3a75b36ad4d4dab5405564c244ee712c7f6db36411eb742fe5cc8fed6c5786b6c291f32cb63a11c071a596a8fc001838943cfd
|
|
7
|
+
data.tar.gz: 872224645b46d7a36d2364f21d38e55e903e789f13c85d2ed47a5ba9975d5a09310f049b6ff7a63e3b67603f62174b2187a07fee5e3f5012eb4425256a50b124
|
data/.gitignore
CHANGED
data/README.md
CHANGED
|
@@ -18,8 +18,7 @@ And then execute:
|
|
|
18
18
|
### Usage
|
|
19
19
|
|
|
20
20
|
```ruby
|
|
21
|
-
|
|
22
|
-
api = Vzaar::Api.new(conn)
|
|
21
|
+
api = Vzaar::Api.new(application_token: "API token", login: "vzaar login")
|
|
23
22
|
```
|
|
24
23
|
|
|
25
24
|
If your login and API token are correct, you should be able to fetch your login by calling:
|
data/Rakefile
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require_relative './spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Account Details" do
|
|
4
|
+
context "when user is unauthenticated" do
|
|
5
|
+
before(:all) do
|
|
6
|
+
api = unauthenticated_api()
|
|
7
|
+
@res = api.account_type(34)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it_behaves_like "200 OK"
|
|
11
|
+
specify { expect(@res.title).to eq("Staff") }
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
require_relative './spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Add Subtitle" do
|
|
4
|
+
context "when user is unauthenticated" do
|
|
5
|
+
it_behaves_like "Unauthenticated", -> (api) do
|
|
6
|
+
api.add_subtitle(test_video_id("user1"), body: "x", language: "en")
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
context "Authenticated User" do
|
|
11
|
+
before(:all) do
|
|
12
|
+
@api = _api(login: user1["login"],
|
|
13
|
+
application_token: user1["rw_token"])
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
context "RW token" do
|
|
17
|
+
context "when params are valid" do
|
|
18
|
+
before(:all) do
|
|
19
|
+
@res = @api.add_subtitle(test_video_id("user1"), body: "SRT", language: "en")
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it_behaves_like "202 Accepted"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
context "when language param is blank" do
|
|
26
|
+
before(:all) do
|
|
27
|
+
@res = @api.add_subtitle(test_video_id("user1"), body: "SRT", language: "")
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it_behaves_like "422 Failure"
|
|
31
|
+
|
|
32
|
+
specify { expect(@res.errors.first["language"]).to eq("empty string") }
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
context "RO token" do
|
|
38
|
+
it_behaves_like "RO only", user1["login"], user1["ro_token"], -> (api) do
|
|
39
|
+
api.add_subtitle(test_video_id("user1"), body: "SRT", language: "en")
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
context "when user doesn't have permission to the video" do
|
|
44
|
+
before(:all) do
|
|
45
|
+
@res = @api.add_subtitle(test_video_id("user2"), body: "SRT", language: "en")
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
it_behaves_like "422 Failure"
|
|
49
|
+
|
|
50
|
+
specify do
|
|
51
|
+
expect(@res.errors.first["user"]).to match(/Permission Denied/)
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require_relative './spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Authentication" do
|
|
4
|
+
describe "whoami" do
|
|
5
|
+
context "when user is unauthenticated" do
|
|
6
|
+
it_behaves_like "Unauthenticated", -> (api) { api.whoami }
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
context "when auth success" do
|
|
10
|
+
specify do
|
|
11
|
+
api = _api(login: user1["login"],
|
|
12
|
+
application_token: user1["rw_token"])
|
|
13
|
+
|
|
14
|
+
expect(api.whoami).to eq(user1["login"])
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require_relative './spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Delete Video" do
|
|
4
|
+
vid_id = nil
|
|
5
|
+
|
|
6
|
+
before(:all) do
|
|
7
|
+
file_path = "./spec/support/video.mov"
|
|
8
|
+
desc = "Delete Video"
|
|
9
|
+
@api = _api(login: user1["login"],
|
|
10
|
+
application_token: user1["rw_token"])
|
|
11
|
+
|
|
12
|
+
@title = "api-test-#{rand_str}"
|
|
13
|
+
|
|
14
|
+
res = @api.upload_video(path: file_path, title: @title, description: desc)
|
|
15
|
+
vid_id = res.id
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
context "when user is unauthenticated" do
|
|
19
|
+
it_behaves_like "Unauthenticated", -> (api) do
|
|
20
|
+
api.delete_video(vid_id)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
context "Authenticated User" do
|
|
25
|
+
context "RW token" do
|
|
26
|
+
before(:all) do
|
|
27
|
+
@res = @api.delete_video(vid_id)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
specify { expect(@res.http_status_code).to eq 200 }
|
|
31
|
+
specify { expect(@res.title).to eq(@title) }
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
context "RO token" do
|
|
35
|
+
it_behaves_like "RO only", user1["login"], user1["ro_token"], -> (api) do
|
|
36
|
+
api.delete_video(vid_id)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require_relative './spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Upload Thumbnail" do
|
|
4
|
+
context "when user is unauthenticated" do
|
|
5
|
+
it_behaves_like "Unauthenticated", -> (api) do
|
|
6
|
+
api.edit_video(test_video_id("user1"), title: "foo")
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
context "Authenticated User" do
|
|
11
|
+
context "RW token" do
|
|
12
|
+
before(:all) do
|
|
13
|
+
@api = _api(login: user1["login"],
|
|
14
|
+
application_token: user1["rw_token"])
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe "updating params" do
|
|
18
|
+
before(:all) do
|
|
19
|
+
@title = rand_str()
|
|
20
|
+
@desc = rand_str()
|
|
21
|
+
@res = @api.edit_video(test_video_id("user1"),
|
|
22
|
+
title: @title,
|
|
23
|
+
description: @desc)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it_behaves_like "200 OK"
|
|
27
|
+
|
|
28
|
+
specify { expect(@res.title).to eq(@title) }
|
|
29
|
+
specify { expect(@res.description).to eq(@desc) }
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
context "RO token" do
|
|
34
|
+
it_behaves_like "RO only", user1["login"], user1["ro_token"], -> (api) do
|
|
35
|
+
api.edit_video(test_video_id("user1"), title: "woof")
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
require_relative './spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Generate Thumbnail" do
|
|
4
|
+
before(:all) do
|
|
5
|
+
@video_id = test_video_id("user1")
|
|
6
|
+
@video_id2 = test_video_id("user2")
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
context "when user is unauthenticated" do
|
|
10
|
+
it_behaves_like "Unauthenticated", -> (api) do
|
|
11
|
+
api.generate_thumbnail(test_video_id("user1"), time: 3)
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
context "Authenticated User" do
|
|
16
|
+
context "RW token" do
|
|
17
|
+
before(:all) do
|
|
18
|
+
@api = _api(login: user1["login"],
|
|
19
|
+
application_token: user1["rw_token"])
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
context "when params are valid" do
|
|
23
|
+
before(:all) do
|
|
24
|
+
@res = @api.generate_thumbnail(test_video_id("user1"), time: 3)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it_behaves_like "202 Accepted"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
context "when time param is invalid" do
|
|
31
|
+
before(:all) do
|
|
32
|
+
@res = @api.generate_thumbnail(test_video_id("user1"), time: "invalid")
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it_behaves_like "422 Failure"
|
|
36
|
+
|
|
37
|
+
specify do
|
|
38
|
+
expect(@res.errors.first["thumb_time"]).to eq("invalid integer")
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
context "RO token" do
|
|
45
|
+
it_behaves_like "RO only", user1["login"], user1["ro_token"], -> (api) do
|
|
46
|
+
api.generate_thumbnail(test_video_id("user1"), time: 3)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
context "when user doesn't have permission to the video" do
|
|
52
|
+
before(:all) do
|
|
53
|
+
api = _api(login: user1["login"],
|
|
54
|
+
application_token: user1["rw_token"])
|
|
55
|
+
@res = api.generate_thumbnail(test_video_id("user2"), time: 3)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
it_behaves_like "422 Failure"
|
|
59
|
+
|
|
60
|
+
specify do
|
|
61
|
+
expect(@res.errors.first["user"]).to match(/Permission Denied/)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
data/examples/readme.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
To run the tests you need to setup 2 testing accounts on vzaar app and upload testing video to your first account.
|
|
2
|
+
Then generate RW and RO tokens for each account.
|
|
3
|
+
|
|
4
|
+
After that copy examples/api_envs.yml.example to the main gem's directory (as a api_envs.yml) and fill config with the data from your accounts.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
rake spec:api:dev will run all api specs
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
require 'rspec'
|
|
2
|
+
require 'vzaar'
|
|
3
|
+
require 'yaml'
|
|
4
|
+
require 'pry'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
RSpec.shared_examples("RO only") do |login, token, fn|
|
|
8
|
+
specify do
|
|
9
|
+
api = _api(login: login, application_token: token)
|
|
10
|
+
|
|
11
|
+
expect do
|
|
12
|
+
fn.call(api)
|
|
13
|
+
end.to raise_error(Vzaar::Error, "Protected Resource")
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
RSpec.shared_examples("Unauthenticated") do |fn|
|
|
19
|
+
specify do
|
|
20
|
+
api = unauthenticated_api()
|
|
21
|
+
expect do
|
|
22
|
+
fn.call(api)
|
|
23
|
+
end.to raise_error(Vzaar::Error, "Protected Resource")
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
RSpec.shared_examples("422 Failure") do
|
|
29
|
+
specify { expect(@res.http_status_code).to eq(422) }
|
|
30
|
+
specify { expect(@res.status).to eq("Failure") }
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
RSpec.shared_examples("202 Accepted") do
|
|
34
|
+
specify { expect(@res.http_status_code).to eq 202 }
|
|
35
|
+
specify { expect(@res.status).to eq("Accepted") }
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
RSpec.shared_examples("200 OK") do
|
|
39
|
+
specify { expect(@res.http_status_code).to eq 200 }
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
RSpec.shared_examples("401 Unauthorized") do
|
|
43
|
+
specify { expect(@res.http_status_code).to eq 401 }
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def env
|
|
47
|
+
ENV["API_ENV"] || "development"
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def server
|
|
51
|
+
case env
|
|
52
|
+
when "development" then "http://app.vzaar.localhost"
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def api_envs
|
|
57
|
+
@api_envs ||= YAML.load_file("api_envs.yml")
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def user1
|
|
61
|
+
api_envs[env]["user1"]
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def user2
|
|
65
|
+
api_envs[env]["user2"]
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def user_with_public_api
|
|
69
|
+
api_envs[env]["user_with_public_api"]
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def user_with_public_videos_access_only
|
|
73
|
+
api_envs[env]["user_with_public_videos_access_only"]
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def test_video_id(account)
|
|
77
|
+
api_envs[env][account]["test_video_id"]
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def user_ro
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def conn_params(params={})
|
|
84
|
+
{ application_token: params[:application_token],
|
|
85
|
+
login: params[:login],
|
|
86
|
+
server: server,
|
|
87
|
+
force_http: true }
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def _api(params)
|
|
91
|
+
Vzaar::Api.new(conn_params(params))
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def unauthenticated_api
|
|
95
|
+
_api(login: "unknown", application_token: "wrong")
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def rand_str
|
|
99
|
+
(0...8).map { (65 + rand(26)).chr }.join
|
|
100
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
require_relative './spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Upload Thumbnail" do
|
|
4
|
+
file_path = "./spec/support/pic.jpg"
|
|
5
|
+
|
|
6
|
+
context "when user is unauthenticated" do
|
|
7
|
+
it_behaves_like "Unauthenticated", -> (api) do
|
|
8
|
+
api.upload_thumbnail(test_video_id("user1"), path: file_path)
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
context "Authenticated User" do
|
|
13
|
+
context "RW token" do
|
|
14
|
+
before(:all) do
|
|
15
|
+
@api = _api(login: user1["login"],
|
|
16
|
+
application_token: user1["rw_token"])
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
context "when params are valid" do
|
|
20
|
+
before(:all) do
|
|
21
|
+
@res = @api.upload_thumbnail(test_video_id("user1"), path: file_path)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it_behaves_like "202 Accepted"
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
context "RO token" do
|
|
29
|
+
it_behaves_like "RO only", user1["login"], user1["ro_token"], -> (api) do
|
|
30
|
+
api.upload_thumbnail(test_video_id("user1"), path: file_path)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
context "when user doesn't have permission to the video" do
|
|
35
|
+
before(:all) do
|
|
36
|
+
api = _api(login: user1["login"],
|
|
37
|
+
application_token: user1["rw_token"])
|
|
38
|
+
@res = api.upload_thumbnail(test_video_id("user2"), path: file_path)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
it_behaves_like "422 Failure"
|
|
42
|
+
|
|
43
|
+
specify do
|
|
44
|
+
expect(@res.errors.first["user"]).to match(/Permission Denied/)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require_relative './spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Upload Video" do
|
|
4
|
+
|
|
5
|
+
context "File uploads" do
|
|
6
|
+
file_path = "./spec/support/video.mov"
|
|
7
|
+
desc = "Upload Video/File Uploads"
|
|
8
|
+
|
|
9
|
+
context "Authenticated User" do
|
|
10
|
+
context "RW token" do
|
|
11
|
+
before(:all) do
|
|
12
|
+
api = _api(login: user1["login"],
|
|
13
|
+
application_token: user1["rw_token"])
|
|
14
|
+
|
|
15
|
+
title = "api-test-#{rand_str}"
|
|
16
|
+
@res = api.upload_video(path: file_path, title: title, description: desc)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
specify { expect(@res.http_status_code).to eq 201 }
|
|
20
|
+
specify { expect(@res.id.to_s).to match(/^[0-9]+$/) }
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
context "RO token" do
|
|
24
|
+
it_behaves_like "RO only", user1["login"], user1["ro_token"], -> (api) do
|
|
25
|
+
api.upload_video(path: file_path, description: desc)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
context "when user is unauthenticated" do
|
|
31
|
+
it_behaves_like "Unauthenticated", -> (api) do
|
|
32
|
+
api.upload_video(path: file_path, title: "woof", description: desc)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
context "Link uploads" do
|
|
40
|
+
desc = "Upload Video/Link Uploads"
|
|
41
|
+
file_url = "http://samples.mplayerhq.hu/MPEG-4/turn-on-off.mp4"
|
|
42
|
+
|
|
43
|
+
context "Authenticated User" do
|
|
44
|
+
before(:all) do
|
|
45
|
+
api = _api(login: user1["login"],
|
|
46
|
+
application_token: user1["rw_token"])
|
|
47
|
+
|
|
48
|
+
title = "api-test-#{rand_str}"
|
|
49
|
+
@res = api.upload_video(url: file_url, title: title, description: desc)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
specify { expect(@res.http_status_code).to eq 200 }
|
|
53
|
+
specify { expect(@res.id.to_s).to match(/^[0-9]+$/) }
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
context "when user is unauthenticated" do
|
|
57
|
+
it_behaves_like "Unauthenticated", -> (api) do
|
|
58
|
+
api.upload_video(url: file_url, title: "woof", description: desc)
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require_relative './spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Video Details" do
|
|
4
|
+
context "Fully Protected API" do
|
|
5
|
+
it_behaves_like "Unauthenticated", -> (api) do
|
|
6
|
+
api.video_details(test_video_id("user1"))
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
context "Public API" do
|
|
11
|
+
before(:all) do
|
|
12
|
+
api = unauthenticated_api
|
|
13
|
+
@res = api.video_details(test_video_id("user_with_public_api"))
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it_behaves_like "200 OK"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
context "Protected API with access for public videos" do
|
|
20
|
+
scope = api_envs[env]["user_with_public_videos_access_only"]
|
|
21
|
+
|
|
22
|
+
context "when video is public" do
|
|
23
|
+
before do
|
|
24
|
+
api = unauthenticated_api
|
|
25
|
+
@res = api.video_details(scope["test_public_video_id"])
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it_behaves_like "200 OK"
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
context "when video is private" do
|
|
32
|
+
it_behaves_like "Unauthenticated", -> (api) do
|
|
33
|
+
api.video_details(scope["test_video_id"])
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
require_relative './spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Video List" do
|
|
4
|
+
context "when user is unauthenticated" do
|
|
5
|
+
it_behaves_like "Unauthenticated", -> (api) do
|
|
6
|
+
api.video_list(user1["login"])
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
context "when Public API Feeds is enabled" do
|
|
11
|
+
before(:all) do
|
|
12
|
+
api = unauthenticated_api
|
|
13
|
+
@res = api.video_list(user_with_public_api["login"])
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it_behaves_like "200 OK"
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
data/lib/vzaar/api.rb
CHANGED
data/lib/vzaar/connection.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Vzaar
|
|
|
5
5
|
SERVER = "vzaar.com"
|
|
6
6
|
attr_reader :application_token, :force_http, :login, :options
|
|
7
7
|
|
|
8
|
-
def initialize(options)
|
|
8
|
+
def initialize(options={})
|
|
9
9
|
@options = options
|
|
10
10
|
@application_token = options[:application_token]
|
|
11
11
|
@force_http = options[:force_http]
|
data/lib/vzaar/version.rb
CHANGED
|
Binary file
|
data/spec/vzaar/api_xml_spec.rb
CHANGED
|
@@ -2,9 +2,7 @@ require 'spec_helper'
|
|
|
2
2
|
|
|
3
3
|
module Vzaar
|
|
4
4
|
describe Api do
|
|
5
|
-
|
|
6
|
-
subject { described_class.new connection }
|
|
7
|
-
let(:connection) { Connection.new options }
|
|
5
|
+
subject { described_class.new(options) }
|
|
8
6
|
|
|
9
7
|
let(:application_token) { 'b0v8p14Ugpx5zMgDf6leUOxSt8pkcGCFyBcsh0ugHg' }
|
|
10
8
|
let(:force_http) { false }
|
|
@@ -20,8 +18,6 @@ module Vzaar
|
|
|
20
18
|
}
|
|
21
19
|
end
|
|
22
20
|
|
|
23
|
-
specify { expect(subject.conn).to eq(connection) }
|
|
24
|
-
|
|
25
21
|
describe "#whoami" do
|
|
26
22
|
context "with valid credentials" do
|
|
27
23
|
it "returns the user login" do
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vzaar
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ed James
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2014-
|
|
12
|
+
date: 2014-08-22 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: nokogiri
|
|
@@ -184,6 +184,20 @@ files:
|
|
|
184
184
|
- LICENSE.txt
|
|
185
185
|
- README.md
|
|
186
186
|
- Rakefile
|
|
187
|
+
- examples/account_details_spec.rb
|
|
188
|
+
- examples/add_subtitle_spec.rb
|
|
189
|
+
- examples/api_envs.yml.example
|
|
190
|
+
- examples/authentication_spec.rb
|
|
191
|
+
- examples/delete_video_spec.rb
|
|
192
|
+
- examples/edit_video_spec.rb
|
|
193
|
+
- examples/generate_thumbnail_spec.rb
|
|
194
|
+
- examples/readme.md
|
|
195
|
+
- examples/spec_helper.rb
|
|
196
|
+
- examples/upload_thumbnail_spec.rb
|
|
197
|
+
- examples/upload_video_spec.rb
|
|
198
|
+
- examples/user_details_spec.rb
|
|
199
|
+
- examples/video_details_spec.rb
|
|
200
|
+
- examples/video_list_spec.rb
|
|
187
201
|
- lib/vzaar.rb
|
|
188
202
|
- lib/vzaar/api.rb
|
|
189
203
|
- lib/vzaar/connection.rb
|
|
@@ -263,6 +277,7 @@ files:
|
|
|
263
277
|
- spec/support/cfx.jpeg
|
|
264
278
|
- spec/support/cfx.png
|
|
265
279
|
- spec/support/pic.jpg
|
|
280
|
+
- spec/support/video.mov
|
|
266
281
|
- spec/support/video.mp4
|
|
267
282
|
- spec/vzaar/api_xml_spec.rb
|
|
268
283
|
- spec/vzaar/connection_spec.rb
|
|
@@ -297,7 +312,7 @@ rubyforge_project:
|
|
|
297
312
|
rubygems_version: 2.2.2
|
|
298
313
|
signing_key:
|
|
299
314
|
specification_version: 4
|
|
300
|
-
summary: vzaar-1.
|
|
315
|
+
summary: vzaar-1.3.0
|
|
301
316
|
test_files:
|
|
302
317
|
- spec/fixtures/vcr_cassettes/account_type-fail.yml
|
|
303
318
|
- spec/fixtures/vcr_cassettes/account_type-success.yml
|
|
@@ -337,6 +352,7 @@ test_files:
|
|
|
337
352
|
- spec/support/cfx.jpeg
|
|
338
353
|
- spec/support/cfx.png
|
|
339
354
|
- spec/support/pic.jpg
|
|
355
|
+
- spec/support/video.mov
|
|
340
356
|
- spec/support/video.mp4
|
|
341
357
|
- spec/vzaar/api_xml_spec.rb
|
|
342
358
|
- spec/vzaar/connection_spec.rb
|