leofs_manager_client 0.2.9 → 0.2.10

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.
@@ -121,6 +121,19 @@ module LeoFSManager
121
121
  end
122
122
  end
123
123
 
124
+ class LoginInfo
125
+ attr_reader :id, :role_id, :access_key_id, :secret_key, :created_at
126
+
127
+ def initialize(h)
128
+ h = h[:user]
129
+ @id = h[:id]
130
+ @role_id = h[:role_id]
131
+ @access_key_id = h[:access_key_id]
132
+ @secret_key = h[:secret_key]
133
+ @created_at = h[:created_at]
134
+ end
135
+ end
136
+
124
137
  class User
125
138
  attr_reader :user_id, :access_key_id, :created_at
126
139
 
@@ -26,10 +26,11 @@ require "time"
26
26
  require_relative "leofs_manager_client/leofs_manager_models"
27
27
 
28
28
  module LeoFSManager
29
- VERSION = "0.2.9"
29
+ VERSION = "0.2.10"
30
30
 
31
31
  class Client
32
32
  CMD_VERSION = "version"
33
+ CMD_LOGIN = "login %s %s"
33
34
  CMD_STATUS = "status %s"
34
35
  CMD_START = "start"
35
36
  CMD_DETACH = "detach %s"
@@ -83,6 +84,13 @@ module LeoFSManager
83
84
  Status.new(sender(CMD_STATUS % node))
84
85
  end
85
86
 
87
+ # Login as specifies user
88
+ # Return::
89
+ # LoginInfo
90
+ def login(user_id, password)
91
+ LoginInfo.new(sender(CMD_LOGIN % [user_id, password]))
92
+ end
93
+
86
94
  # Launch LeoFS's storage cluster
87
95
  # Return::
88
96
  # _nil_
@@ -24,6 +24,16 @@ require "socket"
24
24
 
25
25
  module Dummy
26
26
  module Response
27
+ Login = {
28
+ :user => {
29
+ :id => "foo",
30
+ :role_id => 0,
31
+ :access_key_id => "855d2f9bf21f51b4fd38",
32
+ :secret_key => "ea6d9540d6385f32d674c925929748e00e0e961a",
33
+ :created_at => "2012-11-29 17:18:39 +0900"
34
+ }
35
+ }.to_json
36
+
27
37
  Status = {
28
38
  :system_info => {
29
39
  :version => "0.10.1",
@@ -125,6 +135,8 @@ module Dummy
125
135
  line.rstrip!
126
136
  begin
127
137
  case line
138
+ when "login"
139
+ Response::Login
128
140
  when "status"
129
141
  Response::Status
130
142
  when "s3-get-buckets"
@@ -55,6 +55,12 @@ describe LeoFSManager do
55
55
  lambda { Client.new }.should raise_error
56
56
  end
57
57
 
58
+ describe "#login" do
59
+ it "returns LoginInfo" do
60
+ subject.login("user_id", "pass").should be_a LoginInfo
61
+ end
62
+ end
63
+
58
64
  describe "#status" do
59
65
  its(:status) { should be_a Status }
60
66
  its("status.system_info") { should be_a Status::System }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leofs_manager_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 0.2.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-11-29 00:00:00.000000000 Z
13
+ date: 2012-12-05 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description: Client for LeoFS Manager
16
16
  email: