tmdb_party 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -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