infomeme_client 0.1.4 → 0.2.1

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.
Files changed (56) hide show
  1. metadata +26 -165
  2. data/.document +0 -5
  3. data/.gitignore +0 -21
  4. data/LICENSE +0 -20
  5. data/README.rdoc +0 -8
  6. data/Rakefile +0 -55
  7. data/VERSION +0 -1
  8. data/lib/infomeme_client.rb +0 -22
  9. data/lib/infomeme_client/base.rb +0 -77
  10. data/lib/infomeme_client/communication.rb +0 -75
  11. data/lib/infomeme_client/entity_hash.rb +0 -66
  12. data/lib/infomeme_client/entity_hash/comment.rb +0 -2
  13. data/lib/infomeme_client/entity_hash/invoice.rb +0 -2
  14. data/lib/infomeme_client/entity_hash/meme.rb +0 -45
  15. data/lib/infomeme_client/entity_hash/meme_type.rb +0 -2
  16. data/lib/infomeme_client/entity_hash/transaction.rb +0 -2
  17. data/lib/infomeme_client/entity_hash/user.rb +0 -2
  18. data/lib/infomeme_client/errors.rb +0 -22
  19. data/lib/infomeme_client/functions.rb +0 -16
  20. data/lib/infomeme_client/functions/meme.rb +0 -23
  21. data/lib/infomeme_client/functions/user.rb +0 -79
  22. data/lib/infomeme_client/functions/user_meme.rb +0 -127
  23. data/lib/infomeme_client/functions/user_order.rb +0 -31
  24. data/lib/infomeme_client/meme_application.rb +0 -18
  25. data/lib/infomeme_client/permissions.rb +0 -22
  26. data/lib/infomeme_client/response.rb +0 -52
  27. data/test/fixtures/memes/comments.json +0 -1
  28. data/test/fixtures/memes/meme.json +0 -1
  29. data/test/fixtures/memes/memes.json +0 -1
  30. data/test/fixtures/memes/types.json +0 -1
  31. data/test/fixtures/oauth/access_token.json +0 -1
  32. data/test/fixtures/oauth/authorize.json +0 -1
  33. data/test/fixtures/oauth/permissions.json +0 -1
  34. data/test/fixtures/oauth/request_token.json +0 -1
  35. data/test/fixtures/oauth/verify_access.json +0 -1
  36. data/test/fixtures/response/error.json +0 -1
  37. data/test/fixtures/response/ok.json +0 -1
  38. data/test/fixtures/response/test.json +0 -1
  39. data/test/fixtures/response/test_extract.json +0 -1
  40. data/test/fixtures/users/invoice.json +0 -1
  41. data/test/fixtures/users/invoices.json +0 -1
  42. data/test/fixtures/users/memes.json +0 -1
  43. data/test/fixtures/users/order_paypal.json +0 -1
  44. data/test/fixtures/users/permissions.json +0 -1
  45. data/test/fixtures/users/transactions.json +0 -1
  46. data/test/fixtures/users/user.json +0 -1
  47. data/test/fixtures/users/user_public.json +0 -1
  48. data/test/helper.rb +0 -69
  49. data/test/test_authorization.rb +0 -56
  50. data/test/test_communication.rb +0 -46
  51. data/test/test_entity_hash.rb +0 -15
  52. data/test/test_meme_functions.rb +0 -46
  53. data/test/test_permissions.rb +0 -25
  54. data/test/test_user_functions.rb +0 -15
  55. data/test/test_user_meme_functions.rb +0 -47
  56. data/test/test_user_order_functions.rb +0 -45
@@ -1,22 +0,0 @@
1
- module InfomemeClient::Permissions
2
- def all_permissions
3
- handle_response :get, "/oauth/permissions" do |resp|
4
- resp.permissions unless resp.error?
5
- end
6
- end
7
-
8
- def has_permission?(perm)
9
- authorized? && permissions && permissions.include?(perm)
10
- end
11
-
12
- private
13
- attr_accessor :permissions
14
-
15
- def refresh_permissions
16
- self.permissions = nil
17
- return false unless authorized?
18
- response = get "/users/#{verified_user}/permissions"
19
- return false if response.error?
20
- self.permissions = response.permissions
21
- end
22
- end
@@ -1,52 +0,0 @@
1
- class InfomemeClient::Response < InfomemeClient::EntityHash
2
- STATUS_FAILED = -1
3
- STATUS_OK = 0
4
- STATUS_ERROR = 1
5
-
6
- ERRORS = {
7
- "request_failed" => InfomemeClient::Error::RequestFailed,
8
- "error" => InfomemeClient::Error,
9
- "internal_error" => InfomemeClient::Error::InternalError,
10
- "no_access" => InfomemeClient::Error::NoAccess,
11
- "not_found" => InfomemeClient::Error::NotFound,
12
- }.freeze
13
-
14
- def initialize(response)
15
- super(response.is_a?(Exception) ? {:status => STATUS_FAILED, :message => "Request failed.", :error_code => "request_failed", :errors => {:base => {response.class.name.to_sym => response.message}}} : response, true)
16
- ERRORS.each do |key, val|
17
- instance_eval "def #{val.name.split('::').last.sub(/\b\w/) { $&.downcase }}Error?; error_code == #{key}; end"
18
- end
19
- freeze
20
- end
21
-
22
- def failed?
23
- status == STATUS_FAILED
24
- end
25
-
26
- def error?
27
- status != STATUS_OK
28
- end
29
-
30
- def raise_error(options = {})
31
- return false unless error?
32
- return false if options.key?(:only) && ! options[:only].include?(error_code)
33
- return false if options.key?(:except) && options[:except].include?(error_code)
34
- err = ERRORS.key?(error_code) ? ERRORS[error_code] : InfomemeClient::Error
35
- raise err, [(respond_to?(:errors) ? errors.to_hash : nil), message]
36
- end
37
-
38
- def extract(key, *extra_args)
39
- return nil unless @hsh.key?(key)
40
- klass = case key
41
- when :comments then InfomemeClient::EntityHash::Comment
42
- when :meme, :memes then InfomemeClient::EntityHash::Meme
43
- when :meme_types then InfomemeClient::EntityHash::MemeType
44
- when :user then InfomemeClient::EntityHash::User
45
- when :transactions then InfomemeClient::EntityHash::Transaction
46
- when :invoice, :invoices then InfomemeClient::EntityHash::Invoice
47
- else InfomemeClient::EntityHash
48
- end
49
- stored = to_hash[key]
50
- stored.is_a?(Array) ? stored.collect {|val| klass.new *[val, extra_args]} : klass.new(*[stored, extra_args])
51
- end
52
- end
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","comments":[{"comment":"test comment 1","user":{"username":"test_user"},"created_at":"2010-01-01 12:00:00"},{"comment":"test comment 2","user":{"username":"test_user"},"created_at":"2010-01-01 11:00:00"},{"comment":"test comment 3","user":{"username":"test_user"},"created_at":"2010-01-01 10:00:00"}],"pages":1,"count":3}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","meme":{"id":1,"name":"test meme 1"}}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","memes":[{"id":1,"name":"test meme 1"},{"id":2,"name":"test meme 2"},{"id":3,"name":"test meme 3"},{"id":4,"name":"test meme 4"}],"pages":1,"count":4}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","meme_types":[{"id":1,"name":"TEST","url":"http://test.url","summary":"test summary","description":"test description"}]}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","access_token":{"token":"test_token","secret":"test_secret"}}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","verifier":"test_verifier"}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","permissions":[{"id":0,"name":"memes","description":"Meme functionality (comment, rate, publish, etc.)."},{"id":1,"name":"private_data","description":"Access to private data (firstname, lastname, cleared and pending balance)."},{"id":2,"name":"order","description":"Order functionality (order, transactions, invoices, etc.)."}]}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","request_token":{"token":"test_token","secret":"test_secret"}}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","user_id":"test_user"}
@@ -1 +0,0 @@
1
- {"status":1,"message":"Error.","error_code":"error","errors":{"test":{"test":"test error"}}}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success."}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","test_message":"test message"}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","user":{"username":"test_user","email":"test@email.tld"}}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","invoice":{"amount_user":10.0,"meme":{"name":"test meme 1"}}}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","invoices":[{"amount_user":10.0,"meme":{"name":"test meme 1"}},{"amount_user":2.0,"meme":{"name":"test meme 2"}},{"amount_user":1.3,"meme":{"name":"test meme 3"}},{"amount_user":14.3,"meme":{"name":"test meme 4"}}],"pages":1,"count":4}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","memes":[{"id":1,"name":"test meme 1"},{"id":2,"name":"test meme 2"},{"id":3,"name":"test meme 3"},{"id":4,"name":"test meme 4"}],"pages":1,"count":4}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","paypal_url":"test_paypal_url"}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","permissions":[0,1,2]}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","transactions":[{"amount_user":10.0,"meme":{"name":"test meme 1"}},{"amount_user":2.0,"meme":{"name":"test meme 2"}},{"amount_user":1.3,"meme":{"name":"test meme 3"}},{"amount_user":14.3,"meme":{"name":"test meme 4"}}],"pages":1,"count":4}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","user":{"username":"test_user","comments":3,"ratings":3,"language":"en","confirmed":true,"can_publish":true,"language":"en"}}
@@ -1 +0,0 @@
1
- {"status":0,"message":"Success.","user":{"username":"test_user","comments":3,"ratings":3}}
data/test/helper.rb DELETED
@@ -1,69 +0,0 @@
1
- require "rubygems"
2
- require "test/unit"
3
- require "fakeweb"
4
-
5
- FakeWeb.allow_net_connect = false
6
-
7
- $LOAD_PATH.unshift(File.dirname(__FILE__))
8
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
9
- require "infomeme_client"
10
-
11
- class Test::Unit::TestCase
12
- def setup
13
- @test_site = "https://test.api.site"
14
- @test_api_key = "TEST_API_KEY"
15
- @test_api_secret = "TEST_API_KEY"
16
- @im_client = InfomemeClient.new :api_key => @test_api_key, :api_secret => @test_api_secret, :site => @test_site
17
- end
18
-
19
- private
20
- def fake_request(method, url, options)
21
- FakeWeb.register_uri(method, infomeme_url(url), options)
22
- end
23
-
24
- def fake_authorize_requests
25
- fake_request(:get, "/oauth/verify_access", :body => fixture("oauth/verify_access"), :content_type => "application/json")
26
- fake_request(:get, "/users/test_user", :body => fixture("users/user"), :content_type => "application/json")
27
- fake_request(:get, "/users/test_user/permissions", :body => fixture("users/permissions"), :content_type => "application/json")
28
- end
29
-
30
- def authorize
31
- fake_authorize_requests
32
- assert_nothing_raised do
33
- @im_client.authorize_with_token("test_token", "test_secret")
34
- end
35
- assert @im_client.authorized?
36
- end
37
-
38
- def fixture(filename)
39
- File.read(File.dirname(__FILE__) + "/fixtures/#{filename}.json")
40
- end
41
-
42
- def infomeme_url(url)
43
- url =~ /^http/ ? url : "#{@test_site}#{url}"
44
- end
45
-
46
- def check_paged(type, resp, options = {})
47
- assert_instance_of InfomemeClient::Response, resp
48
- assert_respond_to resp, type.to_sym
49
- assert_respond_to resp, :pages
50
- assert_respond_to resp, :count
51
- check_list(type, resp.extract(type.to_sym))
52
- assert_kind_of Integer, resp.pages
53
- assert_kind_of Integer, resp.count
54
- end
55
-
56
- def check_list(type, list)
57
- assert_instance_of Array, list
58
- type = type.to_s.sub(/s\z/, "").to_sym
59
- list.each do |elm|
60
- check_eh(type, elm)
61
- end
62
- end
63
-
64
- def check_eh(type, obj)
65
- klass = InfomemeClient::EntityHash.const_get(type.to_s.split("_").map {|t| t.capitalize}.join.to_sym)
66
- assert_instance_of Class, klass, "couldn't determine class from #{type.inspect} (#{klass.inspect})"
67
- assert_instance_of klass, obj
68
- end
69
- end
@@ -1,56 +0,0 @@
1
- require "helper"
2
-
3
- class TestAuthorization < Test::Unit::TestCase
4
- def test_request_authorization
5
- fake_request(:get, "/oauth/request_token", :body => fixture("oauth/request_token"), :content_type => "application/json")
6
- req_token = nil
7
- assert_nothing_raised do
8
- req_token = @im_client.request_authorization
9
- end
10
- assert_kind_of InfomemeClient::EntityHash, req_token
11
- assert_respond_to req_token, :token, req_token.inspect
12
- assert_respond_to req_token, :secret, req_token.inspect
13
- assert_equal "test_token", req_token.token, req_token.inspect
14
- assert_equal "test_secret", req_token.secret, req_token.inspect
15
- end
16
-
17
- def test_authorize_with_verifier
18
- fake_request(:get, "/oauth/access_token?oauth_verifier=test_verifier", :body => fixture("oauth/access_token"), :content_type => "application/json")
19
- fake_authorize_requests
20
- assert_nothing_raised do
21
- @im_client.authorize_with_verifier("test_token", "test_secret", "test_verifier")
22
- end
23
- check_authorized
24
- end
25
-
26
- def test_authorize_with_token
27
- authorize
28
- check_authorized
29
- end
30
-
31
- def test_authorize_with_credentials
32
- fake_request(:get, "/oauth/request_token", :body => fixture("oauth/request_token"), :content_type => "application/json")
33
- fake_request(:get, "/oauth/permissions", :body => fixture("oauth/permissions"), :content_type => "application/json")
34
- fake_request(:put, "/oauth/authorize", :body => fixture("oauth/authorize"), :content_type => "application/json")
35
- fake_request(:get, "/oauth/access_token?oauth_verifier=test_verifier", :body => fixture("oauth/access_token"), :content_type => "application/json")
36
- fake_authorize_requests
37
- assert_nothing_raised do
38
- @im_client.authorize_with_credentials("test_login", "test_password")
39
- end
40
- check_authorized
41
- assert @im_client.has_permission?(0)
42
- assert @im_client.has_permission?(1)
43
- assert @im_client.has_permission?(2)
44
- end
45
-
46
- private
47
- def check_authorized
48
- assert @im_client.authorized?
49
- assert @im_client.confirmed?
50
- assert @im_client.can_publish?
51
- cred = @im_client.credentials
52
- assert_equal "test_user", cred[:login]
53
- assert_equal "test_token", cred[:token]
54
- assert_equal "test_secret", cred[:secret]
55
- end
56
- end
@@ -1,46 +0,0 @@
1
- require "helper"
2
-
3
- class TestCommunication < Test::Unit::TestCase
4
- def test_invalid_url
5
- fake_request(:get, "/invalid_url", :body => "Error not found.", :status => ["404", "Not Found"])
6
- assert_raise InfomemeClient::Error::RequestFailed do
7
- @im_client.handle_response :get, "/invalid_url"
8
- end
9
- end
10
-
11
- def test_response_error
12
- fake_request(:get, "/test_error", :body => fixture("response/error"), :status => ["400", "Bad Request"], :content_type => "application/json")
13
- assert_raises InfomemeClient::Error do
14
- resp = @im_client.handle_response :get, "/test_error"
15
- end
16
- resp = @im_client.get "/test_error"
17
- assert resp.error?
18
- assert_respond_to resp, :errors
19
- assert_kind_of InfomemeClient::EntityHash, resp.errors
20
- assert_equal resp.errors.to_hash, {:test => {:test => "test error"}}
21
- end
22
-
23
- def test_response_ok
24
- fake_request(:get, "/test_response", :body => fixture("response/test"), :content_type => "application/json")
25
- resp = nil
26
- assert_nothing_raised do
27
- resp = @im_client.handle_response :get, "/test_response"
28
- end
29
- assert_instance_of InfomemeClient::Response, resp
30
- assert_respond_to resp, :test_message
31
- assert_equal resp.test_message, "test message"
32
- end
33
-
34
- def test_response_extract
35
- fake_request(:get, "/test_extract", :body => fixture("response/test_extract"), :content_type => "application/json")
36
- resp = nil
37
- assert_nothing_raised do
38
- resp = @im_client.handle_response :get, "/test_extract"
39
- end
40
- assert_instance_of InfomemeClient::Response, resp
41
- assert_respond_to resp, :extract
42
- assert_respond_to resp, :user
43
- user = resp.extract(:user)
44
- assert_instance_of InfomemeClient::EntityHash::User, user
45
- end
46
- end
@@ -1,15 +0,0 @@
1
- require "helper"
2
-
3
- class TestEntityHash < Test::Unit::TestCase
4
- def test_entity_hash_attributes_available
5
- eh = InfomemeClient::EntityHash.new({:foo => "bar"})
6
- assert_respond_to eh, :foo
7
- assert_equal "bar", eh.foo
8
- end
9
-
10
- def test_entity_hash_retrieve_hash
11
- hash = {:foo => "bar", :bar => [{:foo => "bar"}]}
12
- eh = InfomemeClient::EntityHash.new(hash)
13
- assert_equal hash, eh.to_hash
14
- end
15
- end
@@ -1,46 +0,0 @@
1
- require "helper"
2
-
3
- class TestMemeFunctions < Test::Unit::TestCase
4
- def test_browse
5
- fake_request(:get, "/memes?page=1&pageSize=25&sort=date-asc", :body => fixture("memes/memes"), :content_type => "application/json")
6
- check_paged :memes, @im_client.browse(:page => 1, :pageSize => 25, :sort => "date-asc", :no_extract => true)
7
- check_list :memes, @im_client.browse(:page => 1, :pageSize => 25, :sort => "date-asc")
8
- end
9
-
10
- def test_search
11
- fake_request(:get, "/memes/search?search_token=a&page=1&pageSize=25&sort=date-asc", :body => fixture("memes/memes"), :content_type => "application/json")
12
- check_paged :memes, @im_client.search("a", :page => 1, :pageSize => 25, :sort => "date-asc", :no_extract => true)
13
- check_list :memes, @im_client.search("a", :page => 1, :pageSize => 25, :sort => "date-asc")
14
- end
15
-
16
- def test_meme_types
17
- fake_request(:get, "/memes/types", :body => fixture("memes/types"), :content_type => "application/json")
18
- types = @im_client.meme_types
19
- check_list :meme_types, types
20
- assert types.size > 0
21
- assert_respond_to types[0], :id
22
- assert_respond_to types[0], :name
23
- assert_respond_to types[0], :url
24
- assert_respond_to types[0], :summary
25
- assert_respond_to types[0], :description
26
- assert_equal 1, types[0].id
27
- assert_equal "TEST", types[0].name
28
- assert_equal "http://test.url", types[0].url
29
- assert_equal "test summary", types[0].summary
30
- assert_equal "test description", types[0].description
31
- end
32
-
33
- def test_meme
34
- fake_request(:get, "/memes/1", :body => fixture("memes/meme"), :content_type => "application/json")
35
- meme = @im_client.meme(1)
36
- check_eh :meme, meme
37
- assert_respond_to meme, :name
38
- assert_equal "test meme 1", meme.name
39
- end
40
-
41
- def test_meme_comments
42
- fake_request(:get, "/memes/1/comments?page=1&pageSize=25", :body => fixture("memes/comments"), :content_type => "application/json")
43
- check_paged :comments, @im_client.meme_comments(1, :page => 1, :pageSize => 25, :no_extract => true)
44
- check_list :comments, @im_client.meme_comments(1, :page => 1, :pageSize => 25)
45
- end
46
- end
@@ -1,25 +0,0 @@
1
- require "helper"
2
-
3
- class TestPermissions < Test::Unit::TestCase
4
- def test_all_permissions
5
- fake_request(:get, "/oauth/permissions", :body => fixture("oauth/permissions"), :content_type => "application/json")
6
- perms = @im_client.all_permissions
7
- assert_instance_of Array, perms
8
- all = {0 => "memes", 1 => "private_data", 2 => "order"}
9
- perms.each do |perm|
10
- assert_instance_of InfomemeClient::EntityHash, perm
11
- assert_respond_to perm, :id
12
- assert_respond_to perm, :name
13
- assert_respond_to perm, :description
14
- assert all.key?(perm.id)
15
- assert_equal all[perm.id], perm.name
16
- end
17
- end
18
-
19
- def test_refresh_permissions
20
- authorize
21
- (0..2).each do |perm|
22
- assert @im_client.has_permission?(perm)
23
- end
24
- end
25
- end
@@ -1,15 +0,0 @@
1
- require "helper"
2
-
3
- class TestUserFunctions < Test::Unit::TestCase
4
- def test_user
5
- fake_request(:get, "/users/test_user", :body => fixture("users/user_public"), :content_type => "application/json")
6
- user = @im_client.user("test_user")
7
- check_eh :user, user
8
- assert_respond_to user, :username
9
- assert_equal "test_user", user.username
10
- assert_respond_to user, :comments
11
- assert_equal 3, user.comments
12
- assert_respond_to user, :ratings
13
- assert_equal 3, user.ratings
14
- end
15
- end
@@ -1,47 +0,0 @@
1
- require "helper"
2
-
3
- class TestUserMemeFunctions < Test::Unit::TestCase
4
- def test_library
5
- fake_request(:get, "/users/test_user/memes?page=1&pageSize=25&sort=date-asc", :body => fixture("users/memes"), :content_type => "application/json")
6
- authorize
7
- check_paged :memes, @im_client.library(:page => 1, :pageSize => 25, :sort => "date-asc", :no_extract => true)
8
- check_list :memes, @im_client.library(:page => 1, :pageSize => 25, :sort => "date-asc")
9
- end
10
-
11
- def test_published
12
- fake_request(:get, "/users/test_user/memes/published?page=1&pageSize=25&sort=date-asc", :body => fixture("users/memes"), :content_type => "application/json")
13
- authorize
14
- check_paged :memes, @im_client.published(:page => 1, :pageSize => 25, :sort => "date-asc", :no_extract => true)
15
- check_list :memes, @im_client.published(:page => 1, :pageSize => 25, :sort => "date-asc")
16
- end
17
-
18
- def test_inactive
19
- fake_request(:get, "/users/test_user/memes/inactive?page=1&pageSize=25&sort=date-asc", :body => fixture("users/memes"), :content_type => "application/json")
20
- authorize
21
- check_paged :memes, @im_client.inactive(:page => 1, :pageSize => 25, :sort => "date-asc", :no_extract => true)
22
- check_list :memes, @im_client.inactive(:page => 1, :pageSize => 25, :sort => "date-asc")
23
- end
24
-
25
- def test_incomplete
26
- fake_request(:get, "/users/test_user/memes/incomplete?page=1&pageSize=25&sort=date-asc", :body => fixture("users/memes"), :content_type => "application/json")
27
- authorize
28
- check_paged :memes, @im_client.incomplete(:page => 1, :pageSize => 25, :sort => "date-asc", :no_extract => true)
29
- check_list :memes, @im_client.incomplete(:page => 1, :pageSize => 25, :sort => "date-asc")
30
- end
31
-
32
- def test_comment
33
- fake_request(:post, "/users/test_user/memes/1/comments", :body => fixture("response/ok"), :content_type => "application/json")
34
- authorize
35
- assert_nothing_raised do
36
- assert @im_client.comment(1, "test comment")
37
- end
38
- end
39
-
40
- def test_rate
41
- fake_request(:post, "/users/test_user/memes/1/rates", :body => fixture("response/ok"), :content_type => "application/json")
42
- authorize
43
- assert_nothing_raised do
44
- assert @im_client.rate(1, 1)
45
- end
46
- end
47
- end