authenticator-client 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/authenticator/client.rb +15 -1
- data/lib/authenticator/client/account.rb +24 -1
- data/lib/authenticator/client/authenticate_response.rb +9 -1
- data/lib/authenticator/client/base.rb +7 -3
- data/lib/authenticator/client/mock.rb +26 -0
- data/lib/authenticator/client/version.rb +1 -1
- data/spec/authenticator/client/base_spec.rb +13 -5
- data/spec/authenticator/client_spec.rb +14 -0
- data/spec/fixtures/vcr_cassettes/all_success.yml +4 -4
- data/spec/fixtures/vcr_cassettes/authenticate_success.yml +6 -6
- data/spec/fixtures/vcr_cassettes/create_success.yml +6 -6
- data/spec/fixtures/vcr_cassettes/destroy_success.yml +13 -13
- data/spec/fixtures/vcr_cassettes/show_success.yml +7 -7
- data/spec/fixtures/vcr_cassettes/update_success.yml +13 -13
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dbaa8e7cfeea1e5718a076cb8bf72cd0996f33ba
|
4
|
+
data.tar.gz: 015a2237645d0f68f8a22af8ce4b3fbd1342b36f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2ad6ddf6a152d13ca28b5557626eed8ccd0606428a4021bd7414655c11cac04da83e41ba2c3f8c14396a9063c9d2a62ffa34dd0314b0158dd11108fa885592e
|
7
|
+
data.tar.gz: 72f81a5850d9d434bb930c3ee3ce2e84334f996f52c57e5be836b811b53566ce2aeb440978ef3ff8ce5c73b75a96c29b480d04f0347c89dd11656b2174398f5f
|
data/lib/authenticator/client.rb
CHANGED
@@ -9,12 +9,26 @@ end
|
|
9
9
|
module Authenticator
|
10
10
|
module Client
|
11
11
|
@@configs = {}
|
12
|
+
@@stubbed_account = nil
|
13
|
+
|
12
14
|
def self.register_config(key, config)
|
13
15
|
@@configs[key] = config
|
14
16
|
end
|
15
17
|
|
16
18
|
def self.new(key)
|
17
|
-
|
19
|
+
if @@stubbed_account
|
20
|
+
Mock.new(@@stubbed_account)
|
21
|
+
else
|
22
|
+
Base.new(@@configs[key], @@stubbed_account)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.reset!
|
27
|
+
@@stubbed_account = nil
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.authenticate_with!(account)
|
31
|
+
@@stubbed_account = account
|
18
32
|
end
|
19
33
|
end
|
20
34
|
end
|
@@ -2,11 +2,34 @@ module Authenticator
|
|
2
2
|
module Client
|
3
3
|
class Account
|
4
4
|
attr_accessor :id, :username, :password, :created_at, :updated_at
|
5
|
-
def initialize(
|
5
|
+
def initialize(params, password=nil)
|
6
|
+
if password.nil?
|
7
|
+
new_initialize(params)
|
8
|
+
else
|
9
|
+
old_initialize(params, password)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def new_initialize(params)
|
14
|
+
@id = params[:id]
|
15
|
+
@username = params[:username]
|
16
|
+
@password = params[:password]
|
17
|
+
@created_at = params[:created_at]
|
18
|
+
@updated_at = params[:updated_at]
|
19
|
+
end
|
20
|
+
|
21
|
+
def old_initialize(username, password)
|
6
22
|
@username = username
|
7
23
|
@password = password
|
8
24
|
end
|
9
25
|
|
26
|
+
def self.from_json(json)
|
27
|
+
params = json.each_with_object({}) do |(key, value), hash|
|
28
|
+
hash[key.to_sym] = value
|
29
|
+
end
|
30
|
+
new(params)
|
31
|
+
end
|
32
|
+
|
10
33
|
def to_params
|
11
34
|
{
|
12
35
|
account: {
|
@@ -5,7 +5,7 @@ require_relative 'authenticate_response'
|
|
5
5
|
module Authenticator
|
6
6
|
module Client
|
7
7
|
class Base < JsonClient::Base
|
8
|
-
def initialize(config)
|
8
|
+
def initialize(config, account)
|
9
9
|
super(
|
10
10
|
JsonClient::Pather.new(config[:host], 'api/v1', 'accounts'),
|
11
11
|
config
|
@@ -13,6 +13,12 @@ module Authenticator
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def authenticate(account)
|
16
|
+
request_authentication(account)
|
17
|
+
end
|
18
|
+
|
19
|
+
protected
|
20
|
+
|
21
|
+
def request_authentication(account)
|
16
22
|
uri = authenticate_path
|
17
23
|
response = RestClient.post(
|
18
24
|
uri,
|
@@ -23,8 +29,6 @@ module Authenticator
|
|
23
29
|
AuthenticateResponse.new(response.body, response.code)
|
24
30
|
end
|
25
31
|
|
26
|
-
protected
|
27
|
-
|
28
32
|
def authenticate_path
|
29
33
|
"#{pather.host}/api/v1/authentications/authenticate"
|
30
34
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'json'
|
2
|
+
require_relative 'authenticate_response'
|
3
|
+
|
4
|
+
module Authenticator
|
5
|
+
module Client
|
6
|
+
class Mock
|
7
|
+
attr_reader :params
|
8
|
+
def initialize(params)
|
9
|
+
@params = params
|
10
|
+
end
|
11
|
+
|
12
|
+
def authenticate(_account)
|
13
|
+
mock_response
|
14
|
+
end
|
15
|
+
|
16
|
+
protected
|
17
|
+
|
18
|
+
def mock_response
|
19
|
+
AuthenticateResponse.new(
|
20
|
+
params.merge({ authenticated: true }).to_json,
|
21
|
+
200
|
22
|
+
)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -55,6 +55,13 @@ describe Authenticator::Client::Base do
|
|
55
55
|
|
56
56
|
expect(response.json['authenticated']).to eq true
|
57
57
|
expect(response.auth_success?).to eq true
|
58
|
+
|
59
|
+
account = response.account
|
60
|
+
|
61
|
+
expect(account.username).to eq 'new_username'
|
62
|
+
expect(account.id).to be 1
|
63
|
+
expect(account.created_at).to eq '2015-01-08T05:02:05.699Z'
|
64
|
+
expect(account.updated_at).to eq '2015-01-08T05:02:05.699Z'
|
58
65
|
end
|
59
66
|
end
|
60
67
|
end
|
@@ -75,12 +82,13 @@ describe Authenticator::Client::Base do
|
|
75
82
|
describe '#show' do
|
76
83
|
it 'fetches the account' do
|
77
84
|
VCR.use_cassette('show_success') do
|
78
|
-
response = subject.show(
|
85
|
+
response = subject.show(1)
|
86
|
+
json = response.json
|
79
87
|
|
80
|
-
expect(
|
81
|
-
expect(
|
82
|
-
expect(
|
83
|
-
expect(
|
88
|
+
expect(json['username']).to eq 'new_username'
|
89
|
+
expect(json['id']).to be 1
|
90
|
+
expect(json['created_at']).to eq '2015-01-08T05:02:05.699Z'
|
91
|
+
expect(json['updated_at']).to eq '2015-01-08T05:02:05.699Z'
|
84
92
|
end
|
85
93
|
end
|
86
94
|
end
|
@@ -17,6 +17,10 @@ describe Authenticator::Client do
|
|
17
17
|
}
|
18
18
|
end
|
19
19
|
|
20
|
+
let(:client) do
|
21
|
+
described_class.new(:test)
|
22
|
+
end
|
23
|
+
|
20
24
|
describe '::register' do
|
21
25
|
it 'registers a configuration to be used when invoked with ::new' do
|
22
26
|
described_class.register_config(:test, config)
|
@@ -26,4 +30,14 @@ describe Authenticator::Client do
|
|
26
30
|
expect(client.api_password).to eq config[:api_password]
|
27
31
|
end
|
28
32
|
end
|
33
|
+
|
34
|
+
describe '::authenticate_with!' do
|
35
|
+
it 'forces the authenticate client to return the param passed in' do
|
36
|
+
described_class.authenticate_with!(username: 'hello')
|
37
|
+
client = described_class.new(:test)
|
38
|
+
|
39
|
+
expect(client.authenticate(nil).authenticated?).to be true
|
40
|
+
expect(client.authenticate(nil).account.username).to eq 'hello'
|
41
|
+
end
|
42
|
+
end
|
29
43
|
end
|
@@ -21,7 +21,7 @@ http_interactions:
|
|
21
21
|
Server:
|
22
22
|
- Cowboy
|
23
23
|
Date:
|
24
|
-
-
|
24
|
+
- Thu, 08 Jan 2015 05:02:04 GMT
|
25
25
|
Connection:
|
26
26
|
- keep-alive
|
27
27
|
X-Frame-Options:
|
@@ -37,9 +37,9 @@ http_interactions:
|
|
37
37
|
Cache-Control:
|
38
38
|
- max-age=0, private, must-revalidate
|
39
39
|
X-Request-Id:
|
40
|
-
-
|
40
|
+
- 2569aa6a-5e15-44e3-a33d-01ec77d9d407
|
41
41
|
X-Runtime:
|
42
|
-
- '0.
|
42
|
+
- '0.110975'
|
43
43
|
Transfer-Encoding:
|
44
44
|
- chunked
|
45
45
|
Via:
|
@@ -48,5 +48,5 @@ http_interactions:
|
|
48
48
|
encoding: UTF-8
|
49
49
|
string: '{"accounts":[]}'
|
50
50
|
http_version:
|
51
|
-
recorded_at:
|
51
|
+
recorded_at: Thu, 08 Jan 2015 05:02:05 GMT
|
52
52
|
recorded_with: VCR 2.9.3
|
@@ -25,7 +25,7 @@ http_interactions:
|
|
25
25
|
Server:
|
26
26
|
- Cowboy
|
27
27
|
Date:
|
28
|
-
-
|
28
|
+
- Fri, 09 Jan 2015 04:12:09 GMT
|
29
29
|
Connection:
|
30
30
|
- keep-alive
|
31
31
|
X-Frame-Options:
|
@@ -37,22 +37,22 @@ http_interactions:
|
|
37
37
|
Content-Type:
|
38
38
|
- application/json; charset=utf-8
|
39
39
|
Etag:
|
40
|
-
- '"
|
40
|
+
- '"325c5f8d5ad864f87bf6934a9235559a"'
|
41
41
|
Cache-Control:
|
42
42
|
- max-age=0, private, must-revalidate
|
43
43
|
Set-Cookie:
|
44
44
|
- request_method=POST; path=/
|
45
45
|
X-Request-Id:
|
46
|
-
-
|
46
|
+
- cead9f36-d992-4375-878d-a0707546fd9d
|
47
47
|
X-Runtime:
|
48
|
-
- '0.
|
48
|
+
- '0.355233'
|
49
49
|
Transfer-Encoding:
|
50
50
|
- chunked
|
51
51
|
Via:
|
52
52
|
- 1.1 vegur
|
53
53
|
body:
|
54
54
|
encoding: UTF-8
|
55
|
-
string: '{"authenticated":true}'
|
55
|
+
string: '{"authenticated":true,"id":1,"username":"new_username","created_at":"2015-01-08T05:02:05.699Z","updated_at":"2015-01-08T05:02:05.699Z"}'
|
56
56
|
http_version:
|
57
|
-
recorded_at:
|
57
|
+
recorded_at: Fri, 09 Jan 2015 04:12:09 GMT
|
58
58
|
recorded_with: VCR 2.9.3
|
@@ -25,7 +25,7 @@ http_interactions:
|
|
25
25
|
Server:
|
26
26
|
- Cowboy
|
27
27
|
Date:
|
28
|
-
-
|
28
|
+
- Thu, 08 Jan 2015 05:02:04 GMT
|
29
29
|
Connection:
|
30
30
|
- keep-alive
|
31
31
|
X-Frame-Options:
|
@@ -37,22 +37,22 @@ http_interactions:
|
|
37
37
|
Content-Type:
|
38
38
|
- application/json; charset=utf-8
|
39
39
|
Etag:
|
40
|
-
- '"
|
40
|
+
- '"8057cbf6e90518e77b2027186382122f"'
|
41
41
|
Cache-Control:
|
42
42
|
- max-age=0, private, must-revalidate
|
43
43
|
Set-Cookie:
|
44
44
|
- request_method=POST; path=/
|
45
45
|
X-Request-Id:
|
46
|
-
-
|
46
|
+
- 847f447b-1db6-4b80-8497-2de72c544ff4
|
47
47
|
X-Runtime:
|
48
|
-
- '0.
|
48
|
+
- '0.249002'
|
49
49
|
Transfer-Encoding:
|
50
50
|
- chunked
|
51
51
|
Via:
|
52
52
|
- 1.1 vegur
|
53
53
|
body:
|
54
54
|
encoding: UTF-8
|
55
|
-
string: '{"id":
|
55
|
+
string: '{"id":1,"username":"new_username","created_at":"2015-01-08T05:02:05.699Z","updated_at":"2015-01-08T05:02:05.699Z"}'
|
56
56
|
http_version:
|
57
|
-
recorded_at:
|
57
|
+
recorded_at: Thu, 08 Jan 2015 05:02:05 GMT
|
58
58
|
recorded_with: VCR 2.9.3
|
@@ -25,7 +25,7 @@ http_interactions:
|
|
25
25
|
Server:
|
26
26
|
- Cowboy
|
27
27
|
Date:
|
28
|
-
-
|
28
|
+
- Thu, 08 Jan 2015 05:02:06 GMT
|
29
29
|
Connection:
|
30
30
|
- keep-alive
|
31
31
|
X-Frame-Options:
|
@@ -37,27 +37,27 @@ http_interactions:
|
|
37
37
|
Content-Type:
|
38
38
|
- application/json; charset=utf-8
|
39
39
|
Etag:
|
40
|
-
- '"
|
40
|
+
- '"e3a82fc4a2329d6412e62d7a03c86cf4"'
|
41
41
|
Cache-Control:
|
42
42
|
- max-age=0, private, must-revalidate
|
43
43
|
Set-Cookie:
|
44
44
|
- request_method=POST; path=/
|
45
45
|
X-Request-Id:
|
46
|
-
-
|
46
|
+
- 2076a75d-d263-41f9-a20b-dab310168144
|
47
47
|
X-Runtime:
|
48
|
-
- '0.
|
48
|
+
- '0.206475'
|
49
49
|
Transfer-Encoding:
|
50
50
|
- chunked
|
51
51
|
Via:
|
52
52
|
- 1.1 vegur
|
53
53
|
body:
|
54
54
|
encoding: UTF-8
|
55
|
-
string: '{"id":
|
55
|
+
string: '{"id":3,"username":"new_username_2","created_at":"2015-01-08T05:02:07.620Z","updated_at":"2015-01-08T05:02:07.620Z"}'
|
56
56
|
http_version:
|
57
|
-
recorded_at:
|
57
|
+
recorded_at: Thu, 08 Jan 2015 05:02:07 GMT
|
58
58
|
- request:
|
59
59
|
method: delete
|
60
|
-
uri: http://account-authenticator.herokuapp.com/api/v1/accounts/
|
60
|
+
uri: http://account-authenticator.herokuapp.com/api/v1/accounts/3?api_key=124ecd49-07fd-4553-a5cd-0178b7fa8b3f&api_password=IIoclO7kmQqJ1wixWrAuOA
|
61
61
|
body:
|
62
62
|
encoding: US-ASCII
|
63
63
|
string: ''
|
@@ -76,7 +76,7 @@ http_interactions:
|
|
76
76
|
Server:
|
77
77
|
- Cowboy
|
78
78
|
Date:
|
79
|
-
-
|
79
|
+
- Thu, 08 Jan 2015 05:02:07 GMT
|
80
80
|
Connection:
|
81
81
|
- keep-alive
|
82
82
|
X-Frame-Options:
|
@@ -88,22 +88,22 @@ http_interactions:
|
|
88
88
|
Content-Type:
|
89
89
|
- application/json; charset=utf-8
|
90
90
|
Etag:
|
91
|
-
- '"
|
91
|
+
- '"a7f153d21e6c7effbc234f3242315d32"'
|
92
92
|
Cache-Control:
|
93
93
|
- max-age=0, private, must-revalidate
|
94
94
|
Set-Cookie:
|
95
95
|
- request_method=DELETE; path=/
|
96
96
|
X-Request-Id:
|
97
|
-
-
|
97
|
+
- eabdea88-dd5c-492a-8103-934b96e3071c
|
98
98
|
X-Runtime:
|
99
|
-
- '0.
|
99
|
+
- '0.119036'
|
100
100
|
Transfer-Encoding:
|
101
101
|
- chunked
|
102
102
|
Via:
|
103
103
|
- 1.1 vegur
|
104
104
|
body:
|
105
105
|
encoding: UTF-8
|
106
|
-
string: '{"id":
|
106
|
+
string: '{"id":3}'
|
107
107
|
http_version:
|
108
|
-
recorded_at:
|
108
|
+
recorded_at: Thu, 08 Jan 2015 05:02:07 GMT
|
109
109
|
recorded_with: VCR 2.9.3
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: http://account-authenticator.herokuapp.com/api/v1/accounts/
|
5
|
+
uri: http://account-authenticator.herokuapp.com/api/v1/accounts/1?api_key=124ecd49-07fd-4553-a5cd-0178b7fa8b3f&api_password=IIoclO7kmQqJ1wixWrAuOA
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -21,7 +21,7 @@ http_interactions:
|
|
21
21
|
Server:
|
22
22
|
- Cowboy
|
23
23
|
Date:
|
24
|
-
-
|
24
|
+
- Fri, 09 Jan 2015 02:43:59 GMT
|
25
25
|
Connection:
|
26
26
|
- keep-alive
|
27
27
|
X-Frame-Options:
|
@@ -33,20 +33,20 @@ http_interactions:
|
|
33
33
|
Content-Type:
|
34
34
|
- application/json; charset=utf-8
|
35
35
|
Etag:
|
36
|
-
- '"
|
36
|
+
- '"8057cbf6e90518e77b2027186382122f"'
|
37
37
|
Cache-Control:
|
38
38
|
- max-age=0, private, must-revalidate
|
39
39
|
X-Request-Id:
|
40
|
-
-
|
40
|
+
- 4428c126-bf71-434b-a2ae-21f6f670726f
|
41
41
|
X-Runtime:
|
42
|
-
- '0.
|
42
|
+
- '0.163582'
|
43
43
|
Transfer-Encoding:
|
44
44
|
- chunked
|
45
45
|
Via:
|
46
46
|
- 1.1 vegur
|
47
47
|
body:
|
48
48
|
encoding: UTF-8
|
49
|
-
string: '{"id":
|
49
|
+
string: '{"id":1,"username":"new_username","created_at":"2015-01-08T05:02:05.699Z","updated_at":"2015-01-08T05:02:05.699Z"}'
|
50
50
|
http_version:
|
51
|
-
recorded_at:
|
51
|
+
recorded_at: Fri, 09 Jan 2015 02:43:59 GMT
|
52
52
|
recorded_with: VCR 2.9.3
|
@@ -25,7 +25,7 @@ http_interactions:
|
|
25
25
|
Server:
|
26
26
|
- Cowboy
|
27
27
|
Date:
|
28
|
-
-
|
28
|
+
- Thu, 08 Jan 2015 05:02:05 GMT
|
29
29
|
Connection:
|
30
30
|
- keep-alive
|
31
31
|
X-Frame-Options:
|
@@ -37,27 +37,27 @@ http_interactions:
|
|
37
37
|
Content-Type:
|
38
38
|
- application/json; charset=utf-8
|
39
39
|
Etag:
|
40
|
-
- '"
|
40
|
+
- '"33556d94e07273e44b663a6dec89c743"'
|
41
41
|
Cache-Control:
|
42
42
|
- max-age=0, private, must-revalidate
|
43
43
|
Set-Cookie:
|
44
44
|
- request_method=POST; path=/
|
45
45
|
X-Request-Id:
|
46
|
-
-
|
46
|
+
- 042fd587-9b01-4522-84d6-3ac26f399954
|
47
47
|
X-Runtime:
|
48
|
-
- '0.
|
48
|
+
- '0.212409'
|
49
49
|
Transfer-Encoding:
|
50
50
|
- chunked
|
51
51
|
Via:
|
52
52
|
- 1.1 vegur
|
53
53
|
body:
|
54
54
|
encoding: UTF-8
|
55
|
-
string: '{"id":
|
55
|
+
string: '{"id":2,"username":"new_username_1","created_at":"2015-01-08T05:02:06.362Z","updated_at":"2015-01-08T05:02:06.362Z"}'
|
56
56
|
http_version:
|
57
|
-
recorded_at:
|
57
|
+
recorded_at: Thu, 08 Jan 2015 05:02:06 GMT
|
58
58
|
- request:
|
59
59
|
method: put
|
60
|
-
uri: http://account-authenticator.herokuapp.com/api/v1/accounts/
|
60
|
+
uri: http://account-authenticator.herokuapp.com/api/v1/accounts/2
|
61
61
|
body:
|
62
62
|
encoding: UTF-8
|
63
63
|
string: '{"api_key":"124ecd49-07fd-4553-a5cd-0178b7fa8b3f","api_password":"IIoclO7kmQqJ1wixWrAuOA","account":{"username":"updated_username","password":"updated_password"}}'
|
@@ -80,7 +80,7 @@ http_interactions:
|
|
80
80
|
Server:
|
81
81
|
- Cowboy
|
82
82
|
Date:
|
83
|
-
-
|
83
|
+
- Thu, 08 Jan 2015 05:02:06 GMT
|
84
84
|
Connection:
|
85
85
|
- keep-alive
|
86
86
|
X-Frame-Options:
|
@@ -92,22 +92,22 @@ http_interactions:
|
|
92
92
|
Content-Type:
|
93
93
|
- application/json; charset=utf-8
|
94
94
|
Etag:
|
95
|
-
- '"
|
95
|
+
- '"36e97d567c634ce708473564e82064b0"'
|
96
96
|
Cache-Control:
|
97
97
|
- max-age=0, private, must-revalidate
|
98
98
|
Set-Cookie:
|
99
99
|
- request_method=PUT; path=/
|
100
100
|
X-Request-Id:
|
101
|
-
-
|
101
|
+
- fac33722-9476-49c6-afeb-e8cb24c02e25
|
102
102
|
X-Runtime:
|
103
|
-
- '0.
|
103
|
+
- '0.223449'
|
104
104
|
Transfer-Encoding:
|
105
105
|
- chunked
|
106
106
|
Via:
|
107
107
|
- 1.1 vegur
|
108
108
|
body:
|
109
109
|
encoding: UTF-8
|
110
|
-
string: '{"id":
|
110
|
+
string: '{"id":2,"username":"updated_username","created_at":"2015-01-08T05:02:06.362Z","updated_at":"2015-01-08T05:02:06.719Z"}'
|
111
111
|
http_version:
|
112
|
-
recorded_at:
|
112
|
+
recorded_at: Thu, 08 Jan 2015 05:02:06 GMT
|
113
113
|
recorded_with: VCR 2.9.3
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authenticator-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- johnmcconnell
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -154,6 +154,7 @@ files:
|
|
154
154
|
- lib/authenticator/client/account.rb
|
155
155
|
- lib/authenticator/client/authenticate_response.rb
|
156
156
|
- lib/authenticator/client/base.rb
|
157
|
+
- lib/authenticator/client/mock.rb
|
157
158
|
- lib/authenticator/client/version.rb
|
158
159
|
- spec/authenticator/client/base_spec.rb
|
159
160
|
- spec/authenticator/client_spec.rb
|