ruby-client/spec/key_utils_spec.rb
Paul Daigle 7f26b781ff Removing all persistance/environment attributes
The core code should not have environmental expectations.

gitignore update
2015-01-05 19:47:32 -05:00

42 lines
1018 B
Ruby

require 'spec_helper'
describe BitPay::KeyUtils do
let(:key_utils) {BitPay::KeyUtils}
describe '.generate_pem' do
it 'should generate a pem string' do
regex = /BEGIN\ EC\ PRIVATE\ KEY/
expect(regex.match(key_utils.generate_pem)).to be_truthy
end
end
describe '.get_public_key_from_pem' do
it 'should generate the right public key' do
expect(key_utils.get_public_key_from_pem(PEM)).to eq(PUB_KEY)
end
it 'should get pem from the env if none is passed' do
expect(key_utils.get_public_key_from_pem(PEM)).to eq(PUB_KEY)
end
end
describe '.generate_sin_from_pem' do
let(:pem){PEM}
let(:sin){CLIENT_ID}
it 'will return the right sin for the right pem' do
expect(key_utils.generate_sin_from_pem(pem)).to eq sin
end
end
context "errors when priv_key is not provided" do
it 'will not retrieve public key' do
expect{key_utils.get_public_key_from_pem(nil)}.to raise_error(BitPay::BitPayError)
end
end
end