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.
Files changed (68) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/Gemfile +3 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +31 -0
  6. data/Rakefile +2 -0
  7. data/lib/tmdby/client.rb +43 -0
  8. data/lib/tmdby/helpers/authentication.rb +17 -0
  9. data/lib/tmdby/response.rb +17 -0
  10. data/lib/tmdby/setup.rb +0 -0
  11. data/lib/tmdby/version.rb +3 -0
  12. data/lib/tmdby/wrapper.rb +62 -0
  13. data/lib/tmdby/wrappers/account.rb +103 -0
  14. data/lib/tmdby/wrappers/authentication.rb +32 -0
  15. data/lib/tmdby/wrappers/certifications.rb +15 -0
  16. data/lib/tmdby/wrappers/changes.rb +31 -0
  17. data/lib/tmdby/wrappers/collections.rb +20 -0
  18. data/lib/tmdby/wrappers/companies.rb +19 -0
  19. data/lib/tmdby/wrappers/configuration.rb +11 -0
  20. data/lib/tmdby/wrappers/credits.rb +13 -0
  21. data/lib/tmdby/wrappers/discover.rb +27 -0
  22. data/lib/tmdby/wrappers/find.rb +21 -0
  23. data/lib/tmdby/wrappers/genres.rb +27 -0
  24. data/lib/tmdby/wrappers/guest_sessions.rb +13 -0
  25. data/lib/tmdby/wrappers/jobs.rb +11 -0
  26. data/lib/tmdby/wrappers/keywords.rb +18 -0
  27. data/lib/tmdby/wrappers/lists.rb +67 -0
  28. data/lib/tmdby/wrappers/movies.rb +143 -0
  29. data/lib/tmdby/wrappers/networks.rb +11 -0
  30. data/lib/tmdby/wrappers/people.rb +71 -0
  31. data/lib/tmdby/wrappers/reviews.rb +11 -0
  32. data/lib/tmdby/wrappers/search.rb +71 -0
  33. data/lib/tmdby/wrappers/timezones.rb +11 -0
  34. data/lib/tmdby/wrappers/tv.rb +131 -0
  35. data/lib/tmdby/wrappers/tv_episodes.rb +63 -0
  36. data/lib/tmdby/wrappers/tv_seasons.rb +54 -0
  37. data/lib/tmdby.rb +47 -0
  38. data/tests/credentials.rb +7 -0
  39. data/tests/minitest/client_test.rb +60 -0
  40. data/tests/minitest/setup_test.rb +35 -0
  41. data/tests/minitest/wrapper_test.rb +64 -0
  42. data/tests/minitest/wrappers/account_test.rb +100 -0
  43. data/tests/minitest/wrappers/authentication_test.rb +50 -0
  44. data/tests/minitest/wrappers/certifications_test.rb +27 -0
  45. data/tests/minitest/wrappers/changes_test.rb +34 -0
  46. data/tests/minitest/wrappers/collections_test.rb +29 -0
  47. data/tests/minitest/wrappers/companies_test.rb +32 -0
  48. data/tests/minitest/wrappers/credits_test.rb +22 -0
  49. data/tests/minitest/wrappers/discover_test.rb +26 -0
  50. data/tests/minitest/wrappers/find_test.rb +18 -0
  51. data/tests/minitest/wrappers/genres_test.rb +35 -0
  52. data/tests/minitest/wrappers/guest_sessions_test.rb +20 -0
  53. data/tests/minitest/wrappers/jobs_test.rb +18 -0
  54. data/tests/minitest/wrappers/keywords_test.rb +27 -0
  55. data/tests/minitest/wrappers/lists_test.rb +124 -0
  56. data/tests/minitest/wrappers/minitest_wrapper.rb +40 -0
  57. data/tests/minitest/wrappers/movies_test.rb +177 -0
  58. data/tests/minitest/wrappers/networks_test.rb +18 -0
  59. data/tests/minitest/wrappers/people_test.rb +99 -0
  60. data/tests/minitest/wrappers/reviews_test.rb +18 -0
  61. data/tests/minitest/wrappers/search_test.rb +74 -0
  62. data/tests/minitest/wrappers/timezones_test.rb +21 -0
  63. data/tests/minitest/wrappers/tv_episodes_test.rb +87 -0
  64. data/tests/minitest/wrappers/tv_seasons_test.rb +76 -0
  65. data/tests/minitest/wrappers/tv_test.rb +171 -0
  66. data/tests/minitest_all.rb +13 -0
  67. data/tmdby.gemspec +24 -0
  68. metadata +152 -0
@@ -0,0 +1,7 @@
1
+ # A valid API_KEY is required to run the test suite
2
+ API_KEY = ""
3
+
4
+ # A valid account is required to run the test suite
5
+ USERNAME = ""
6
+ PASSWORD = ""
7
+ ACCOUNT_ID = 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