main
1module TFA
2 describe SecureStorage do
3 subject { described_class.new(original, passphrase) }
4 let(:original) { Tempfile.new("tfa") }
5 let(:passphrase) { -> { SecureRandom.uuid } }
6
7 after { original.unlink }
8
9 describe "decrypt!" do
10 let(:message) { JSON.generate(secret: SecureRandom.uuid) }
11
12 it "decrypts an encrypted file" do
13 IO.write(original.path, message)
14 subject.encrypt!
15 subject.decrypt!
16 expect(IO.read(original.path)).to eql(message)
17 end
18 end
19
20 describe "encrypt!" do
21 let(:message) { JSON.generate(secret: SecureRandom.uuid) }
22
23 it "encrypts a file" do
24 IO.write(original.path, message)
25 subject.encrypt!
26 expect(IO.read(original.path)).to_not eql(message)
27 end
28 end
29 end
30end