/vendor/bundle/jruby/2.1/gems/rbnacl-3.0.1/spec/rbnacl/boxes/curve25519xsalsa20poly1305_spec.rb

https://github.com/delowong/logstash · Ruby · 39 lines · 30 code · 8 blank · 1 comment · 0 complexity · 9f8ba712926c0b21c5b7bdc02e029f9e MD5 · raw file

  1. # encoding: binary
  2. require 'spec_helper'
  3. describe RbNaCl::Box do
  4. let(:alicepk) { vector :alice_public }
  5. let(:bobsk) { vector :bob_private }
  6. let(:alice_key) { RbNaCl::PublicKey.new(alicepk) }
  7. let(:bob_key) { RbNaCl::PrivateKey.new(bobsk) }
  8. context "new" do
  9. it "accepts strings" do
  10. expect { RbNaCl::Box.new(alicepk, bobsk) }.to_not raise_error(Exception)
  11. end
  12. it "accepts KeyPairs" do
  13. expect { RbNaCl::Box.new(alice_key, bob_key) }.to_not raise_error(Exception)
  14. end
  15. it "raises TypeError on a nil public key" do
  16. expect { RbNaCl::Box.new(nil, bobsk) }.to raise_error(TypeError)
  17. end
  18. it "raises RbNaCl::LengthError on an invalid public key" do
  19. expect { RbNaCl::Box.new("hello", bobsk) }.to raise_error(RbNaCl::LengthError, /Public key was 5 bytes \(Expected 32\)/)
  20. end
  21. it "raises TypeError on a nil secret key" do
  22. expect { RbNaCl::Box.new(alicepk, nil) }.to raise_error(TypeError)
  23. end
  24. it "raises RbNaCl::LengthError on an invalid secret key" do
  25. expect { RbNaCl::Box.new(alicepk, "hello") }.to raise_error(RbNaCl::LengthError, /Private key was 5 bytes \(Expected 32\)/)
  26. end
  27. end
  28. include_examples 'box' do
  29. let(:box) { RbNaCl::Box.new(alicepk, bobsk) }
  30. end
  31. end