tmdb_party 0.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.
- data/.document +5 -0
- data/.gitignore +5 -0
- data/LICENSE +20 -0
- data/README.rdoc +40 -0
- data/Rakefile +60 -0
- data/VERSION.yml +4 -0
- data/lib/tmdb_party/attributes.rb +53 -0
- data/lib/tmdb_party/category.rb +22 -0
- data/lib/tmdb_party/core_extensions.rb +18 -0
- data/lib/tmdb_party/image.rb +19 -0
- data/lib/tmdb_party/movie.rb +50 -0
- data/lib/tmdb_party/person.rb +22 -0
- data/lib/tmdb_party/video.rb +20 -0
- data/lib/tmdb_party.rb +49 -0
- data/test/fixtures/imdb_no_results.xml +8 -0
- data/test/fixtures/imdb_search.xml +26 -0
- data/test/fixtures/no_groups.xml +37 -0
- data/test/fixtures/rad.xml +26 -0
- data/test/fixtures/search.xml +104 -0
- data/test/fixtures/single_groups.xml +132 -0
- data/test/fixtures/single_result.xml +26 -0
- data/test/fixtures/transformers.xml +358 -0
- data/test/test_helper.rb +32 -0
- data/test/tmdb_party/test_tmdb_party.rb +126 -0
- data/tmdb_party.gemspec +73 -0
- metadata +111 -0
@@ -0,0 +1,126 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
|
3
|
+
class TestTmdbParty < Test::Unit::TestCase
|
4
|
+
|
5
|
+
before do
|
6
|
+
@tmdb = TMDBParty::Base.new('key')
|
7
|
+
end
|
8
|
+
|
9
|
+
after do
|
10
|
+
FakeWeb.clean_registry
|
11
|
+
end
|
12
|
+
|
13
|
+
test "searching for transformers" do
|
14
|
+
stub_get('/Movie.search?api_key=key&title=transformers', 'search.xml')
|
15
|
+
stub_get('/Movie.getInfo?api_key=key&id=1858', 'transformers.xml')
|
16
|
+
|
17
|
+
results = @tmdb.search('transformers')
|
18
|
+
|
19
|
+
assert_equal 5, results.length
|
20
|
+
|
21
|
+
transformers = results.detect{|m| m.title == "Transformers"}
|
22
|
+
|
23
|
+
# check that the attributes are populated
|
24
|
+
assert_equal 31, transformers.popularity
|
25
|
+
assert_equal 1.0, transformers.score
|
26
|
+
assert_equal 1858, transformers.id
|
27
|
+
assert_equal 'tt0418279', transformers.imdb
|
28
|
+
assert_equal Date.new(2007, 7, 4), transformers.release
|
29
|
+
assert transformers.poster.first.is_a?(TMDBParty::Image)
|
30
|
+
assert transformers.backdrop.first.is_a?(TMDBParty::Image)
|
31
|
+
|
32
|
+
# how about some that are loaded lazily
|
33
|
+
assert_equal "http://www.transformersmovie.com/", transformers.homepage
|
34
|
+
assert_equal "http://www.youtube.com/watch?v=eduwcuq1Exg", transformers.trailer.url
|
35
|
+
|
36
|
+
assert_equal 9, transformers.categories.length
|
37
|
+
|
38
|
+
category = transformers.categories.detect{|cat| cat.name == "Adventure Film"}
|
39
|
+
assert_equal "http://www.themoviedb.org/encyclopedia/category/12", category.url
|
40
|
+
|
41
|
+
|
42
|
+
assert_equal 132, transformers.runtime
|
43
|
+
assert_equal 36, transformers.people.length
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
test "getting a single result" do
|
48
|
+
stub_get('/Movie.search?api_key=key&title=sweeney%20todd', 'single_result.xml')
|
49
|
+
|
50
|
+
results = @tmdb.search('sweeney todd')
|
51
|
+
sweeney_todd = results.first
|
52
|
+
|
53
|
+
assert_equal 1, results.length
|
54
|
+
assert_equal 'tt0408236', sweeney_todd.imdb
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
test "finding transformers via imdb id" do
|
60
|
+
stub_get('/Movie.imdbLookup?api_key=key&imdb_id=tt0418279', 'imdb_search.xml')
|
61
|
+
stub_get('/Movie.getInfo?api_key=key&id=1858', 'transformers.xml')
|
62
|
+
|
63
|
+
result = @tmdb.imdb_lookup('tt0418279')
|
64
|
+
|
65
|
+
# check that the attributes are populated
|
66
|
+
assert_equal 52.0, result.popularity
|
67
|
+
assert_equal 1.0, result.score
|
68
|
+
assert_equal 1858, result.id
|
69
|
+
assert_equal 'tt0418279', result.imdb
|
70
|
+
assert_equal Date.new(2007, 7, 4), result.release
|
71
|
+
assert result.poster.first.is_a?(TMDBParty::Image)
|
72
|
+
assert result.backdrop.first.is_a?(TMDBParty::Image)
|
73
|
+
|
74
|
+
# how about some that are loaded lazily
|
75
|
+
assert_equal "http://www.transformersmovie.com/", result.homepage
|
76
|
+
assert_equal "http://www.youtube.com/watch?v=eduwcuq1Exg", result.trailer.url
|
77
|
+
|
78
|
+
assert_equal 9, result.categories.length
|
79
|
+
assert_equal 36, result.people.length
|
80
|
+
|
81
|
+
category = result.categories.detect{|cat| cat.name == "Adventure Film"}
|
82
|
+
assert_equal "http://www.themoviedb.org/encyclopedia/category/12", category.url
|
83
|
+
end
|
84
|
+
|
85
|
+
test "NOT finding transformers via imdb id" do
|
86
|
+
stub_get('/Movie.imdbLookup?api_key=key&imdb_id=tt0418279dd', 'imdb_no_results.xml')
|
87
|
+
result = @tmdb.imdb_lookup('tt0418279dd')
|
88
|
+
assert_nil result
|
89
|
+
end
|
90
|
+
|
91
|
+
test "no people found" do
|
92
|
+
stub_get('/Movie.search?api_key=key&title=rad', 'rad.xml')
|
93
|
+
stub_get('/Movie.getInfo?api_key=key&id=13841', 'no_groups.xml')
|
94
|
+
|
95
|
+
rad = @tmdb.search('rad').first
|
96
|
+
|
97
|
+
assert_nil rad.people
|
98
|
+
assert_nil rad.categories
|
99
|
+
|
100
|
+
assert_equal 0, rad.directors.length
|
101
|
+
assert_equal 0, rad.writers.length
|
102
|
+
assert_equal 0, rad.actors.length
|
103
|
+
end
|
104
|
+
|
105
|
+
test "specific people" do
|
106
|
+
stub_get('/Movie.imdbLookup?api_key=key&imdb_id=tt0418279', 'imdb_search.xml')
|
107
|
+
stub_get('/Movie.getInfo?api_key=key&id=1858', 'transformers.xml')
|
108
|
+
|
109
|
+
result = @tmdb.imdb_lookup('tt0418279')
|
110
|
+
|
111
|
+
assert_equal 1, result.directors.length
|
112
|
+
assert_equal 1, result.writers.length
|
113
|
+
assert_equal 17, result.actors.length
|
114
|
+
end
|
115
|
+
|
116
|
+
test "single groups" do
|
117
|
+
stub_get('/Movie.imdbLookup?api_key=key&imdb_id=tt0418279', 'imdb_search.xml')
|
118
|
+
stub_get('/Movie.getInfo?api_key=key&id=1858', 'single_groups.xml')
|
119
|
+
|
120
|
+
result = @tmdb.imdb_lookup('tt0418279')
|
121
|
+
|
122
|
+
assert_equal Array, result.people.class
|
123
|
+
assert_equal Array, result.categories.class
|
124
|
+
end
|
125
|
+
|
126
|
+
end
|
data/tmdb_party.gemspec
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{tmdb_party}
|
8
|
+
s.version = "0.3.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["John Duff", "Jon Maddox"]
|
12
|
+
s.date = %q{2009-10-10}
|
13
|
+
s.email = %q{duff.john@gmail.com}
|
14
|
+
s.extra_rdoc_files = [
|
15
|
+
"LICENSE",
|
16
|
+
"README.rdoc"
|
17
|
+
]
|
18
|
+
s.files = [
|
19
|
+
".document",
|
20
|
+
".gitignore",
|
21
|
+
"LICENSE",
|
22
|
+
"README.rdoc",
|
23
|
+
"Rakefile",
|
24
|
+
"VERSION.yml",
|
25
|
+
"lib/tmdb_party.rb",
|
26
|
+
"lib/tmdb_party/attributes.rb",
|
27
|
+
"lib/tmdb_party/category.rb",
|
28
|
+
"lib/tmdb_party/core_extensions.rb",
|
29
|
+
"lib/tmdb_party/image.rb",
|
30
|
+
"lib/tmdb_party/movie.rb",
|
31
|
+
"lib/tmdb_party/person.rb",
|
32
|
+
"lib/tmdb_party/video.rb",
|
33
|
+
"test/fixtures/imdb_no_results.xml",
|
34
|
+
"test/fixtures/imdb_search.xml",
|
35
|
+
"test/fixtures/no_groups.xml",
|
36
|
+
"test/fixtures/rad.xml",
|
37
|
+
"test/fixtures/search.xml",
|
38
|
+
"test/fixtures/single_groups.xml",
|
39
|
+
"test/fixtures/single_result.xml",
|
40
|
+
"test/fixtures/transformers.xml",
|
41
|
+
"test/test_helper.rb",
|
42
|
+
"test/tmdb_party/test_tmdb_party.rb",
|
43
|
+
"tmdb_party.gemspec"
|
44
|
+
]
|
45
|
+
s.homepage = %q{http://github.com/jduff/tmdb_party}
|
46
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
47
|
+
s.require_paths = ["lib"]
|
48
|
+
s.rubygems_version = %q{1.3.5}
|
49
|
+
s.summary = %q{Simple ruby wrapper to themoviedb.org (http://api.themoviedb.org/2.0/docs/) using HTTParty}
|
50
|
+
s.test_files = [
|
51
|
+
"test/test_helper.rb",
|
52
|
+
"test/tmdb_party/test_tmdb_party.rb"
|
53
|
+
]
|
54
|
+
|
55
|
+
if s.respond_to? :specification_version then
|
56
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
57
|
+
s.specification_version = 3
|
58
|
+
|
59
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
60
|
+
s.add_runtime_dependency(%q<httparty>, [">= 0.4.3"])
|
61
|
+
s.add_development_dependency(%q<fakeweb>, [">= 0"])
|
62
|
+
s.add_development_dependency(%q<context>, [">= 0"])
|
63
|
+
else
|
64
|
+
s.add_dependency(%q<httparty>, [">= 0.4.3"])
|
65
|
+
s.add_dependency(%q<fakeweb>, [">= 0"])
|
66
|
+
s.add_dependency(%q<context>, [">= 0"])
|
67
|
+
end
|
68
|
+
else
|
69
|
+
s.add_dependency(%q<httparty>, [">= 0.4.3"])
|
70
|
+
s.add_dependency(%q<fakeweb>, [">= 0"])
|
71
|
+
s.add_dependency(%q<context>, [">= 0"])
|
72
|
+
end
|
73
|
+
end
|
metadata
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tmdb_party
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- John Duff
|
8
|
+
- Jon Maddox
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2009-10-10 00:00:00 -04:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: httparty
|
18
|
+
type: :runtime
|
19
|
+
version_requirement:
|
20
|
+
version_requirements: !ruby/object:Gem::Requirement
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 0.4.3
|
25
|
+
version:
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: fakeweb
|
28
|
+
type: :development
|
29
|
+
version_requirement:
|
30
|
+
version_requirements: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: "0"
|
35
|
+
version:
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: context
|
38
|
+
type: :development
|
39
|
+
version_requirement:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: "0"
|
45
|
+
version:
|
46
|
+
description:
|
47
|
+
email: duff.john@gmail.com
|
48
|
+
executables: []
|
49
|
+
|
50
|
+
extensions: []
|
51
|
+
|
52
|
+
extra_rdoc_files:
|
53
|
+
- LICENSE
|
54
|
+
- README.rdoc
|
55
|
+
files:
|
56
|
+
- .document
|
57
|
+
- .gitignore
|
58
|
+
- LICENSE
|
59
|
+
- README.rdoc
|
60
|
+
- Rakefile
|
61
|
+
- VERSION.yml
|
62
|
+
- lib/tmdb_party.rb
|
63
|
+
- lib/tmdb_party/attributes.rb
|
64
|
+
- lib/tmdb_party/category.rb
|
65
|
+
- lib/tmdb_party/core_extensions.rb
|
66
|
+
- lib/tmdb_party/image.rb
|
67
|
+
- lib/tmdb_party/movie.rb
|
68
|
+
- lib/tmdb_party/person.rb
|
69
|
+
- lib/tmdb_party/video.rb
|
70
|
+
- test/fixtures/imdb_no_results.xml
|
71
|
+
- test/fixtures/imdb_search.xml
|
72
|
+
- test/fixtures/no_groups.xml
|
73
|
+
- test/fixtures/rad.xml
|
74
|
+
- test/fixtures/search.xml
|
75
|
+
- test/fixtures/single_groups.xml
|
76
|
+
- test/fixtures/single_result.xml
|
77
|
+
- test/fixtures/transformers.xml
|
78
|
+
- test/test_helper.rb
|
79
|
+
- test/tmdb_party/test_tmdb_party.rb
|
80
|
+
- tmdb_party.gemspec
|
81
|
+
has_rdoc: true
|
82
|
+
homepage: http://github.com/jduff/tmdb_party
|
83
|
+
licenses: []
|
84
|
+
|
85
|
+
post_install_message:
|
86
|
+
rdoc_options:
|
87
|
+
- --charset=UTF-8
|
88
|
+
require_paths:
|
89
|
+
- lib
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: "0"
|
95
|
+
version:
|
96
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: "0"
|
101
|
+
version:
|
102
|
+
requirements: []
|
103
|
+
|
104
|
+
rubyforge_project:
|
105
|
+
rubygems_version: 1.3.5
|
106
|
+
signing_key:
|
107
|
+
specification_version: 3
|
108
|
+
summary: Simple ruby wrapper to themoviedb.org (http://api.themoviedb.org/2.0/docs/) using HTTParty
|
109
|
+
test_files:
|
110
|
+
- test/test_helper.rb
|
111
|
+
- test/tmdb_party/test_tmdb_party.rb
|