forked from cardmagic/dm-more
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bcrypt_hash_spec.rb
41 lines (31 loc) · 1.17 KB
/
bcrypt_hash_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
require 'pathname'
require Pathname(__FILE__).dirname.parent.expand_path + 'spec_helper'
include DataMapper::Types
describe DataMapper::Types::BCryptHash do
before(:each) do
@clear_password = "DataMapper R0cks!"
@crypted_password = BCrypt::Password.create(@clear_password)
end
describe ".dump" do
it "should return a crypted hash as a BCrypt::Password" do
BCryptHash.dump(@clear_password, :property).should be_an_instance_of(BCrypt::Password)
end
it "should return a string that is 60 characters long" do
BCryptHash.dump(@clear_password, :property).should have(60).characters
end
it "should return nil if nil is passed" do
BCryptHash.dump(nil, :property).should be_nil
end
end
describe ".load" do
it "should return the password as a BCrypt::Password" do
BCryptHash.load(@crypted_password, :property).should be_an_instance_of(BCrypt::Password)
end
it "should return the password as a password which matches" do
BCryptHash.load(@crypted_password, :property).should == @clear_password
end
it "should return nil if given nil" do
FilePath.load(nil, :property).should be_nil
end
end
end