pwl 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.
@@ -0,0 +1,33 @@
1
+ require 'helper'
2
+
3
+ class TestEntryMapper < Test::Unit::TestCase
4
+ def setup
5
+ @entry = Pwl::Entry.new
6
+ @entry.name = 'foobar'
7
+ @entry.password = 'barfoot'
8
+ end
9
+
10
+ def test_from_json
11
+ entry = Pwl::EntryMapper.from_json(%q|{"uuid" : "7a1fd920-97bb-012f-eee8-70def14c3504", "name" : "something"}|)
12
+ assert_not_nil(entry)
13
+ assert_not_nil(entry.uuid)
14
+ assert_equal('7a1fd920-97bb-012f-eee8-70def14c3504', entry.uuid)
15
+ assert_equal('something', entry.name)
16
+ end
17
+
18
+ def test_to_json
19
+ json = Pwl::EntryMapper.to_json(@entry)
20
+ assert_not_nil(json)
21
+ entry = JSON(json)
22
+ assert_present(entry['uuid'])
23
+ assert_equal('foobar', entry['name'])
24
+ end
25
+
26
+ def test_happy_path
27
+ entry = Pwl::EntryMapper.from_json(Pwl::EntryMapper.to_json(@entry))
28
+ assert_not_nil(entry)
29
+ assert_not_nil(entry.uuid)
30
+ assert_equal(@entry.uuid, entry.uuid)
31
+ assert_equal('foobar', entry.name)
32
+ end
33
+ end
@@ -3,7 +3,21 @@ require 'helper'
3
3
  class TestLockerCRUD < Test::Pwl::TestCase
4
4
  def test_add_get
5
5
  locker.add('foo', 'bar')
6
- assert_equal('bar', locker.get('foo'))
6
+ assert_equal('bar', locker.get('foo').password)
7
+ end
8
+
9
+ def test_add_entry
10
+ name = 'foo'
11
+ password = 'bar'
12
+
13
+ entry = Pwl::Entry.new
14
+ entry.name = name
15
+ entry.password = password
16
+ locker.add(entry)
17
+
18
+ entry = locker.get(name)
19
+ assert_not_nil(entry)
20
+ assert_equal(password, entry.password)
7
21
  end
8
22
 
9
23
  def test_get_blank
@@ -17,11 +31,11 @@ class TestLockerCRUD < Test::Pwl::TestCase
17
31
  end
18
32
 
19
33
  def test_add_get_blank
20
- assert_raise Pwl::Locker::BlankValueError do
34
+ assert_raise Pwl::InvalidEntryError do
21
35
  locker.add('empty', '')
22
36
  end
23
37
 
24
- assert_raise Pwl::Locker::BlankValueError do
38
+ assert_raise Pwl::InvalidEntryError do
25
39
  locker.add('nil', nil)
26
40
  end
27
41
  end
@@ -41,16 +55,16 @@ class TestLockerCRUD < Test::Pwl::TestCase
41
55
  test_vector.each{|k,v| locker.add(k, v)}
42
56
  assert_equal(test_vector.keys, locker.list)
43
57
  locker.list.each{|key|
44
- assert_equal(test_vector[key], locker.get(key))
58
+ assert_equal(test_vector[key], locker.get(key).password)
45
59
  }
46
60
  end
47
61
 
48
62
  def test_all
49
63
  test_vector = Hash['foo', 'one', 'bar', 'two', 'Chuck Norris', 'Roundhouse Kick']
50
64
  test_vector.each{|k,v| locker.add(k, v)}
51
- assert_equal(test_vector, locker.all)
52
- locker.all.each{|k,v|
53
- assert_equal(test_vector[k], v)
65
+ assert_present(locker.all)
66
+ locker.all.each{|entry|
67
+ assert_equal(test_vector[entry.name], entry.password)
54
68
  }
55
69
  end
56
70
 
@@ -62,16 +76,16 @@ class TestLockerCRUD < Test::Pwl::TestCase
62
76
  expected = test_vector.keys.select{|k,v| k =~ /#{filter}/}
63
77
  assert_equal(expected, locker.list(filter))
64
78
  end
65
-
79
+
66
80
  def test_delete
67
81
  locker.add('foo', 'bar')
68
- assert_equal('bar', locker.delete('foo'))
69
-
82
+ assert_equal('bar', locker.delete('foo').password)
83
+
70
84
  assert_raise Pwl::Locker::KeyNotFoundError do
71
85
  locker.get('foo')
72
86
  end
73
87
  end
74
-
88
+
75
89
  def test_delete_blank
76
90
  assert_raise Pwl::Locker::BlankKeyError do
77
91
  locker.delete('')
@@ -50,7 +50,7 @@ class TestLockerPasswordPolicy < Test::Pwl::TestCase
50
50
  def assert_valid(password)
51
51
  locker = ::Pwl::Locker.new(@locker_file, password)
52
52
  locker.add('foo', 'bar')
53
- assert_equal('bar', locker.get('foo'))
53
+ assert_equal('bar', locker.get('foo').password)
54
54
  end
55
55
 
56
56
  def assert_invalid(password)
@@ -20,6 +20,7 @@ class TestLockerSecurity < Test::Pwl::TestCase
20
20
  def test_change_password
21
21
  assert(!locker.nil?, "Locker expected, but it is nil")
22
22
  locker.add('Homer', 'Simpson')
23
+ assert_equal('Simpson', locker.get('Homer').password)
23
24
  locker.change_password!(locker_password.reverse)
24
25
 
25
26
  # the old password must not work anymore
@@ -29,6 +30,6 @@ class TestLockerSecurity < Test::Pwl::TestCase
29
30
 
30
31
  # Read back with the changed password
31
32
  reopened = Pwl::Locker.open(locker_file, locker_password.reverse)
32
- assert_equal('Simpson', reopened.get('Homer'))
33
+ assert_equal('Simpson', reopened.get('Homer').password)
33
34
  end
34
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-02 00:00:00.000000000 Z
12
+ date: 2012-09-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: encryptor
@@ -60,13 +60,29 @@ dependencies:
60
60
  - !ruby/object:Gem::Version
61
61
  version: '3.2'
62
62
  - !ruby/object:Gem::Dependency
63
- name: jbuilder
63
+ name: activemodel
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: '0.4'
69
+ version: '3.2'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '3.2'
78
+ - !ruby/object:Gem::Dependency
79
+ name: uuid
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: '2.3'
70
86
  type: :runtime
71
87
  prerelease: false
72
88
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,7 +90,7 @@ dependencies:
74
90
  requirements:
75
91
  - - ~>
76
92
  - !ruby/object:Gem::Version
77
- version: '0.4'
93
+ version: '2.3'
78
94
  - !ruby/object:Gem::Dependency
79
95
  name: rdoc
80
96
  requirement: !ruby/object:Gem::Requirement
@@ -91,6 +107,22 @@ dependencies:
91
107
  - - ~>
92
108
  - !ruby/object:Gem::Version
93
109
  version: '3.1'
110
+ - !ruby/object:Gem::Dependency
111
+ name: pry
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
94
126
  - !ruby/object:Gem::Dependency
95
127
  name: bundler
96
128
  requirement: !ruby/object:Gem::Requirement
@@ -142,11 +174,22 @@ files:
142
174
  - VERSION
143
175
  - bin/pwl
144
176
  - lib/pwl.rb
177
+ - lib/pwl/commands/add.rb
178
+ - lib/pwl/commands/base.rb
179
+ - lib/pwl/commands/delete.rb
180
+ - lib/pwl/commands/export.rb
181
+ - lib/pwl/commands/get.rb
182
+ - lib/pwl/commands/init.rb
183
+ - lib/pwl/commands/list.rb
184
+ - lib/pwl/commands/passwd.rb
185
+ - lib/pwl/commands/stats.rb
145
186
  - lib/pwl/dialog.rb
146
187
  - lib/pwl/dialog/base.rb
147
188
  - lib/pwl/dialog/cocoa.rb
148
189
  - lib/pwl/dialog/console.rb
149
190
  - lib/pwl/dialog/gnome.rb
191
+ - lib/pwl/entry.rb
192
+ - lib/pwl/entry_mapper.rb
150
193
  - lib/pwl/locker.rb
151
194
  - lib/pwl/message.rb
152
195
  - lib/pwl/password_policy.rb
@@ -173,6 +216,8 @@ files:
173
216
  - test/fixtures/test_empty.json
174
217
  - test/fixtures/test_empty.yaml
175
218
  - test/helper.rb
219
+ - test/unit/test_entry.rb
220
+ - test/unit/test_entry_mapper.rb
176
221
  - test/unit/test_error.rb
177
222
  - test/unit/test_message.rb
178
223
  - test/unit/test_store_construction.rb
@@ -195,7 +240,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
195
240
  version: '0'
196
241
  segments:
197
242
  - 0
198
- hash: -3750938844335873841
243
+ hash: -1227693264216826394
199
244
  required_rubygems_version: !ruby/object:Gem::Requirement
200
245
  none: false
201
246
  requirements: