whatser 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/Gemfile +12 -0
- data/Gemfile.lock +34 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +310 -0
- data/Rakefile +53 -0
- data/VERSION +1 -0
- data/lib/whatser/api/batch.rb +0 -0
- data/lib/whatser/api/facebook.rb +13 -0
- data/lib/whatser/api/foursquare.rb +5 -0
- data/lib/whatser/api/gowalla.rb +5 -0
- data/lib/whatser/api/response.rb +84 -0
- data/lib/whatser/api/service.rb +15 -0
- data/lib/whatser/api/twitter.rb +13 -0
- data/lib/whatser/client.rb +54 -0
- data/lib/whatser/configuration.rb +15 -0
- data/lib/whatser/errors.rb +4 -0
- data/lib/whatser/net/http.rb +26 -0
- data/lib/whatser/net/oauth.rb +41 -0
- data/lib/whatser/resources/activity_feed.rb +20 -0
- data/lib/whatser/resources/check_in.rb +25 -0
- data/lib/whatser/resources/city.rb +16 -0
- data/lib/whatser/resources/collection.rb +68 -0
- data/lib/whatser/resources/data_source.rb +24 -0
- data/lib/whatser/resources/detail.rb +40 -0
- data/lib/whatser/resources/follow.rb +42 -0
- data/lib/whatser/resources/media.rb +41 -0
- data/lib/whatser/resources/poi.rb +74 -0
- data/lib/whatser/resources/resource.rb +53 -0
- data/lib/whatser/resources/review.rb +40 -0
- data/lib/whatser/resources/subscription.rb +12 -0
- data/lib/whatser/resources/tag.rb +32 -0
- data/lib/whatser/resources/user.rb +81 -0
- data/lib/whatser.rb +38 -0
- data/test/helper.rb +25 -0
- data/test/test_activity_feed.rb +20 -0
- data/test/test_check_in.rb +28 -0
- data/test/test_city.rb +16 -0
- data/test/test_client.rb +84 -0
- data/test/test_collection.rb +28 -0
- data/test/test_configuration.rb +26 -0
- data/test/test_data_source.rb +35 -0
- data/test/test_detail.rb +38 -0
- data/test/test_facebook.rb +7 -0
- data/test/test_follow.rb +33 -0
- data/test/test_foursquare.rb +7 -0
- data/test/test_gowalla.rb +7 -0
- data/test/test_hondius.rb +12 -0
- data/test/test_http.rb +40 -0
- data/test/test_oauth.rb +37 -0
- data/test/test_poi.rb +75 -0
- data/test/test_resource.rb +73 -0
- data/test/test_response.rb +44 -0
- data/test/test_review.rb +37 -0
- data/test/test_subscription.rb +11 -0
- data/test/test_tag.rb +32 -0
- data/test/test_twitter.rb +7 -0
- data/test/test_user.rb +53 -0
- data/whatser.gemspec +140 -0
- metadata +236 -0
data/test/helper.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
require 'test/unit'
|
11
|
+
|
12
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
13
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
|
+
require 'whatser'
|
15
|
+
|
16
|
+
class Test::Unit::TestCase
|
17
|
+
end
|
18
|
+
|
19
|
+
module Whatser
|
20
|
+
module Http
|
21
|
+
def request(verb, path, options={})
|
22
|
+
Whatser::Response.new('')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestActivityFeed < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@client = Whatser::Client.new(:oauth_token => '1234')
|
6
|
+
@user_id = 1
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_my_feed
|
10
|
+
assert @client.feeds.mine( :page => 1, :per_page => 10 ).is_a?(Whatser::Response)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_user_feed
|
14
|
+
assert @client.feeds.user( @user_id, :page => 1, :per_page => 10 ).is_a?(Whatser::Response)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_global_feed
|
18
|
+
assert @client.feeds.global( :page => 1, :per_page => 10 ).is_a?(Whatser::Response)
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestPoi < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@client = Whatser::Client.new
|
6
|
+
@poi_id = 1
|
7
|
+
@check_in = Whatser::CheckIn.new(:poi_id => @poi_id)
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_list
|
11
|
+
assert @client.check_ins.list(:page => @poi_id).is_a?(Whatser::Response)
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_create
|
15
|
+
assert @client.check_ins.create(@poi_id, :check_in_at => Time.now).is_a?(Whatser::Response)
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_save
|
19
|
+
assert @check_in.save.is_a?(Whatser::Response)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_to_params
|
23
|
+
params = [:locate,:lat,:lng,:gowalla,:foursquare,:check_in_at,:check_out_at]
|
24
|
+
params.each do |p|
|
25
|
+
assert @check_in.to_params.keys.include?(p)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/test/test_city.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestCity < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@client = Whatser::Client.new(:oauth_token => '1234')
|
6
|
+
@user_id = 1
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_my_cities
|
10
|
+
assert @client.cities.mine( :page => 1, :per_page => 10 ).is_a?(Whatser::Response)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_user_cities
|
14
|
+
assert @client.cities.user( @user_id, :page => 1, :per_page => 10 ).is_a?(Whatser::Response)
|
15
|
+
end
|
16
|
+
end
|
data/test/test_client.rb
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestClient < Test::Unit::TestCase
|
4
|
+
def test_attr_accessor
|
5
|
+
client = Whatser::Client.new
|
6
|
+
Whatser::Configuration::VALID_OPTIONS_KEYS.each do |a|
|
7
|
+
assert client.respond_to?(a)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_cattr_accessor
|
12
|
+
Whatser::Configuration::VALID_OPTIONS_KEYS.each do |a|
|
13
|
+
assert Whatser::Client.respond_to?(a)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_initialize_with_options
|
18
|
+
params = {:api_key => '123',
|
19
|
+
:api_secret => 'abc',
|
20
|
+
:oauth_token => 'xyz',
|
21
|
+
:api_uri => 'www.example.com',
|
22
|
+
:username => 'test@example.com',
|
23
|
+
:password => 'test'}
|
24
|
+
|
25
|
+
client = Whatser::Client.new( params )
|
26
|
+
assert_equal params[:api_key], client.api_key
|
27
|
+
assert_equal params[:api_secret], client.api_secret
|
28
|
+
assert_equal params[:username], client.username
|
29
|
+
assert_equal params[:password], client.password
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_initialize_with_configure_defaults
|
33
|
+
Whatser::Client.configure do |config|
|
34
|
+
config.api_key = 'key'
|
35
|
+
config.api_secret = 'secret'
|
36
|
+
config.oauth_token = '123abc'
|
37
|
+
end
|
38
|
+
client = Whatser::Client.new
|
39
|
+
assert_equal 'key', client.api_key
|
40
|
+
assert_equal 'secret', client.api_secret
|
41
|
+
assert_equal '123abc', client.oauth_token
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_resources
|
45
|
+
client = Whatser::Client.new
|
46
|
+
assert_equal Whatser::CheckIn, client.check_ins
|
47
|
+
assert_equal Whatser::Collection, client.collections
|
48
|
+
assert_equal Whatser::DataSource, client.data_sources
|
49
|
+
assert_equal Whatser::Detail, client.details
|
50
|
+
assert_equal Whatser::Media, client.media
|
51
|
+
assert_equal Whatser::Poi, client.spots
|
52
|
+
assert_equal Whatser::Subscription, client.subscriptions
|
53
|
+
assert_equal Whatser::Tag, client.tags
|
54
|
+
assert_equal Whatser::User, client.users
|
55
|
+
assert_equal Whatser::Follow, client.follows
|
56
|
+
assert_equal Whatser::Facebook, client.facebook
|
57
|
+
assert_equal Whatser::Foursquare, client.foursquare
|
58
|
+
assert_equal Whatser::Gowalla, client.gowalla
|
59
|
+
assert_equal Whatser::Twitter, client.twitter
|
60
|
+
|
61
|
+
assert_equal client, client.check_ins.client
|
62
|
+
assert_equal client, client.collections.client
|
63
|
+
assert_equal client, client.data_sources.client
|
64
|
+
assert_equal client, client.details.client
|
65
|
+
assert_equal client, client.media.client
|
66
|
+
assert_equal client, client.spots.client
|
67
|
+
assert_equal client, client.subscriptions.client
|
68
|
+
assert_equal client, client.tags.client
|
69
|
+
assert_equal client, client.users.client
|
70
|
+
assert_equal client, client.follows.client
|
71
|
+
assert_equal client, client.facebook.client
|
72
|
+
assert_equal client, client.foursquare.client
|
73
|
+
assert_equal client, client.gowalla.client
|
74
|
+
assert_equal client, client.twitter.client
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_authorized
|
78
|
+
client = Whatser::Client.new
|
79
|
+
assert_equal false, client.authorized?
|
80
|
+
|
81
|
+
client.oauth_token = 'test'
|
82
|
+
assert_equal true, client.authorized?
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestCollection < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@data = [1,2,3]
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_initialize
|
9
|
+
collection = Whatser::Collection.new(@data)
|
10
|
+
assert_equal @data, collection.data
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_each_enumerable
|
14
|
+
iterated = []
|
15
|
+
collection = Whatser::Collection.new(@data)
|
16
|
+
collection.each do |c|
|
17
|
+
iterated << c
|
18
|
+
end
|
19
|
+
assert_equal @data, iterated
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_size
|
23
|
+
collection = Whatser::Collection.new
|
24
|
+
assert_equal 0, collection.size
|
25
|
+
collection.data = @data
|
26
|
+
assert_equal @data.size, collection.size
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestConfiguration < Test::Unit::TestCase
|
4
|
+
def reset_defaults
|
5
|
+
Whatser::Client.configure do |config|
|
6
|
+
config.api_key = nil
|
7
|
+
config.api_secret = nil
|
8
|
+
config.oauth_token = nil
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_valid_options_keys
|
13
|
+
expected = [:api_key,:api_secret,:username,:password,:oauth_token,:api_uri,:redirect_uri]
|
14
|
+
assert_equal expected, Whatser::Configuration::VALID_OPTIONS_KEYS
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_defaults_on_inclusion
|
18
|
+
reset_defaults
|
19
|
+
client = Whatser::Client.new
|
20
|
+
assert_equal nil, client.api_key
|
21
|
+
assert_equal nil, client.api_secret
|
22
|
+
assert_equal nil, client.oauth_token
|
23
|
+
assert_equal nil, client.redirect_uri
|
24
|
+
assert_equal Whatser::Configuration::DEFAULT_API_URI, client.api_uri
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestDataSource < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@client = Whatser::Client.new(:oauth_token => '1234')
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_list
|
9
|
+
assert @client.data_sources.list(:page => 1).is_a?(Whatser::Response)
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_for_users_with_id
|
13
|
+
assert @client.data_sources.for_users(1, :page => 1).is_a?(Whatser::Response)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_for_users_with_string
|
17
|
+
assert @client.data_sources.for_users('1,2,3', :page => 1).is_a?(Whatser::Response)
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_for_users_with_array
|
21
|
+
assert @client.data_sources.for_users([1,2,3], :page => 1).is_a?(Whatser::Response)
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_subscription_url
|
25
|
+
datasource = @client.data_sources.new(:id => '1')
|
26
|
+
expected = "#{@client.api_uri}/payments/data_sources/1/orders/new?oauth_token=1234"
|
27
|
+
assert_equal expected, datasource.subscription_url
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_subscription_url_with_params
|
31
|
+
datasource = @client.data_sources.new(:id => '1')
|
32
|
+
expected = "#{@client.api_uri}/payments/data_sources/1/orders/new?oauth_token=1234&test=2&extra=1"
|
33
|
+
assert_equal expected, datasource.subscription_url(:extra => 1, :test => 2)
|
34
|
+
end
|
35
|
+
end
|
data/test/test_detail.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestDetail < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@client = Whatser::Client.new
|
6
|
+
@poi_id = 1
|
7
|
+
@params = {:rating => 'four stars', :hours => '9-5'}
|
8
|
+
@detail = Whatser::Detail.new(:poi_id => @poi_id, :data => @params)
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_list
|
12
|
+
assert @client.reviews.list(@poi_id, :page => 1).is_a?(Whatser::Response)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_create
|
16
|
+
assert @client.reviews.create(@poi_id, :data => @params).is_a?(Whatser::Response)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_delete
|
20
|
+
assert @client.reviews.delete(@poi_id, :data => @params).is_a?(Whatser::Response)
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_save
|
24
|
+
assert @detail.save.is_a?(Whatser::Response)
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_update
|
28
|
+
@detail.id = 1
|
29
|
+
assert @detail.save.is_a?(Whatser::Response)
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_to_params
|
33
|
+
params = [:data]
|
34
|
+
params.each do |p|
|
35
|
+
assert @detail.to_params.keys.include?(p)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/test/test_follow.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestFollow < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@client = Whatser::Client.new
|
6
|
+
@user_id = 1
|
7
|
+
@follow = Whatser::Follow.new(:id => @user_id)
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_list
|
11
|
+
assert @client.follows.list(:page => 1).is_a?(Whatser::Response)
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_suggested
|
15
|
+
assert @client.follows.suggested(:page => 1).is_a?(Whatser::Response)
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_create
|
19
|
+
assert @client.follows.create(@user_id).is_a?(Whatser::Response)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_delete
|
23
|
+
assert @client.follows.delete(@user_id).is_a?(Whatser::Response)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_ignore
|
27
|
+
assert @client.follows.ignore(@user_id).is_a?(Whatser::Response)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_save
|
31
|
+
assert @follow.save.is_a?(Whatser::Response)
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestWhatser < Test::Unit::TestCase
|
4
|
+
def test_client
|
5
|
+
assert Whatser.client.is_a?( Whatser::Client )
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_client_cached
|
9
|
+
client = Whatser.client
|
10
|
+
assert_equal client.object_id, Whatser.client.object_id
|
11
|
+
end
|
12
|
+
end
|
data/test/test_http.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestHttp < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@client = Whatser.client
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_request_options_default
|
9
|
+
@client.oauth_token = '123'
|
10
|
+
expected = {:query => {:oauth_token => '123'}, :body => nil}
|
11
|
+
assert_equal expected, @client.send(:request_options)
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_request_options_with_query
|
15
|
+
@client.oauth_token = '123'
|
16
|
+
expected = {:query => {:oauth_token => '123', :extra => 1}, :body => nil}
|
17
|
+
assert_equal expected, @client.send(:request_options, {:query => {:extra => 1} })
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_request_options_with_body
|
21
|
+
@client.oauth_token = '123'
|
22
|
+
expected = {:query => {:oauth_token => '123'}, :body => {:extra => 1}}
|
23
|
+
assert_equal expected, @client.send(:request_options, {:body => {:extra => 1} })
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_base_uri_on_included
|
27
|
+
assert_equal @client.api_uri, Whatser::Http.base_uri
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_request
|
31
|
+
response = @client.request(:get, '/', {})
|
32
|
+
assert response.is_a?(Whatser::Response)
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_compose_url
|
36
|
+
path = '/api/endpoint'
|
37
|
+
uri = @client.api_uri
|
38
|
+
assert_equal "#{uri}#{path}", @client.send(:compose_url, path)
|
39
|
+
end
|
40
|
+
end
|
data/test/test_oauth.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestOauth < Test::Unit::TestCase
|
4
|
+
def test_oauth_client
|
5
|
+
params = {:api_key => '123', :api_secret => '123', :api_uri => 'http://example.com'}
|
6
|
+
client = Whatser::Client.new(params)
|
7
|
+
oauth = client.oauth_client
|
8
|
+
assert oauth.is_a?(OAuth2::Client)
|
9
|
+
assert_equal params[:api_key], oauth.id
|
10
|
+
assert_equal params[:api_secret], oauth.secret
|
11
|
+
assert_equal params[:api_uri], oauth.site
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_oauth_authorize_url
|
15
|
+
base = 'http://example.com/oauth/authorize'
|
16
|
+
client = Whatser::Client.new(:api_uri => base, :api_key => '123')
|
17
|
+
assert_equal "#{base}?client_id=123&type=web_server", client.oauth_authorize_url
|
18
|
+
assert_equal "#{base}?client_id=123&type=web_server&redirect_uri=http%3A%2F%2Fexample.com%2Foauth%2Fauthorize", client.oauth_authorize_url(:redirect_uri => base)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_hash_to_query
|
22
|
+
client = Whatser::Client.new
|
23
|
+
assert_equal ["first=1","second=2"].sort, client.send(:hash_to_query, {:first => 1, :second => 2}).split('&').sort
|
24
|
+
assert_equal "", client.send(:hash_to_query, {} )
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_password_grant_params
|
28
|
+
params = {:api_key => '123', :api_secret => '123', :api_uri => 'http://example.com'}
|
29
|
+
client = Whatser::Client.new(params)
|
30
|
+
expected = {'grant_type' => 'password',
|
31
|
+
'client_id' => '123',
|
32
|
+
'client_secret' => '123',
|
33
|
+
'username' => 'mail',
|
34
|
+
'password' => 'pw'}
|
35
|
+
assert_equal expected, client.send(:password_grant_params, 'mail', 'pw')
|
36
|
+
end
|
37
|
+
end
|
data/test/test_poi.rb
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestPoi < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@client = Whatser::Client.new
|
6
|
+
@poi = Whatser::Poi.new
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_to_params
|
10
|
+
poi = Whatser::Poi.new
|
11
|
+
params = [:name,:lat,:lng,:street,:district,:region,:city,:postal_code,:country]
|
12
|
+
params.each do |p|
|
13
|
+
assert poi.to_params.keys.include?(p)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_suggested
|
18
|
+
assert @client.spots.suggested(:opt => 'test').is_a?(Whatser::Response)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_search
|
22
|
+
assert @client.spots.search(:opt => 'test').is_a?(Whatser::Response)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_find
|
26
|
+
assert @client.spots.find(1, :opt => 'test').is_a?(Whatser::Response)
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_create
|
30
|
+
assert @client.spots.create(:name => 'test', :lat => 45, :lng => 45).is_a?(Whatser::Response)
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_delete
|
34
|
+
assert @client.spots.delete(1).is_a?(Whatser::Response)
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_save
|
38
|
+
assert @poi.save.is_a?(Whatser::Response)
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_save_and_update
|
42
|
+
@poi.id = 1
|
43
|
+
assert @poi.save.is_a?(Whatser::Response)
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_from_hash_to_model
|
47
|
+
hash = {'id' => 1, 'name' => 'test', 'lat' => 1, 'lng' => 1, 'street' => 'test',
|
48
|
+
'district' => 'test', 'region' => 'test', 'city' => 'test', 'postal_code' => '1', 'country' => 'test'}
|
49
|
+
poi = Whatser::Poi.from_hash_to_model(hash)
|
50
|
+
assert poi.is_a?(Whatser::Poi)
|
51
|
+
|
52
|
+
assert_equal hash['id'], poi.id
|
53
|
+
assert_equal hash['name'], poi.name
|
54
|
+
assert_equal hash['lat'], poi.lat
|
55
|
+
assert_equal hash['lng'], poi.lng
|
56
|
+
assert_equal hash['street'], poi.street
|
57
|
+
assert_equal hash['district'], poi.district
|
58
|
+
assert_equal hash['region'], poi.region
|
59
|
+
assert_equal hash['city'], poi.city
|
60
|
+
assert_equal hash['postal_code'], poi.postal_code
|
61
|
+
assert_equal hash['country'], poi.country
|
62
|
+
end
|
63
|
+
|
64
|
+
def foursquare_connected
|
65
|
+
assert_equal false, @poi.foursquare_connected?
|
66
|
+
@poi.foursquare_id = 1
|
67
|
+
assert_equal true, @poi.foursquare_connected?
|
68
|
+
end
|
69
|
+
|
70
|
+
def gowalla_connected
|
71
|
+
assert_equal false, @poi.foursquare_connected?
|
72
|
+
@poi.foursquare_id = 1
|
73
|
+
assert_equal true, @poi.foursquare_connected?
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestResource < Test::Unit::TestCase
|
4
|
+
def test_client
|
5
|
+
client = Whatser::Client.new
|
6
|
+
Whatser::Resource.instance_variable_set('@client',client)
|
7
|
+
assert_equal client, Whatser::Resource.client
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_set_client
|
11
|
+
client = Whatser::Client.new
|
12
|
+
res = Whatser::Resource.set(client)
|
13
|
+
assert_equal res.client, client
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_convert_data_to_model_with_blank
|
17
|
+
res = Whatser::Resource
|
18
|
+
assert_nil res.convert_data_to_model(nil)
|
19
|
+
assert_equal [], res.convert_data_to_model([])
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_convert_data_to_model_with_hash
|
23
|
+
res = Whatser::Resource
|
24
|
+
mod = res.convert_data_to_model(:test => '1', :testing => '1')
|
25
|
+
assert mod.is_a?(Whatser::Resource)
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_convert_data_to_model_with_array
|
29
|
+
res = Whatser::Resource
|
30
|
+
arr = res.convert_data_to_model([{:test => '1', :testing => '1'},{:test => '2', :testing => '1'}])
|
31
|
+
arr.each do |mod|
|
32
|
+
assert mod.is_a?(Whatser::Resource)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_api_request
|
37
|
+
Whatser::Resource.set( Whatser.client )
|
38
|
+
resource = Whatser::Resource
|
39
|
+
response = resource.api_request(:get, '/path', {})
|
40
|
+
assert response.is_a?(Whatser::Response)
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_instance_api_request
|
44
|
+
Whatser::Resource.set( Whatser.client )
|
45
|
+
resource = Whatser::Resource.new
|
46
|
+
response = resource.api_request(:get, '/path', {})
|
47
|
+
assert response.is_a?(Whatser::Response)
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_from_hash_to_model
|
51
|
+
hash = {:test => '1', :testing => '1'}
|
52
|
+
mod = Whatser::Resource.from_hash_to_model(hash)
|
53
|
+
assert mod.is_a?(Whatser::Resource)
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_from_hash_to_model_with_root
|
57
|
+
hash = {:root => {:test => '1', :testing => '1'}}
|
58
|
+
mod = Whatser::Resource.from_hash_to_model(hash)
|
59
|
+
assert mod.is_a?(Whatser::Resource)
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_from_hash_to_model_with_option
|
63
|
+
hash = {:id => '1', :name => 'Test'}
|
64
|
+
option = Whatser::Poi
|
65
|
+
mod = Whatser::Resource.from_hash_to_model(hash, option)
|
66
|
+
assert mod.is_a?(Whatser::Poi)
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_from_hash_to_model_empty
|
70
|
+
mod = Whatser::Resource.from_hash_to_model(nil)
|
71
|
+
assert mod.is_a?(Whatser::Resource)
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestResponse < Test::Unit::TestCase
|
4
|
+
def test_initialize
|
5
|
+
res = Whatser::Response.new({})
|
6
|
+
assert_equal nil, res.data
|
7
|
+
res = Whatser::Response.new( {'data' => []} )
|
8
|
+
assert_equal [], res.data
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_load_from_hash
|
12
|
+
params = {'data'=>'test1','http_status'=>'test2','version'=>'test3','scope'=>'test4','page'=>'test5','per_page'=>'test6','more'=>'test7','error'=>'test8','error_description'=>'test9','error_uri'=>'test0'}
|
13
|
+
res = Whatser::Response.new({})
|
14
|
+
res.load_from_hash(params)
|
15
|
+
assert_equal params['data'], res.data
|
16
|
+
assert_equal params['http_status'], res.http_status
|
17
|
+
assert_equal params['version'], res.version
|
18
|
+
assert_equal params['scope'], res.scope
|
19
|
+
assert_equal params['page'], res.page
|
20
|
+
assert_equal params['per_page'], res.per_page
|
21
|
+
assert_equal params['more'], res.more
|
22
|
+
assert_equal params['error'], res.error
|
23
|
+
assert_equal params['error_description'], res.error_description
|
24
|
+
assert_equal params['error_uri'], res.error_uri
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_data_enum
|
28
|
+
res = Whatser::Response.new({})
|
29
|
+
assert_equal [], res.data_enum
|
30
|
+
res.data = "test"
|
31
|
+
assert_equal ["test"], res.data_enum
|
32
|
+
res.data = [1,2,3]
|
33
|
+
assert_equal [1,2,3], res.data_enum
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_each
|
37
|
+
res = Whatser::Response.new({})
|
38
|
+
res.data = [1,2,3]
|
39
|
+
assert res.respond_to?(:each)
|
40
|
+
res.each_with_index do |e,idx|
|
41
|
+
assert_equal res.data[idx], e
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|