Navigation Menu

Skip to content

Commit

Permalink
Tests are running again (with 3 failures for now)
Browse files Browse the repository at this point in the history
- Moved Garb::*Error classes definitions to lib/garb.rb
- Added Gemfile.lock
- Updated Rakefile with regard to packaging tasks
- Minor fixes
  • Loading branch information
Sija committed Sep 1, 2012
1 parent ef71d20 commit 0d41a65
Show file tree
Hide file tree
Showing 9 changed files with 78 additions and 43 deletions.
1 change: 1 addition & 0 deletions Gemfile
Expand Up @@ -7,6 +7,7 @@ gem 'rake'

group :test do
gem 'shoulda'
gem 'shoulda-context'
gem 'simplecov'
gem 'minitest', :require => false
gem 'jferris-mocha', :require => false
Expand Down
42 changes: 42 additions & 0 deletions Gemfile.lock
@@ -0,0 +1,42 @@
PATH
remote: .
specs:
garb (0.9.4)
activesupport (>= 2.2.0)

GEM
remote: http://rubygems.org/
specs:
activesupport (3.2.8)
i18n (~> 0.6)
multi_json (~> 1.0)
i18n (0.6.1)
jferris-mocha (0.9.8.20100526112143)
rake
minitest (3.3.0)
multi_json (1.3.6)
rake (0.9.2.2)
shoulda (3.1.1)
shoulda-context (~> 1.0)
shoulda-matchers (~> 1.2)
shoulda-context (1.0.0)
shoulda-matchers (1.3.0)
activesupport (>= 3.0.0)
simplecov (0.6.4)
multi_json (~> 1.0)
simplecov-html (~> 0.5.3)
simplecov-html (0.5.3)
yajl-ruby (1.1.0)

PLATFORMS
ruby

DEPENDENCIES
garb!
jferris-mocha
minitest
rake
shoulda
shoulda-context
simplecov
yajl-ruby
7 changes: 3 additions & 4 deletions Rakefile
@@ -1,7 +1,8 @@
#!/usr/bin/env rake
require 'rake/gempackagetask'
require 'rake/testtask'

require 'rubygems/package_task'
require 'bundler/gem_tasks'
require 'rake/testtask'

$:.unshift File.expand_path('../lib', __FILE__)
require 'garb'
Expand All @@ -27,6 +28,4 @@ rescue LoadError
nil
end

task :default => 'test'

# EOF
18 changes: 17 additions & 1 deletion lib/garb.rb
Expand Up @@ -38,7 +38,23 @@ module Request
autoload :Authentication, 'garb/request/authentication'
autoload :Data, 'garb/request/data'
end
end

class ClientError < StandardError
attr_reader :code, :message, :errors, :uri

def initialize(message, code = nil, errors = [], uri = nil)
@code, @message, @errors, @uri = code, message, errors, uri
end

def to_s
"#{code ? "[#{code}] #{message}" : message} : #{uri}"
end
end
class BadRequestError < ClientError; end
class InvalidCredentialsError < ClientError; end
class InsufficientPermissionsError < ClientError; end
class BackendError < ClientError; end
end

# require 'garb/account_feed_request'
# require 'garb/resource'
Expand Down
6 changes: 2 additions & 4 deletions lib/garb/model.rb
Expand Up @@ -51,15 +51,13 @@ def all(profile, options = {})
options[:limit] = 10_000 # maximum allowed
results = nil
while ((rs = results(profile, options)) && !rs.empty?)
results \
? results.concat(rs.to_a)
: results = rs
results ? results.concat(rs.to_a) : results = rs
options[:offset] = results.size + 1

break if limit and results.size >= limit
break if results.size >= results.total_results
end
limit ? results[0...limit] : results
limit and results ? results[0...limit] : results
end

private
Expand Down
16 changes: 0 additions & 16 deletions lib/garb/request/data.rb
@@ -1,20 +1,4 @@
module Garb
class ClientError < StandardError
attr_reader :code, :message, :errors, :uri

def initialize(message, code = nil, errors = [], uri = nil)
@code, @message, @errors, @uri = code, message, errors, uri
end

def to_s
"#{code ? "[#{code}] #{message}" : message} : #{uri}"
end
end
class BadRequestError < ClientError; end
class InvalidCredentialsError < ClientError; end
class InsufficientPermissionsError < ClientError; end
class BackendError < ClientError; end

module Request
class Data
def initialize(session, base_url, parameters = {})
Expand Down
12 changes: 6 additions & 6 deletions test/test_helper.rb
Expand Up @@ -10,7 +10,7 @@

SimpleCov.start 'garb'
rescue LoadError
puts "Install simplecov if you use 1.9 and want coverage metrics"
puts 'Install simplecov if you use 1.9 and want coverage metrics'
end

$:.reject! { |e| e.include? 'TextMate' }
Expand All @@ -20,17 +20,16 @@

require 'shoulda'
require 'minitest/unit'
require 'minitest/autorun'
require 'mocha'

$:.unshift File.expand_path('../../lib', __FILE__)
require 'garb'

class MiniTest::Unit::TestCase
include Shoulda::InstanceMethods
extend Shoulda::ClassMethods
include Shoulda::Assertions
extend Shoulda::Macros
include Shoulda::Helpers
include Shoulda::Context::Assertions
include Shoulda::Context::InstanceMethods
extend Shoulda::Context::ClassMethods

def read_fixture(filename)
File.read(File.dirname(__FILE__) + "/fixtures/#{filename}")
Expand All @@ -42,3 +41,4 @@ def assert_data_params(expected)
end

MiniTest::Unit.autorun

2 changes: 1 addition & 1 deletion test/unit/garb/request/authentication_test.rb
Expand Up @@ -21,7 +21,7 @@ class AuthenticationTest < MiniTest::Unit::TestCase
'Passwd' => 'fuzzybunnies',
'accountType' => 'HOSTED_OR_GOOGLE',
'service' => 'analytics',
'source' => 'vigetLabs-garb-001'
'source' => "sija-garb-v#{Garb::VERSION}"
}

request = Request::Authentication.new('user@example.com', 'fuzzybunnies')
Expand Down
17 changes: 6 additions & 11 deletions test/unit/garb/request/data_test.rb
Expand Up @@ -25,12 +25,7 @@ class DataTest < MiniTest::Unit::TestCase

query_string.sub!(/^\?/, '')

assert_equal ["alt=json", "ids=12345", "metrics=country"], query_string.split('&').sort
end

should "only contain JSON response option if parameters are empty" do
data_request = Request::Data.new(@session, "")
assert_equal "?alt=json", data_request.query_string
assert_equal ["ids=12345", "metrics=country"], query_string.split('&').sort
end

should "be able to build a uri" do
Expand Down Expand Up @@ -87,7 +82,7 @@ class DataTest < MiniTest::Unit::TestCase
data_request = Request::Data.new(@session, 'https://example.com/data', 'key' => 'value')
data_request.stubs(:oauth_user_request).returns(response)

assert_raises(Garb::Request::Data::ClientError) do
assert_raises(Garb::ClientError) do
data_request.send_request
end
end
Expand All @@ -103,7 +98,7 @@ class DataTest < MiniTest::Unit::TestCase
data_request = Request::Data.new(@session, 'https://example.com/data', 'key' => 'value')
data_request.stubs(:oauth_user_request).returns(response)

assert_raises(Garb::Request::Data::ClientError) do
assert_raises(Garb::ClientError) do
data_request.send_request
end
end
Expand All @@ -116,7 +111,7 @@ class DataTest < MiniTest::Unit::TestCase
assert_equal 'responseobject', data_request.oauth_user_request

assert_received(@session, :access_token)
assert_received(access_token, :get) {|e| e.with('https://example.com/data?key=value&alt=json', {'GData-Version' => '2'})}
assert_received(access_token, :get) {|e| e.with('https://example.com/data?key=value', {'GData-Version' => '3'})}
end

should "be able to request via http with an auth token" do
Expand All @@ -126,9 +121,9 @@ class DataTest < MiniTest::Unit::TestCase
http = mock do |m|
m.expects(:use_ssl=).with(true)
m.expects(:verify_mode=).with(OpenSSL::SSL::VERIFY_NONE)
m.expects(:get).with('/data?key=value&alt=json', {
m.expects(:get).with('/data?key=value', {
'Authorization' => 'GoogleLogin auth=toke',
'GData-Version' => '2'
'GData-Version' => '3'
}).returns(response)
end

Expand Down

0 comments on commit 0d41a65

Please sign in to comment.