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.
@@ -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