auth_manager 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d82e648bc36a09ed97c642107200d61274fcdcaf
4
- data.tar.gz: 667d2179e19911d1a7912fd3e519b4e217539375
3
+ metadata.gz: 4c23c797e945286960d9bbbe5d636a0d76af01a6
4
+ data.tar.gz: 59e984d5d11a2ea53bb1a49c46121cf62681bc5a
5
5
  SHA512:
6
- metadata.gz: c1905bb61805123c4fc156b81bca20d8d884341eb69210ac4d5b450bf239574520d73e879d8a27406ee4e7bffe21e6740de6c0706195ba630ff16f297c3ddd81
7
- data.tar.gz: 10dc82a07b862085be82c8c8b17df89d3fff79b99e4ee058091816a4febaf7029f5746b89feee88332b3ecc5be02a0f3924f8259db454f44984ce14682fb9101
6
+ metadata.gz: 18ce94bb4ff84988ff3baf0ac275a3dac962b1772115f2c8a137a2528ea8e384f24e2914f6c75333589836a4f158c1c412746a8ae53fc1b381f96ed3bb8e71a2
7
+ data.tar.gz: 85c911b5d08de7eb1c7b6abe5e3a26bb5034146b30694eb70c69fc1bdfa52a4c429deb558eadc3abfeab350641de7173b8a4fa694ebbc04c97a5bcfc91dbcd3a
@@ -8,22 +8,31 @@ class Add < AuthManager::Validation
8
8
  user = option.fetch(:user) || false
9
9
  app = option.fetch(:app) || false
10
10
  validate_param( given_user, option, user, app )
11
- save(user, given_user)
11
+ save(user, given_user) if available_login?(given_user, user)
12
12
  end
13
13
 
14
14
  private
15
15
 
16
- def available_login?(param, liste)
16
+ def available_login?(given_user, user)
17
+ login_ok = true
18
+ liste = user ? USERS : APPS
17
19
  all = @redis.smembers(liste)
18
20
  all.each do |member|
19
21
  member_json = JSON.parse(member)
20
- param_json = JSON.parse(param)
21
- member_json['login'] == param_json['login'] ? false : true
22
+ param_json = JSON.parse(given_user)
23
+ if param_json['login'] && login_exist?(member_json['login'], param_json['login'])
24
+ login_ok = false
25
+ break
26
+ end
22
27
  end
28
+ login_ok
29
+ end
30
+
31
+ def login_exist?(wanted_login, login)
32
+ wanted_login == login
23
33
  end
24
34
 
25
35
  def save_this(liste, params)
26
- available_login?(params, liste)
27
36
  @redis.sadd(liste, params)
28
37
  end
29
38
 
@@ -1,3 +1,3 @@
1
1
  module AuthManager
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/specs/add_spec.rb CHANGED
@@ -4,6 +4,8 @@ describe Add do
4
4
  let(:add) { Add.new }
5
5
  #valid variables
6
6
  let(:valid_user) { { login: 'nano', password: 'password' }.to_json }
7
+ let(:stored_user) { {login: 'login', password: 'password'}.to_json }
8
+ let(:user_used_login) { {login: 'login', password: 'a password'}.to_json }
7
9
  let(:valid_app) { { api_key: 'api_key' }.to_json }
8
10
  let(:valid_user_opt) { {user: true, app: false} }
9
11
  let(:valid_app_opt) { { user: false, app: true } }
@@ -19,6 +21,7 @@ describe Add do
19
21
  before(:each) do
20
22
  add.redis.del('users', valid_user)
21
23
  add.redis.del('applications', valid_app)
24
+ add.redis.sadd('users', stored_user)
22
25
  end
23
26
  #normal cases
24
27
  context 'When saved a valid user' do
@@ -30,7 +33,9 @@ describe Add do
30
33
  context 'When saved a valid app' do
31
34
  it { expect(add.save?(valid_app, valid_app_opt)).to be_true }
32
35
  end
33
-
36
+ context 'When saved with an existing login' do
37
+ it { expect(add.save?(user_used_login, valid_user_opt)).to be_false }
38
+ end
34
39
  end
35
40
 
36
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: auth_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - atacraft && fabira