1
1
class Ey ::Core ::Client
2
2
class Real
3
- def signup ( user , account , features = nil )
4
- params = {
5
- "user" => user ,
6
- "account" => account ,
7
- }
8
- params [ "features" ] = features if features
3
+ def signup ( _params )
4
+ params = Cistern ::Hash . stringify_keys ( _params )
9
5
10
6
request (
11
7
:method => :post ,
@@ -16,31 +12,33 @@ def signup(user, account, features = nil)
16
12
end # Real
17
13
18
14
class Mock
19
- def signup ( user , account , features = nil )
15
+ def signup ( _params )
20
16
if self . authentication != :hmac
21
17
response ( status : 403 )
22
18
end
23
19
24
- user_id = self . uuid
20
+ params = Cistern :: Hash . stringify_keys ( _params )
25
21
26
- user = user . dup
27
- user [ "token" ] = SecureRandom . hex ( 20 )
22
+ user_id = self . uuid
28
23
24
+ user = params [ "user" ] . dup
29
25
user . merge! ( {
30
26
"id" => user_id ,
31
27
"accounts" => url_for ( "/users/#{ user_id } /accounts" ) ,
32
28
"memberships" => url_for ( "/users/#{ user_id } /memberships" ) ,
33
29
"keypairs" => url_for ( "/users/#{ user_id } /keypairs" ) ,
30
+ "token" => SecureRandom . hex ( 20 )
34
31
} )
35
32
36
33
self . data [ :users ] [ user_id ] = user
37
34
38
35
account_id = self . uuid
39
- account = mock_account_setup ( account_id , account . dup )
36
+
37
+ account = mock_account_setup ( account_id , params [ "account" ] . dup )
40
38
41
39
self . data [ :accounts ] [ account_id ] = account . merge ( :account_users => [ user_id ] , :account_owners => [ user_id ] )
42
40
43
- features . each do |resource_id |
41
+ ( params [ " features" ] || [ ] ) . each do |resource_id |
44
42
feature = self . data [ :features ] [ resource_id ]
45
43
46
44
account_url = url_for ( "/accounts/#{ account_id } " )
0 commit comments