leofs_manager_client 0.2.8 → 0.2.9
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/leofs_manager_client.rb +31 -5
- data/spec/dummy_tcp_server.rb +7 -0
- data/spec/leofs_manager_client_spec.rb +20 -2
- metadata +2 -2
data/lib/leofs_manager_client.rb
CHANGED
@@ -26,7 +26,7 @@ require "time"
|
|
26
26
|
require_relative "leofs_manager_client/leofs_manager_models"
|
27
27
|
|
28
28
|
module LeoFSManager
|
29
|
-
VERSION = "0.2.
|
29
|
+
VERSION = "0.2.9"
|
30
30
|
|
31
31
|
class Client
|
32
32
|
CMD_VERSION = "version"
|
@@ -40,7 +40,10 @@ module LeoFSManager
|
|
40
40
|
CMD_DU = "du %s"
|
41
41
|
CMD_COMPACT = "compact %s"
|
42
42
|
CMD_PURGE = "purge %s"
|
43
|
-
|
43
|
+
CMD_S3_CRE_USER = "s3-create-user %s %s"
|
44
|
+
CMD_S3_UPD_USER_ROLE = "s3-update-user-role %s %s"
|
45
|
+
CMD_S3_UPD_USER_PASS = "s3-update-user-password %s %s"
|
46
|
+
CMD_S3_DEL_USER = "s3-delete-user %s %s"
|
44
47
|
CMD_S3_GET_KEYS = "s3-get-keys"
|
45
48
|
CMD_S3_SET_ENDPOINT = "s3-set-endpoint %s"
|
46
49
|
CMD_S3_DEL_ENDPOINT = "s3-delete-endpoint %s"
|
@@ -154,10 +157,33 @@ module LeoFSManager
|
|
154
157
|
# Generate credential for LeoFS
|
155
158
|
# Return::
|
156
159
|
# Credential
|
157
|
-
def
|
158
|
-
Credential.new(sender(
|
160
|
+
def s3_create_user(user_id, password)
|
161
|
+
Credential.new(sender(CMD_S3_CRE_USER % [user_id, password]))
|
162
|
+
end
|
163
|
+
|
164
|
+
# Update user role
|
165
|
+
# Return ::
|
166
|
+
# _nil_
|
167
|
+
def s3_update_user_role(user_id, role)
|
168
|
+
sender(CMD_S3_UPD_USER_ROLE % [user_id, role])
|
169
|
+
nil
|
170
|
+
end
|
171
|
+
|
172
|
+
# Update user password
|
173
|
+
# Return::
|
174
|
+
# _nil_
|
175
|
+
def s3_update_user_password(user_id, new_password)
|
176
|
+
sender(CMD_S3_UPD_USER_PASS % [user_id, new_password])
|
177
|
+
nil
|
178
|
+
end
|
179
|
+
|
180
|
+
# Delete user
|
181
|
+
# Return::
|
182
|
+
# _nil_
|
183
|
+
def s3_delete_user(user_id, password)
|
184
|
+
sender(CMD_S3_DEL_USER % [user_id, password])
|
185
|
+
nil
|
159
186
|
end
|
160
|
-
alias s3_gen_key s3_create_key
|
161
187
|
|
162
188
|
def s3_get_keys
|
163
189
|
users = sender(CMD_S3_GET_KEYS)[:users]
|
data/spec/dummy_tcp_server.rb
CHANGED
@@ -92,6 +92,11 @@ module Dummy
|
|
92
92
|
{ :access_key_id => "05236", :user_id => "_test_leofs_", :created_at => "2012-11-20 15:13:20 +0900" }
|
93
93
|
]
|
94
94
|
}.to_json
|
95
|
+
|
96
|
+
S3CreateUser = {
|
97
|
+
:access_key_id => "xxxxxxxxxxxxxxxxxxxx",
|
98
|
+
:secret_access_key => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
99
|
+
}.to_json
|
95
100
|
end
|
96
101
|
|
97
102
|
Argument = "arg" # passed to command which requires some arguments.
|
@@ -132,6 +137,8 @@ module Dummy
|
|
132
137
|
Response::S3GetBuckets
|
133
138
|
when "s3-get-keys"
|
134
139
|
Response::S3GetKeys
|
140
|
+
when "s3-create-user"
|
141
|
+
Response::S3CreateUser
|
135
142
|
else
|
136
143
|
{ :result => line }.to_json
|
137
144
|
end
|
@@ -84,12 +84,30 @@ describe LeoFSManager do
|
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
-
describe "#
|
87
|
+
describe "#s3_create_user" do
|
88
88
|
it "returns Credential" do
|
89
|
-
subject.
|
89
|
+
subject.s3_create_user("user_id", "password").should be_a Credential
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
|
+
describe "#s3_update_user_role" do
|
94
|
+
it "returns nil" do
|
95
|
+
subject.s3_update_user_role("user_id", "role").should be_nil
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
describe "#s3_update_user_password" do
|
100
|
+
it "returns nil" do
|
101
|
+
subject.s3_update_user_role("user_id", "new_password").should be_nil
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
describe "#s3_delete_user" do
|
106
|
+
it "returns nil" do
|
107
|
+
subject.s3_update_user_role("user_id", "password").should be_nil
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
93
111
|
its(:s3_get_keys) do
|
94
112
|
should be_a Array
|
95
113
|
subject.each do |account|
|
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.
|
4
|
+
version: 0.2.9
|
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-
|
13
|
+
date: 2012-11-29 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: Client for LeoFS Manager
|
16
16
|
email:
|