vigetlabs-garb 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -26,12 +26,19 @@ module Garb
26
26
  def send_request
27
27
  http = Net::HTTP.new(uri.host, uri.port)
28
28
  http.use_ssl = true
29
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
29
+ http.verify_mode = OpenSSL::SSL::VERIFY_PEER
30
+ http.cert_store = cert_store
30
31
  http.request(build_request) do |response|
31
32
  raise AuthError unless response.is_a?(Net::HTTPOK)
32
33
  end
33
34
  end
34
-
35
+
36
+ def cert_store
37
+ store = OpenSSL::X509::Store.new
38
+ store.set_default_paths
39
+ store
40
+ end
41
+
35
42
  def build_request
36
43
  post = Net::HTTP::Post.new(uri.path)
37
44
  post.set_form_data(parameters)
data/lib/garb/version.rb CHANGED
@@ -3,7 +3,7 @@ module Garb
3
3
 
4
4
  MAJOR = 0
5
5
  MINOR = 2
6
- TINY = 1
6
+ TINY = 2
7
7
 
8
8
  def self.to_s # :nodoc:
9
9
  [MAJOR, MINOR, TINY].join('.')
@@ -20,38 +20,46 @@ module Garb
20
20
  request = AuthenticationRequest.new('user@example.com', 'fuzzybunnies')
21
21
  assert_equal expected, request.parameters
22
22
  end
23
-
23
+
24
24
  should "have a URI" do
25
25
  assert_equal URI.parse('https://www.google.com/accounts/ClientLogin'), @request.uri
26
26
  end
27
-
28
-
27
+
29
28
  should "be able to send a request to the GAAPI service" do
30
29
  @request.expects(:build_request).returns('post')
30
+ @request.stubs(:cert_store).returns('cert_store')
31
+
31
32
  response = mock {|m| m.expects(:is_a?).with(Net::HTTPOK).returns(true) }
32
-
33
+
33
34
  http = mock do |m|
34
35
  m.expects(:use_ssl=).with(true)
35
- m.expects(:verify_mode=).with(OpenSSL::SSL::VERIFY_NONE)
36
+ m.expects(:verify_mode=).with(OpenSSL::SSL::VERIFY_PEER)
37
+ m.expects(:cert_store=).with('cert_store')
36
38
  m.expects(:request).with('post').yields(response)
37
39
  end
38
40
 
39
41
  Net::HTTP.expects(:new).with('www.google.com', 443).returns(http)
40
-
42
+
41
43
  @request.send_request
42
44
  end
43
45
 
44
46
  should "be able to build a request for the GAAPI service" do
45
47
  params = "param"
46
48
  @request.expects(:parameters).with().returns(params)
47
-
49
+
48
50
  post = mock
49
51
  post.expects(:set_form_data).with(params)
50
-
52
+
51
53
  Net::HTTP::Post.expects(:new).with('/accounts/ClientLogin').returns(post)
52
-
54
+
53
55
  @request.build_request
54
56
  end
57
+
58
+ should "have a cert store" do
59
+ cert_store = mock(:set_default_paths)
60
+ OpenSSL::X509::Store.expects(:new).returns(cert_store)
61
+ assert_equal cert_store, @request.cert_store
62
+ end
55
63
 
56
64
  should "be able to retrieve an auth_token from the body" do
57
65
  response_data =
@@ -66,6 +74,7 @@ module Garb
66
74
 
67
75
  should "raise an exception when requesting an auth_token when the authorization fails" do
68
76
  @request.stubs(:build_request)
77
+ @request.stubs(:cert_store)
69
78
  response = mock do |m|
70
79
  m.expects(:is_a?).with(Net::HTTPOK).returns(false)
71
80
  end
@@ -73,6 +82,7 @@ module Garb
73
82
  http = stub do |s|
74
83
  s.stubs(:use_ssl=)
75
84
  s.stubs(:verify_mode=)
85
+ s.stubs(:cert_store=)
76
86
  s.stubs(:request).yields(response)
77
87
  end
78
88
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vigetlabs-garb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tony Pitale
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2009-04-30 00:00:00 -07:00
14
+ date: 2009-05-11 00:00:00 -07:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
@@ -94,7 +94,7 @@ requirements: []
94
94
  rubyforge_project:
95
95
  rubygems_version: 1.2.0
96
96
  signing_key:
97
- specification_version: 3
97
+ specification_version: 2
98
98
  summary: Google Analytics API Ruby Wrapper
99
99
  test_files:
100
100
  - test/fixtures