tmdby 1.0.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 +7 -0
- data/.gitignore +14 -0
- data/Gemfile +3 -0
- data/LICENSE.txt +22 -0
- data/README.md +31 -0
- data/Rakefile +2 -0
- data/lib/tmdby/client.rb +43 -0
- data/lib/tmdby/helpers/authentication.rb +17 -0
- data/lib/tmdby/response.rb +17 -0
- data/lib/tmdby/setup.rb +0 -0
- data/lib/tmdby/version.rb +3 -0
- data/lib/tmdby/wrapper.rb +62 -0
- data/lib/tmdby/wrappers/account.rb +103 -0
- data/lib/tmdby/wrappers/authentication.rb +32 -0
- data/lib/tmdby/wrappers/certifications.rb +15 -0
- data/lib/tmdby/wrappers/changes.rb +31 -0
- data/lib/tmdby/wrappers/collections.rb +20 -0
- data/lib/tmdby/wrappers/companies.rb +19 -0
- data/lib/tmdby/wrappers/configuration.rb +11 -0
- data/lib/tmdby/wrappers/credits.rb +13 -0
- data/lib/tmdby/wrappers/discover.rb +27 -0
- data/lib/tmdby/wrappers/find.rb +21 -0
- data/lib/tmdby/wrappers/genres.rb +27 -0
- data/lib/tmdby/wrappers/guest_sessions.rb +13 -0
- data/lib/tmdby/wrappers/jobs.rb +11 -0
- data/lib/tmdby/wrappers/keywords.rb +18 -0
- data/lib/tmdby/wrappers/lists.rb +67 -0
- data/lib/tmdby/wrappers/movies.rb +143 -0
- data/lib/tmdby/wrappers/networks.rb +11 -0
- data/lib/tmdby/wrappers/people.rb +71 -0
- data/lib/tmdby/wrappers/reviews.rb +11 -0
- data/lib/tmdby/wrappers/search.rb +71 -0
- data/lib/tmdby/wrappers/timezones.rb +11 -0
- data/lib/tmdby/wrappers/tv.rb +131 -0
- data/lib/tmdby/wrappers/tv_episodes.rb +63 -0
- data/lib/tmdby/wrappers/tv_seasons.rb +54 -0
- data/lib/tmdby.rb +47 -0
- data/tests/credentials.rb +7 -0
- data/tests/minitest/client_test.rb +60 -0
- data/tests/minitest/setup_test.rb +35 -0
- data/tests/minitest/wrapper_test.rb +64 -0
- data/tests/minitest/wrappers/account_test.rb +100 -0
- data/tests/minitest/wrappers/authentication_test.rb +50 -0
- data/tests/minitest/wrappers/certifications_test.rb +27 -0
- data/tests/minitest/wrappers/changes_test.rb +34 -0
- data/tests/minitest/wrappers/collections_test.rb +29 -0
- data/tests/minitest/wrappers/companies_test.rb +32 -0
- data/tests/minitest/wrappers/credits_test.rb +22 -0
- data/tests/minitest/wrappers/discover_test.rb +26 -0
- data/tests/minitest/wrappers/find_test.rb +18 -0
- data/tests/minitest/wrappers/genres_test.rb +35 -0
- data/tests/minitest/wrappers/guest_sessions_test.rb +20 -0
- data/tests/minitest/wrappers/jobs_test.rb +18 -0
- data/tests/minitest/wrappers/keywords_test.rb +27 -0
- data/tests/minitest/wrappers/lists_test.rb +124 -0
- data/tests/minitest/wrappers/minitest_wrapper.rb +40 -0
- data/tests/minitest/wrappers/movies_test.rb +177 -0
- data/tests/minitest/wrappers/networks_test.rb +18 -0
- data/tests/minitest/wrappers/people_test.rb +99 -0
- data/tests/minitest/wrappers/reviews_test.rb +18 -0
- data/tests/minitest/wrappers/search_test.rb +74 -0
- data/tests/minitest/wrappers/timezones_test.rb +21 -0
- data/tests/minitest/wrappers/tv_episodes_test.rb +87 -0
- data/tests/minitest/wrappers/tv_seasons_test.rb +76 -0
- data/tests/minitest/wrappers/tv_test.rb +171 -0
- data/tests/minitest_all.rb +13 -0
- data/tmdby.gemspec +24 -0
- metadata +152 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
require 'minitest/autorun'
|
|
2
|
+
require 'tmdby'
|
|
3
|
+
|
|
4
|
+
class TestClient < Minitest::Test
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
Tmdby::Setup.key = nil
|
|
8
|
+
Tmdby::Setup.default_language = nil
|
|
9
|
+
|
|
10
|
+
@client = Tmdby::Client
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def test_get_uri
|
|
14
|
+
Tmdby::Setup.key = "key"
|
|
15
|
+
route = "route/hello"
|
|
16
|
+
params = {"k1" => "v1", "k2" =>"v2"}
|
|
17
|
+
|
|
18
|
+
assert_equal "http://api.themoviedb.org/3/route/hello?k1=v1&k2=v2&api_key=key", @client.get_uri(route, params).to_s
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_call
|
|
22
|
+
# api_key is required
|
|
23
|
+
assert_raises(RuntimeError) do
|
|
24
|
+
@client.api_call('get', "")
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# valid api_key is required
|
|
28
|
+
Tmdby::Setup.key = "invalid_key"
|
|
29
|
+
params = {"k1" => "v1", "k2" =>"v2"}
|
|
30
|
+
assert_raises(RuntimeError) do
|
|
31
|
+
@client.api_call('get', '', params)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# valid method_call is required
|
|
35
|
+
Tmdby::Setup.key = API_KEY
|
|
36
|
+
assert_raises(RuntimeError) do
|
|
37
|
+
@client.api_call('this_is_invalid_method_call', '')
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# valid api route ressource is required
|
|
41
|
+
assert_raises(RuntimeError) do
|
|
42
|
+
@client.api_call('get', 'this_is_invalid_api_route')
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Assert GET call is properly triggered
|
|
46
|
+
response = @client.api_call('get', 'configuration')
|
|
47
|
+
assert_instance_of Tmdby::Response, response
|
|
48
|
+
assert_equal "200", response.code
|
|
49
|
+
assert_equal "GET", response.http_verb
|
|
50
|
+
assert_equal @client.get_uri('configuration'), response.uri
|
|
51
|
+
assert_includes response.headers, "content-length"
|
|
52
|
+
assert_includes response.body, "images"
|
|
53
|
+
assert_includes response.body, "change_keys"
|
|
54
|
+
|
|
55
|
+
skip
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
require 'minitest/autorun'
|
|
2
|
+
require 'tmdby'
|
|
3
|
+
|
|
4
|
+
class TestSetup < Minitest::Test
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
@setup = Tmdby::Setup
|
|
8
|
+
@setup.key = nil
|
|
9
|
+
@setup.default_language = nil
|
|
10
|
+
@setup.secure = false
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def teardown
|
|
14
|
+
@setup.secure = false
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def test_set_key
|
|
18
|
+
@setup.key = "this_is_a_key"
|
|
19
|
+
assert_equal "this_is_a_key", @setup.key
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_set_default_language
|
|
23
|
+
@setup.default_language = "fr"
|
|
24
|
+
assert_equal "fr", @setup.default_language
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_secure
|
|
28
|
+
assert_equal "http", @setup.api_scheme
|
|
29
|
+
|
|
30
|
+
@setup.secure = true
|
|
31
|
+
assert_equal "https", @setup.api_scheme
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
require 'minitest/autorun'
|
|
2
|
+
require 'tmdby'
|
|
3
|
+
|
|
4
|
+
class TestWrapper < Minitest::Test
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
Tmdby::Setup.key = nil
|
|
8
|
+
Tmdby::Setup.default_language = nil
|
|
9
|
+
|
|
10
|
+
@wrapper = Tmdby::Wrapper
|
|
11
|
+
@wrapper.params = {}
|
|
12
|
+
@wrapper.clean_params = {}
|
|
13
|
+
@wrapper.post_params = {}
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_route
|
|
17
|
+
assert_equal "", @wrapper.route("")
|
|
18
|
+
assert_equal "hello", @wrapper.route("hello")
|
|
19
|
+
|
|
20
|
+
@wrapper.root = "root"
|
|
21
|
+
|
|
22
|
+
assert_equal "root", @wrapper.route("")
|
|
23
|
+
assert_equal "root/hello", @wrapper.route("hello")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_verify_params
|
|
27
|
+
@wrapper.params = {'k1' => 'v1', 'k2' => 'v2'}
|
|
28
|
+
|
|
29
|
+
@wrapper.verify_params(['k1', 'k2']) # this ensures that if no error is raised, the function works as expected. No need to use minitest assertions
|
|
30
|
+
assert_raises(RuntimeError) { @wrapper.verify_params(['k2']) }
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_add_default_language
|
|
34
|
+
@wrapper.add_default_language
|
|
35
|
+
assert_empty @wrapper.params # no language is expexted
|
|
36
|
+
|
|
37
|
+
@wrapper.params = {'language' => 'fr'}
|
|
38
|
+
@wrapper.add_default_language
|
|
39
|
+
assert_equal({'language' => 'fr'}, @wrapper.params) # wrapper-level language value is expected
|
|
40
|
+
|
|
41
|
+
@wrapper.params = {'language' => 'fr'}
|
|
42
|
+
Tmdby::Setup.default_language = "en"
|
|
43
|
+
@wrapper.add_default_language
|
|
44
|
+
assert_equal({'language' => 'fr'}, @wrapper.params) # wrapper-level language value is expected
|
|
45
|
+
|
|
46
|
+
@wrapper.params = {}
|
|
47
|
+
@wrapper.add_default_language
|
|
48
|
+
assert_equal({'language' => 'en'}, @wrapper.params) # client default-level language value is expected
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def test_handle_post_params
|
|
52
|
+
@wrapper.params = {k1:'v1', k2:'v2', k3:150, k4:'abc', k5:6, "k7" => 'hello'}
|
|
53
|
+
|
|
54
|
+
@wrapper.handle_post_params ['k2', 'k3']
|
|
55
|
+
|
|
56
|
+
assert_equal({'k1' => 'v1', 'k4' => 'abc', 'k5' => 6, 'k7' => 'hello'}, @wrapper.clean_params)
|
|
57
|
+
assert_equal({'k2' =>'v2', 'k3' => 150}, @wrapper.post_params)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_fetch
|
|
61
|
+
skip
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestAccount < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@@session_id ||= Tmdby::Authentication.get_session_id USERNAME, PASSWORD
|
|
8
|
+
@account = Tmdby::Account
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def test_get
|
|
12
|
+
multi_assert @account.get(@@session_id),
|
|
13
|
+
uri: "http://api.themoviedb.org/3/account?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
14
|
+
http_verb: "GET",
|
|
15
|
+
code: "200"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_lists
|
|
19
|
+
multi_assert @account.lists(ACCOUNT_ID, @@session_id),
|
|
20
|
+
uri: "http://api.themoviedb.org/3/account/#{ACCOUNT_ID}/lists?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
21
|
+
http_verb: "GET",
|
|
22
|
+
code: "200",
|
|
23
|
+
includes: "results"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_favorite_movies
|
|
27
|
+
multi_assert @account.favorite_movies(ACCOUNT_ID, @@session_id),
|
|
28
|
+
uri: "http://api.themoviedb.org/3/account/#{ACCOUNT_ID}/favorite/movies?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
29
|
+
http_verb: "GET",
|
|
30
|
+
code: "200",
|
|
31
|
+
includes: "results"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_favorite_tv
|
|
35
|
+
multi_assert @account.favorite_tv(ACCOUNT_ID, @@session_id),
|
|
36
|
+
uri: "http://api.themoviedb.org/3/account/#{ACCOUNT_ID}/favorite/tv?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
37
|
+
http_verb: "GET",
|
|
38
|
+
code: "200",
|
|
39
|
+
includes: "results"
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_favorite
|
|
43
|
+
multi_assert @account.favorite(ACCOUNT_ID, @@session_id, "movie", 550, true),
|
|
44
|
+
uri: "http://api.themoviedb.org/3/account/#{ACCOUNT_ID}/favorite?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
45
|
+
http_verb: "POST",
|
|
46
|
+
post_params: {"media_type" => "movie", "media_id" => 550, "favorite" => true},
|
|
47
|
+
code: "201",
|
|
48
|
+
status_code: 12
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def test_rated_movies
|
|
52
|
+
multi_assert @account.rated_movies(ACCOUNT_ID, @@session_id),
|
|
53
|
+
uri: "http://api.themoviedb.org/3/account/#{ACCOUNT_ID}/rated/movies?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
54
|
+
http_verb: "GET",
|
|
55
|
+
code: "200",
|
|
56
|
+
includes: "results"
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def test_rated_tv
|
|
60
|
+
multi_assert @account.rated_tv(ACCOUNT_ID, @@session_id),
|
|
61
|
+
uri: "http://api.themoviedb.org/3/account/#{ACCOUNT_ID}/rated/tv?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
62
|
+
http_verb: "GET",
|
|
63
|
+
code: "200",
|
|
64
|
+
includes: "results"
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def test_rated_tv_episodes
|
|
68
|
+
multi_assert @account.rated_tv_episodes(ACCOUNT_ID, @@session_id),
|
|
69
|
+
uri: "http://api.themoviedb.org/3/account/#{ACCOUNT_ID}/rated/tv/episodes?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
70
|
+
http_verb: "GET",
|
|
71
|
+
code: "200",
|
|
72
|
+
includes: "results"
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def test_watchlist_movies
|
|
76
|
+
multi_assert @account.watchlist_movies(ACCOUNT_ID, @@session_id),
|
|
77
|
+
uri: "http://api.themoviedb.org/3/account/#{ACCOUNT_ID}/watchlist/movies?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
78
|
+
http_verb: "GET",
|
|
79
|
+
code: "200",
|
|
80
|
+
includes: "results"
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def test_watchlist_tv
|
|
84
|
+
multi_assert @account.watchlist_tv(ACCOUNT_ID, @@session_id),
|
|
85
|
+
uri: "http://api.themoviedb.org/3/account/#{ACCOUNT_ID}/watchlist/tv?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
86
|
+
http_verb: "GET",
|
|
87
|
+
code: "200",
|
|
88
|
+
includes: "results"
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def test_watchlist
|
|
92
|
+
multi_assert @account.watchlist(ACCOUNT_ID, @@session_id, "movie", 550, true),
|
|
93
|
+
uri: "http://api.themoviedb.org/3/account/#{ACCOUNT_ID}/watchlist?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
94
|
+
http_verb: "POST",
|
|
95
|
+
post_params: {"media_type" => "movie", "media_id" => 550, "watchlist" => true},
|
|
96
|
+
code: "201",
|
|
97
|
+
status_code: 12
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestAuthentication < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@authentication = Tmdby::Authentication
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_token_new
|
|
11
|
+
multi_assert @authentication.token_new,
|
|
12
|
+
uri: "http://api.themoviedb.org/3/authentication/token/new?api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
not_nil: "request_token"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_token_validate_with_login
|
|
19
|
+
token = @authentication.token_new.body["request_token"]
|
|
20
|
+
|
|
21
|
+
multi_assert @authentication.token_validate_with_login(token, USERNAME, PASSWORD),
|
|
22
|
+
uri: "http://api.themoviedb.org/3/authentication/token/validate_with_login?request_token=#{token}&username=#{USERNAME}&password=#{PASSWORD}&api_key=#{API_KEY}",
|
|
23
|
+
http_verb: "GET",
|
|
24
|
+
code: "200",
|
|
25
|
+
not_nil: "request_token",
|
|
26
|
+
must_be_true: "success"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def test_session_new
|
|
30
|
+
token = @authentication.token_new.body["request_token"]
|
|
31
|
+
@authentication.token_validate_with_login(token, USERNAME, PASSWORD)
|
|
32
|
+
|
|
33
|
+
multi_assert @authentication.session_new(token),
|
|
34
|
+
uri: "http://api.themoviedb.org/3/authentication/session/new?request_token=#{token}&api_key=#{API_KEY}",
|
|
35
|
+
http_verb: "GET",
|
|
36
|
+
code: "200",
|
|
37
|
+
not_nil: "session_id",
|
|
38
|
+
must_be_true: "success"
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_guest_session_new
|
|
42
|
+
multi_assert @authentication.guest_session_new,
|
|
43
|
+
uri: "http://api.themoviedb.org/3/authentication/guest_session/new?api_key=#{API_KEY}",
|
|
44
|
+
http_verb: "GET",
|
|
45
|
+
code: "200",
|
|
46
|
+
not_nil: "guest_session_id",
|
|
47
|
+
must_be_true: "success"
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestCertifications < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@certifications = Tmdby::Certifications
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_movie_list
|
|
11
|
+
multi_assert @certifications.movie_list,
|
|
12
|
+
uri: "http://api.themoviedb.org/3/certification/movie/list?api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
includes: "certifications"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_tv_list
|
|
19
|
+
multi_assert @certifications.tv_list,
|
|
20
|
+
uri: "http://api.themoviedb.org/3/certification/tv/list?api_key=#{API_KEY}",
|
|
21
|
+
http_verb: "GET",
|
|
22
|
+
code: "200",
|
|
23
|
+
includes: "certifications"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestChanges < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@changes = Tmdby::Changes
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_movie
|
|
11
|
+
multi_assert @changes.movie,
|
|
12
|
+
uri: "http://api.themoviedb.org/3/movie/changes?api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
includes: "results"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_person
|
|
19
|
+
multi_assert @changes.person,
|
|
20
|
+
uri: "http://api.themoviedb.org/3/person/changes?api_key=#{API_KEY}",
|
|
21
|
+
http_verb: "GET",
|
|
22
|
+
code: "200",
|
|
23
|
+
includes: "results"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_tv
|
|
27
|
+
multi_assert @changes.tv,
|
|
28
|
+
uri: "http://api.themoviedb.org/3/tv/changes?api_key=#{API_KEY}",
|
|
29
|
+
http_verb: "GET",
|
|
30
|
+
code: "200",
|
|
31
|
+
includes: "results"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestCollections < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@collections = Tmdby::Collections
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_get
|
|
11
|
+
multi_assert @collections.get(10),
|
|
12
|
+
uri: "http://api.themoviedb.org/3/collection/10?api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
id: 10,
|
|
16
|
+
not_empty: "parts"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_images
|
|
20
|
+
multi_assert @collections.images(10),
|
|
21
|
+
uri: "http://api.themoviedb.org/3/collection/10/images?api_key=#{API_KEY}",
|
|
22
|
+
http_verb: "GET",
|
|
23
|
+
code: "200",
|
|
24
|
+
id: 10,
|
|
25
|
+
not_empty: "backdrops"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestCompanies < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@companies = Tmdby::Companies
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_get
|
|
11
|
+
response = @companies.get 1
|
|
12
|
+
|
|
13
|
+
multi_assert response,
|
|
14
|
+
uri: "http://api.themoviedb.org/3/company/1?api_key=#{API_KEY}",
|
|
15
|
+
http_verb: "GET",
|
|
16
|
+
code: "200",
|
|
17
|
+
id: 1
|
|
18
|
+
|
|
19
|
+
assert_equal "Lucasfilm", response.body["name"]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_movies
|
|
23
|
+
multi_assert @companies.movies(1),
|
|
24
|
+
uri: "http://api.themoviedb.org/3/company/1/movies?api_key=#{API_KEY}",
|
|
25
|
+
http_verb: "GET",
|
|
26
|
+
code: "200",
|
|
27
|
+
id: 1,
|
|
28
|
+
not_empty: "results"
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestCredits < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@credits = Tmdby::Credits
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_get
|
|
11
|
+
response = @credits.get "52542282760ee313280017f9"
|
|
12
|
+
|
|
13
|
+
multi_assert response,
|
|
14
|
+
uri: "http://api.themoviedb.org/3/credit/52542282760ee313280017f9?api_key=#{API_KEY}",
|
|
15
|
+
http_verb: "GET",
|
|
16
|
+
code: "200",
|
|
17
|
+
not_empty: "media"
|
|
18
|
+
|
|
19
|
+
assert_equal "cast", response.body["credit_type"]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestDiscover < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@discover = Tmdby::Discover
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_movie
|
|
11
|
+
multi_assert @discover.movie(year: 1994, with_cast: 1269),
|
|
12
|
+
uri: "http://api.themoviedb.org/3/discover/movie?year=1994&with_cast=1269&api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
not_empty: "results"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_tv
|
|
19
|
+
multi_assert @discover.tv(first_air_date_year: 1994, 'language' => 'fr'),
|
|
20
|
+
uri: "http://api.themoviedb.org/3/discover/tv?first_air_date_year=1994&language=fr&api_key=#{API_KEY}",
|
|
21
|
+
http_verb: "GET",
|
|
22
|
+
code: "200",
|
|
23
|
+
not_empty: "results"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestFind < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@find = Tmdby::Find
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_get
|
|
11
|
+
multi_assert @find.get("tt0266543", "imdb_id"),
|
|
12
|
+
uri: "http://api.themoviedb.org/3/find/tt0266543?external_source=imdb_id&api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
includes: "movie_results"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestGenres < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@genres = Tmdby::Genres
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_movie_list
|
|
11
|
+
multi_assert @genres.movie_list,
|
|
12
|
+
uri: "http://api.themoviedb.org/3/genre/movie/list?api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
not_empty: "genres"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_tv_list
|
|
19
|
+
multi_assert @genres.tv_list,
|
|
20
|
+
uri: "http://api.themoviedb.org/3/genre/tv/list?api_key=#{API_KEY}",
|
|
21
|
+
http_verb: "GET",
|
|
22
|
+
code: "200",
|
|
23
|
+
not_empty: "genres"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_movies
|
|
27
|
+
multi_assert @genres.movies(35),
|
|
28
|
+
uri: "http://api.themoviedb.org/3/genre/35/movies?api_key=#{API_KEY}",
|
|
29
|
+
http_verb: "GET",
|
|
30
|
+
code: "200",
|
|
31
|
+
id: 35,
|
|
32
|
+
not_empty: "results"
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestGuestSessions < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@guest_sessions = Tmdby::GuestSessions
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_rated_movies
|
|
11
|
+
guest_session_id = Tmdby::Authentication.guest_session_new.body["guest_session_id"]
|
|
12
|
+
|
|
13
|
+
multi_assert @guest_sessions.rated_movies(guest_session_id),
|
|
14
|
+
uri: "http://api.themoviedb.org/3/guest_session/#{guest_session_id}/rated_movies?api_key=#{API_KEY}",
|
|
15
|
+
http_verb: "GET",
|
|
16
|
+
code: "200",
|
|
17
|
+
includes: "results"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestJobs < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@jobs = Tmdby::Jobs
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_list
|
|
11
|
+
multi_assert @jobs.list,
|
|
12
|
+
uri: "http://api.themoviedb.org/3/job/list?api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
not_empty: "jobs"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestKeywords < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@keywords = Tmdby::Keywords
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_get
|
|
11
|
+
multi_assert @keywords.get(1721),
|
|
12
|
+
uri: "http://api.themoviedb.org/3/keyword/1721?api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
id: 1721
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_movies
|
|
19
|
+
multi_assert @keywords.movies(1721),
|
|
20
|
+
uri: "http://api.themoviedb.org/3/keyword/1721/movies?api_key=#{API_KEY}",
|
|
21
|
+
http_verb: "GET",
|
|
22
|
+
code: "200",
|
|
23
|
+
id: 1721,
|
|
24
|
+
not_empty: "results"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|