summaryrefslogtreecommitdiff
path: root/qa/spec/runtime/key/ecdsa_spec.rb
blob: 3f9718e62c514005e3671884edc23c6ed1897863 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# frozen_string_literal: true

describe QA::Runtime::Key::ECDSA do
  describe '#public_key' do
    [256, 384, 521].each do |bits|
      it "generates a public #{bits}-bits ECDSA key" do
        subject = described_class.new(bits).public_key

        expect(subject).to match(%r{\Aecdsa\-sha2\-\w+ AAAA[0-9A-Za-z+/]+={0,3}})
      end
    end
  end

  describe '#new' do
    it 'does not support arbitrary bits' do
      expect { described_class.new(123) }
        .to raise_error(QA::Service::Shellout::CommandError)
    end
  end
end