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,124 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestLists < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@@session_id ||= Tmdby::Authentication.get_session_id USERNAME, PASSWORD
|
|
8
|
+
@lists = Tmdby::Lists
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# This function creates a new List and returns its ID
|
|
12
|
+
def get_id_new_list
|
|
13
|
+
(@lists.new @@session_id, Time.new.strftime("Test-%Y-%m-%d-%H:%M:%S-#{Random.new.rand}"), 'description').body["list_id"]
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def delete_list(id)
|
|
17
|
+
@lists.delete id, @@session_id
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_get
|
|
21
|
+
list_id = get_id_new_list
|
|
22
|
+
|
|
23
|
+
multi_assert @lists.get(list_id),
|
|
24
|
+
uri: "http://api.themoviedb.org/3/list/#{list_id}?api_key=#{API_KEY}",
|
|
25
|
+
http_verb: "GET",
|
|
26
|
+
code: "200",
|
|
27
|
+
id: list_id
|
|
28
|
+
|
|
29
|
+
delete_list list_id
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_delete
|
|
33
|
+
list_id = get_id_new_list
|
|
34
|
+
|
|
35
|
+
multi_assert @lists.delete(list_id, @@session_id),
|
|
36
|
+
uri: "http://api.themoviedb.org/3/list/#{list_id}?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
37
|
+
http_verb: "DELETE",
|
|
38
|
+
code: "200",
|
|
39
|
+
status_code: 13
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_item_status
|
|
43
|
+
list_id = get_id_new_list
|
|
44
|
+
|
|
45
|
+
# We add Movie#550 in the list
|
|
46
|
+
@lists.add_item list_id, @@session_id, 550
|
|
47
|
+
sleep 5
|
|
48
|
+
|
|
49
|
+
# We verify Movie#550 is in the list
|
|
50
|
+
multi_assert @lists.item_status(list_id, 550),
|
|
51
|
+
uri: "http://api.themoviedb.org/3/list/#{list_id}/item_status?movie_id=550&api_key=#{API_KEY}",
|
|
52
|
+
http_verb: "GET",
|
|
53
|
+
code: "200",
|
|
54
|
+
id: list_id,
|
|
55
|
+
must_be_true: "item_present"
|
|
56
|
+
|
|
57
|
+
delete_list list_id
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_list
|
|
61
|
+
list_name = Time.new.strftime("Test-%Y-%m-%d-%H:%M:%S-#{Random.new.rand}")
|
|
62
|
+
|
|
63
|
+
response = @lists.new @@session_id, list_name, 'new description'
|
|
64
|
+
|
|
65
|
+
multi_assert response,
|
|
66
|
+
uri: "http://api.themoviedb.org/3/list?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
67
|
+
http_verb: "POST",
|
|
68
|
+
post_params: {"name" => list_name, "description" => "new description"},
|
|
69
|
+
code: "201",
|
|
70
|
+
status_code: 1,
|
|
71
|
+
includes: "list_id"
|
|
72
|
+
|
|
73
|
+
delete_list response.body["list_id"]
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def test_add_item
|
|
77
|
+
list_id = get_id_new_list
|
|
78
|
+
|
|
79
|
+
response = @lists.add_item list_id, @@session_id, 550
|
|
80
|
+
|
|
81
|
+
multi_assert response,
|
|
82
|
+
uri: "http://api.themoviedb.org/3/list/#{list_id}/add_item?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
83
|
+
http_verb: "POST",
|
|
84
|
+
post_params: {"media_id" => 550},
|
|
85
|
+
code: "201",
|
|
86
|
+
status_code: 12
|
|
87
|
+
|
|
88
|
+
delete_list list_id
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def test_remove_item
|
|
92
|
+
list_id = get_id_new_list
|
|
93
|
+
|
|
94
|
+
@lists.add_item list_id, @@session_id, 550
|
|
95
|
+
|
|
96
|
+
sleep 5
|
|
97
|
+
|
|
98
|
+
response = @lists.remove_item list_id, @@session_id, 550
|
|
99
|
+
|
|
100
|
+
multi_assert response,
|
|
101
|
+
uri: "http://api.themoviedb.org/3/list/#{list_id}/remove_item?session_id=#{@@session_id}&api_key=#{API_KEY}",
|
|
102
|
+
http_verb: "POST",
|
|
103
|
+
post_params: {"media_id" => 550},
|
|
104
|
+
code: "200",
|
|
105
|
+
status_code: 13
|
|
106
|
+
|
|
107
|
+
delete_list list_id
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def test_clear
|
|
111
|
+
list_id = get_id_new_list
|
|
112
|
+
|
|
113
|
+
response = (@lists.clear list_id, @@session_id, true)
|
|
114
|
+
|
|
115
|
+
multi_assert response,
|
|
116
|
+
uri: "http://api.themoviedb.org/3/list/#{list_id}/clear?session_id=#{@@session_id}&confirm=true&api_key=#{API_KEY}",
|
|
117
|
+
http_verb: "POST",
|
|
118
|
+
code: "201",
|
|
119
|
+
status_code: 12
|
|
120
|
+
|
|
121
|
+
delete_list list_id
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require 'minitest/autorun'
|
|
2
|
+
require 'tmdby'
|
|
3
|
+
|
|
4
|
+
class MinitestWrapper < Minitest::Test
|
|
5
|
+
|
|
6
|
+
def init_setup
|
|
7
|
+
Tmdby::Setup.key = API_KEY
|
|
8
|
+
Tmdby::Setup.default_language = nil
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def multi_assert(result,
|
|
12
|
+
uri:,
|
|
13
|
+
http_verb:,
|
|
14
|
+
code:,
|
|
15
|
+
includes: nil,
|
|
16
|
+
status_code: nil,
|
|
17
|
+
id: nil,
|
|
18
|
+
empty: nil,
|
|
19
|
+
not_empty: nil,
|
|
20
|
+
not_nil: nil,
|
|
21
|
+
must_be_true: nil,
|
|
22
|
+
must_be_false: nil,
|
|
23
|
+
post_params: nil
|
|
24
|
+
)
|
|
25
|
+
assert_equal uri, result.uri.to_s
|
|
26
|
+
assert_equal http_verb, result.http_verb
|
|
27
|
+
assert_equal code, result.code
|
|
28
|
+
refute_empty result.body
|
|
29
|
+
assert_includes result.body, includes if includes
|
|
30
|
+
assert_equal id, result.body["id"] if id
|
|
31
|
+
assert_equal status_code, result.body["status_code"] if status_code
|
|
32
|
+
assert_empty result.body[empty] if empty
|
|
33
|
+
refute_empty result.body[not_empty] if not_empty
|
|
34
|
+
refute_nil result.body[not_nil] if not_nil
|
|
35
|
+
assert result.body[must_be_true] if must_be_true
|
|
36
|
+
refute result.body[must_be_false] if must_be_false
|
|
37
|
+
assert_equal result.post_params, post_params if post_params
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestMovies < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@movies = Tmdby::Movies
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_get
|
|
11
|
+
multi_assert @movies.get(550),
|
|
12
|
+
uri: "http://api.themoviedb.org/3/movie/550?api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
id: 550
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_account_states
|
|
19
|
+
session_id = Tmdby::Authentication.get_session_id USERNAME, PASSWORD
|
|
20
|
+
|
|
21
|
+
multi_assert @movies.account_states(550, session_id),
|
|
22
|
+
uri: "http://api.themoviedb.org/3/movie/550/account_states?session_id=#{session_id}&api_key=#{API_KEY}",
|
|
23
|
+
http_verb: "GET",
|
|
24
|
+
code: "200",
|
|
25
|
+
id: 550
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_alternative_titles
|
|
29
|
+
multi_assert @movies.alternative_titles(550),
|
|
30
|
+
uri: "http://api.themoviedb.org/3/movie/550/alternative_titles?api_key=#{API_KEY}",
|
|
31
|
+
http_verb: "GET",
|
|
32
|
+
code: "200",
|
|
33
|
+
id: 550,
|
|
34
|
+
not_empty: "titles"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_credits
|
|
38
|
+
multi_assert @movies.credits(550),
|
|
39
|
+
uri: "http://api.themoviedb.org/3/movie/550/credits?api_key=#{API_KEY}",
|
|
40
|
+
http_verb: "GET",
|
|
41
|
+
code: "200",
|
|
42
|
+
id: 550,
|
|
43
|
+
not_empty: "cast"
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_images
|
|
47
|
+
multi_assert @movies.images(550),
|
|
48
|
+
uri: "http://api.themoviedb.org/3/movie/550/images?api_key=#{API_KEY}",
|
|
49
|
+
http_verb: "GET",
|
|
50
|
+
code: "200",
|
|
51
|
+
id: 550,
|
|
52
|
+
not_empty: "backdrops"
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def test_keywords
|
|
56
|
+
multi_assert @movies.keywords(550),
|
|
57
|
+
uri: "http://api.themoviedb.org/3/movie/550/keywords?api_key=#{API_KEY}",
|
|
58
|
+
http_verb: "GET",
|
|
59
|
+
code: "200",
|
|
60
|
+
id: 550,
|
|
61
|
+
not_empty: "keywords"
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def test_releases
|
|
65
|
+
multi_assert @movies.releases(550),
|
|
66
|
+
uri: "http://api.themoviedb.org/3/movie/550/releases?api_key=#{API_KEY}",
|
|
67
|
+
http_verb: "GET",
|
|
68
|
+
code: "200",
|
|
69
|
+
id: 550,
|
|
70
|
+
not_empty: "countries"
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def test_videos
|
|
74
|
+
multi_assert @movies.videos(550),
|
|
75
|
+
uri: "http://api.themoviedb.org/3/movie/550/videos?api_key=#{API_KEY}",
|
|
76
|
+
http_verb: "GET",
|
|
77
|
+
code: "200",
|
|
78
|
+
id: 550,
|
|
79
|
+
not_empty: "results"
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def test_translations
|
|
83
|
+
multi_assert @movies.translations(550),
|
|
84
|
+
uri: "http://api.themoviedb.org/3/movie/550/translations?api_key=#{API_KEY}",
|
|
85
|
+
http_verb: "GET",
|
|
86
|
+
code: "200",
|
|
87
|
+
id: 550,
|
|
88
|
+
not_empty: "translations"
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def test_similar
|
|
92
|
+
multi_assert @movies.similar(550),
|
|
93
|
+
uri: "http://api.themoviedb.org/3/movie/550/similar?api_key=#{API_KEY}",
|
|
94
|
+
http_verb: "GET",
|
|
95
|
+
code: "200",
|
|
96
|
+
not_empty: "results"
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def test_reviews
|
|
100
|
+
multi_assert @movies.reviews(157336),
|
|
101
|
+
uri: "http://api.themoviedb.org/3/movie/157336/reviews?api_key=#{API_KEY}",
|
|
102
|
+
http_verb: "GET",
|
|
103
|
+
code: "200",
|
|
104
|
+
id: 157336,
|
|
105
|
+
not_empty: "results"
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
def test_lists
|
|
109
|
+
multi_assert @movies.lists(550),
|
|
110
|
+
uri: "http://api.themoviedb.org/3/movie/550/lists?api_key=#{API_KEY}",
|
|
111
|
+
http_verb: "GET",
|
|
112
|
+
code: "200",
|
|
113
|
+
id: 550,
|
|
114
|
+
not_empty: "results"
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def test_changes
|
|
118
|
+
multi_assert @movies.changes(550),
|
|
119
|
+
uri: "http://api.themoviedb.org/3/movie/550/changes?api_key=#{API_KEY}",
|
|
120
|
+
http_verb: "GET",
|
|
121
|
+
code: "200",
|
|
122
|
+
includes: "changes"
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def test_rating
|
|
126
|
+
guest_session_id = Tmdby::Authentication.guest_session_new.body["guest_session_id"]
|
|
127
|
+
|
|
128
|
+
multi_assert @movies.rating(551, 9, nil, guest_session_id),
|
|
129
|
+
uri: "http://api.themoviedb.org/3/movie/551/rating?guest_session_id=#{guest_session_id}&api_key=#{API_KEY}",
|
|
130
|
+
http_verb: "POST",
|
|
131
|
+
post_params: {"value" => 9},
|
|
132
|
+
code: "201",
|
|
133
|
+
status_code: 1
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def test_latest
|
|
137
|
+
multi_assert @movies.latest,
|
|
138
|
+
uri: "http://api.themoviedb.org/3/movie/latest?api_key=#{API_KEY}",
|
|
139
|
+
http_verb: "GET",
|
|
140
|
+
code: "200",
|
|
141
|
+
not_nil: "id"
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def test_upcoming
|
|
145
|
+
multi_assert @movies.upcoming,
|
|
146
|
+
uri: "http://api.themoviedb.org/3/movie/upcoming?api_key=#{API_KEY}",
|
|
147
|
+
http_verb: "GET",
|
|
148
|
+
code: "200",
|
|
149
|
+
includes: "results"
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
def test_now_playing
|
|
153
|
+
multi_assert @movies.now_playing,
|
|
154
|
+
uri: "http://api.themoviedb.org/3/movie/now_playing?api_key=#{API_KEY}",
|
|
155
|
+
http_verb: "GET",
|
|
156
|
+
code: "200",
|
|
157
|
+
includes: "results"
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
def test_popular
|
|
161
|
+
multi_assert @movies.popular,
|
|
162
|
+
uri: "http://api.themoviedb.org/3/movie/popular?api_key=#{API_KEY}",
|
|
163
|
+
http_verb: "GET",
|
|
164
|
+
code: "200",
|
|
165
|
+
includes: "results"
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
def test_top_rated
|
|
169
|
+
multi_assert @movies.top_rated,
|
|
170
|
+
uri: "http://api.themoviedb.org/3/movie/top_rated?api_key=#{API_KEY}",
|
|
171
|
+
http_verb: "GET",
|
|
172
|
+
code: "200",
|
|
173
|
+
includes: "results"
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestNetworks < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@networks = Tmdby::Networks
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_get
|
|
11
|
+
multi_assert @networks.get(1),
|
|
12
|
+
uri: "http://api.themoviedb.org/3/network/1?api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
id: 1
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
end
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestPeople < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@people = Tmdby::People
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_get
|
|
11
|
+
multi_assert @people.get(287),
|
|
12
|
+
uri: "http://api.themoviedb.org/3/person/287?api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
id: 287
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_movie_credits
|
|
19
|
+
multi_assert @people.movie_credits(287),
|
|
20
|
+
uri: "http://api.themoviedb.org/3/person/287/movie_credits?api_key=#{API_KEY}",
|
|
21
|
+
http_verb: "GET",
|
|
22
|
+
code: "200",
|
|
23
|
+
id: 287,
|
|
24
|
+
not_empty: "cast"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_tv_credits
|
|
28
|
+
multi_assert @people.tv_credits(287),
|
|
29
|
+
uri: "http://api.themoviedb.org/3/person/287/tv_credits?api_key=#{API_KEY}",
|
|
30
|
+
http_verb: "GET",
|
|
31
|
+
code: "200",
|
|
32
|
+
id: 287,
|
|
33
|
+
not_empty: "cast"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_combined_credits
|
|
37
|
+
multi_assert @people.combined_credits(287),
|
|
38
|
+
uri: "http://api.themoviedb.org/3/person/287/combined_credits?api_key=#{API_KEY}",
|
|
39
|
+
http_verb: "GET",
|
|
40
|
+
code: "200",
|
|
41
|
+
id: 287,
|
|
42
|
+
not_empty: "cast"
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_external_ids
|
|
46
|
+
response = @people.external_ids 287
|
|
47
|
+
|
|
48
|
+
multi_assert response,
|
|
49
|
+
uri: "http://api.themoviedb.org/3/person/287/external_ids?api_key=#{API_KEY}",
|
|
50
|
+
http_verb: "GET",
|
|
51
|
+
code: "200",
|
|
52
|
+
id: 287
|
|
53
|
+
|
|
54
|
+
assert_equal "nm0000093", response.body["imdb_id"]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def test_images
|
|
58
|
+
multi_assert @people.images(287),
|
|
59
|
+
uri: "http://api.themoviedb.org/3/person/287/images?api_key=#{API_KEY}",
|
|
60
|
+
http_verb: "GET",
|
|
61
|
+
code: "200",
|
|
62
|
+
id: 287,
|
|
63
|
+
not_empty: "profiles"
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_tagged_images
|
|
67
|
+
multi_assert @people.tagged_images(287),
|
|
68
|
+
uri: "http://api.themoviedb.org/3/person/287/tagged_images?api_key=#{API_KEY}",
|
|
69
|
+
http_verb: "GET",
|
|
70
|
+
code: "200",
|
|
71
|
+
id: 287,
|
|
72
|
+
not_empty: "results"
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def test_changes
|
|
76
|
+
multi_assert @people.changes(287),
|
|
77
|
+
uri: "http://api.themoviedb.org/3/person/287/changes?api_key=#{API_KEY}",
|
|
78
|
+
http_verb: "GET",
|
|
79
|
+
code: "200",
|
|
80
|
+
includes: "changes"
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def test_popular
|
|
84
|
+
multi_assert @people.popular,
|
|
85
|
+
uri: "http://api.themoviedb.org/3/person/popular?api_key=#{API_KEY}",
|
|
86
|
+
http_verb: "GET",
|
|
87
|
+
code: "200",
|
|
88
|
+
not_empty: "results"
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def test_latest
|
|
92
|
+
multi_assert @people.latest,
|
|
93
|
+
uri: "http://api.themoviedb.org/3/person/latest?api_key=#{API_KEY}",
|
|
94
|
+
http_verb: "GET",
|
|
95
|
+
code: "200",
|
|
96
|
+
not_nil: "id"
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestReviews < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@reviews = Tmdby::Reviews
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_get
|
|
11
|
+
multi_assert @reviews.get("5013bc76760ee372cb00253e"),
|
|
12
|
+
uri: "http://api.themoviedb.org/3/review/5013bc76760ee372cb00253e?api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
id: "5013bc76760ee372cb00253e"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestSearch < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@search = Tmdby::Search
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_company
|
|
11
|
+
multi_assert @search.company("warner"),
|
|
12
|
+
uri: "http://api.themoviedb.org/3/search/company?query=warner&api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
not_empty: "results"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_collection
|
|
19
|
+
multi_assert @search.collection("avenger"),
|
|
20
|
+
uri: "http://api.themoviedb.org/3/search/collection?query=avenger&api_key=#{API_KEY}",
|
|
21
|
+
http_verb: "GET",
|
|
22
|
+
code: "200",
|
|
23
|
+
not_empty: "results"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_keyword
|
|
27
|
+
multi_assert @search.keyword("teen"),
|
|
28
|
+
uri: "http://api.themoviedb.org/3/search/keyword?query=teen&api_key=#{API_KEY}",
|
|
29
|
+
http_verb: "GET",
|
|
30
|
+
code: "200",
|
|
31
|
+
not_empty: "results"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_list
|
|
35
|
+
multi_assert @search.list("warner"),
|
|
36
|
+
uri: "http://api.themoviedb.org/3/search/list?query=warner&api_key=#{API_KEY}",
|
|
37
|
+
http_verb: "GET",
|
|
38
|
+
code: "200",
|
|
39
|
+
not_empty: "results"
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_movie
|
|
43
|
+
multi_assert @search.movie("matrix"),
|
|
44
|
+
uri: "http://api.themoviedb.org/3/search/movie?query=matrix&api_key=#{API_KEY}",
|
|
45
|
+
http_verb: "GET",
|
|
46
|
+
code: "200",
|
|
47
|
+
not_empty: "results"
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def test_multi
|
|
51
|
+
multi_assert @search.multi("john"),
|
|
52
|
+
uri: "http://api.themoviedb.org/3/search/multi?query=john&api_key=#{API_KEY}",
|
|
53
|
+
http_verb: "GET",
|
|
54
|
+
code: "200",
|
|
55
|
+
not_empty: "results"
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def test_person
|
|
59
|
+
multi_assert @search.person("matthew perry"),
|
|
60
|
+
uri: "http://api.themoviedb.org/3/search/person?query=matthew+perry&api_key=#{API_KEY}",
|
|
61
|
+
http_verb: "GET",
|
|
62
|
+
code: "200",
|
|
63
|
+
not_empty: "results"
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_tv
|
|
67
|
+
multi_assert @search.tv("game of throne"),
|
|
68
|
+
uri: "http://api.themoviedb.org/3/search/tv?query=game+of+throne&api_key=#{API_KEY}",
|
|
69
|
+
http_verb: "GET",
|
|
70
|
+
code: "200",
|
|
71
|
+
not_empty: "results"
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestTimezones < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@timezones = Tmdby::Timezones
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_list
|
|
11
|
+
response = @timezones.list
|
|
12
|
+
|
|
13
|
+
multi_assert response,
|
|
14
|
+
uri: "http://api.themoviedb.org/3/timezones/list?api_key=#{API_KEY}",
|
|
15
|
+
http_verb: "GET",
|
|
16
|
+
code: "200"
|
|
17
|
+
|
|
18
|
+
refute_empty response.body
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
require_relative 'minitest_wrapper.rb'
|
|
2
|
+
|
|
3
|
+
class TestTvEpisodes < MinitestWrapper
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
init_setup
|
|
7
|
+
@tv_episodes = Tmdby::TvEpisodes
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_get
|
|
11
|
+
multi_assert @tv_episodes.get(1396, 1, 1),
|
|
12
|
+
uri: "http://api.themoviedb.org/3/tv/1396/season/1/episode/1?api_key=#{API_KEY}",
|
|
13
|
+
http_verb: "GET",
|
|
14
|
+
code: "200",
|
|
15
|
+
id: 62085
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_changes
|
|
19
|
+
multi_assert @tv_episodes.changes(62085),
|
|
20
|
+
uri: "http://api.themoviedb.org/3/tv/episode/62085/changes?api_key=#{API_KEY}",
|
|
21
|
+
http_verb: "GET",
|
|
22
|
+
code: "200",
|
|
23
|
+
includes: "changes"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_account_states
|
|
27
|
+
session_id = Tmdby::Authentication.get_session_id USERNAME, PASSWORD
|
|
28
|
+
|
|
29
|
+
multi_assert @tv_episodes.account_states(1396, 1, 7, session_id),
|
|
30
|
+
uri: "http://api.themoviedb.org/3/tv/1396/season/1/episode/7/account_states?session_id=#{session_id}&api_key=#{API_KEY}",
|
|
31
|
+
http_verb: "GET",
|
|
32
|
+
code: "200",
|
|
33
|
+
id: 62091,
|
|
34
|
+
includes: "rated"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_credits
|
|
38
|
+
multi_assert @tv_episodes.credits(1396, 1, 1),
|
|
39
|
+
uri: "http://api.themoviedb.org/3/tv/1396/season/1/episode/1/credits?api_key=#{API_KEY}",
|
|
40
|
+
http_verb: "GET",
|
|
41
|
+
code: "200",
|
|
42
|
+
id: 62085,
|
|
43
|
+
not_empty: "cast"
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_external_ids
|
|
47
|
+
response = @tv_episodes.external_ids 1396, 1, 1
|
|
48
|
+
|
|
49
|
+
multi_assert response,
|
|
50
|
+
uri: "http://api.themoviedb.org/3/tv/1396/season/1/episode/1/external_ids?api_key=#{API_KEY}",
|
|
51
|
+
http_verb: "GET",
|
|
52
|
+
code: "200",
|
|
53
|
+
id: 62085
|
|
54
|
+
|
|
55
|
+
assert_equal "tt0959621", response.body["imdb_id"]
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def test_images
|
|
59
|
+
multi_assert @tv_episodes.images(1396, 1, 1),
|
|
60
|
+
uri: "http://api.themoviedb.org/3/tv/1396/season/1/episode/1/images?api_key=#{API_KEY}",
|
|
61
|
+
http_verb: "GET",
|
|
62
|
+
code: "200",
|
|
63
|
+
id: 62085,
|
|
64
|
+
not_empty: "stills"
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def test_rating
|
|
68
|
+
guest_session_id = Tmdby::Authentication.guest_session_new.body["guest_session_id"]
|
|
69
|
+
|
|
70
|
+
multi_assert @tv_episodes.rating(1396, 1, 1, 8, nil, guest_session_id),
|
|
71
|
+
uri: "http://api.themoviedb.org/3/tv/1396/season/1/episode/1/rating?guest_session_id=#{guest_session_id}&api_key=#{API_KEY}",
|
|
72
|
+
http_verb: "POST",
|
|
73
|
+
post_params: {"value" => 8},
|
|
74
|
+
code: "201",
|
|
75
|
+
status_code: 1
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_videos
|
|
79
|
+
multi_assert @tv_episodes.videos(1396, 1, 1),
|
|
80
|
+
uri: "http://api.themoviedb.org/3/tv/1396/season/1/episode/1/videos?api_key=#{API_KEY}",
|
|
81
|
+
http_verb: "GET",
|
|
82
|
+
code: "200",
|
|
83
|
+
id: 62085,
|
|
84
|
+
includes: "results"
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
end
|