|
43 | 43 | expect(pem).to include('-----BEGIN PUBLIC KEY-----')
|
44 | 44 | end
|
45 | 45 |
|
| 46 | + it 'returns the correct public and private keys in pem format' do |
| 47 | + public_key_base64 = 'BMA-wciFTkEq2waVGB2hg8cSyiRiMcsIvIYQb3LkLOmBheh3YC6NB2GtE9t6YgaXt428rp7bC9JjuPtAY9AQaR8=' |
| 48 | + private_key_base64 = '4MwLvN1Cpxe43AV9fa4BiS-SPp51gWlhv9c6bb_XSJ4=' |
| 49 | + key = Webpush::VapidKey.from_keys(public_key_base64, private_key_base64) |
| 50 | + pem = key.to_pem |
| 51 | + expected_pem = <<~PEM |
| 52 | + -----BEGIN EC PRIVATE KEY----- |
| 53 | + MHcCAQEEIODMC7zdQqcXuNwFfX2uAYkvkj6edYFpYb/XOm2/10ieoAoGCCqGSM49 |
| 54 | + AwEHoUQDQgAEwD7ByIVOQSrbBpUYHaGDxxLKJGIxywi8hhBvcuQs6YGF6HdgLo0H |
| 55 | + Ya0T23piBpe3jbyuntsL0mO4+0Bj0BBpHw== |
| 56 | + -----END EC PRIVATE KEY----- |
| 57 | + -----BEGIN PUBLIC KEY----- |
| 58 | + MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwD7ByIVOQSrbBpUYHaGDxxLKJGIx |
| 59 | + ywi8hhBvcuQs6YGF6HdgLo0HYa0T23piBpe3jbyuntsL0mO4+0Bj0BBpHw== |
| 60 | + -----END PUBLIC KEY----- |
| 61 | + PEM |
| 62 | + expect(pem).to eq(expected_pem) |
| 63 | + end |
| 64 | + |
| 65 | + it 'can return the private key in pem format' do |
| 66 | + pem = Webpush::VapidKey.new.private_key_to_pem |
| 67 | + expect(pem).to include('-----BEGIN EC PRIVATE KEY-----') |
| 68 | + end |
| 69 | + |
| 70 | + it 'can return the public key in pem format' do |
| 71 | + pem = Webpush::VapidKey.new.public_key_to_pem |
| 72 | + expect(pem).to include('-----BEGIN PUBLIC KEY-----') |
| 73 | + end |
| 74 | + |
46 | 75 | it 'imports pem of public and private keys' do
|
47 | 76 | pem = Webpush::VapidKey.new.to_pem
|
48 | 77 | key = Webpush::VapidKey.from_pem pem
|
|
0 commit comments