|
39 | 39 | end |
40 | 40 |
|
41 | 41 | before do |
42 | | - WebAuthn.configuration.origin = allowed_origins |
| 42 | + WebAuthn.configuration.allowed_origins = allowed_origins |
43 | 43 | end |
44 | 44 | end |
45 | 45 |
|
|
49 | 49 | end |
50 | 50 | end |
51 | 51 |
|
52 | | - shared_examples "is valid and verifies" do |
| 52 | + shared_examples "a valid attestation response" do |
53 | 53 | it "verifies" do |
54 | 54 | expect(attestation_response.verify(original_challenge)).to be_truthy |
55 | 55 | end |
|
63 | 63 | context "when there is a single origin" do |
64 | 64 | include_context "with a single origin" |
65 | 65 |
|
66 | | - it_behaves_like "is valid and verifies" |
| 66 | + it_behaves_like "a valid attestation response" |
67 | 67 |
|
68 | 68 | # TODO: let FakeClient#create recieve a fixed credential |
69 | 69 | # https://github.com/cedarcode/webauthn-ruby/pull/302#discussion_r365338434 |
|
83 | 83 | context "when rp_id is set explicitly" do |
84 | 84 | include_context "with rp_id set to", "localhost" |
85 | 85 |
|
86 | | - it_behaves_like "is valid and verifies" |
| 86 | + it_behaves_like "a valid attestation response" |
87 | 87 |
|
88 | 88 | # TODO: let FakeClient#create recieve a fixed credential |
89 | 89 | # https://github.com/cedarcode/webauthn-ruby/pull/302#discussion_r365338434 |
|
100 | 100 | context "when rp_id is not set explicitly" do |
101 | 101 | include_context "with rp_id set to", nil |
102 | 102 |
|
103 | | - it "verifies" do |
| 103 | + it "raises error" do |
104 | 104 | expect { attestation_response.verify(original_challenge) }.to raise_error(WebAuthn::RpIdVerificationError) |
105 | 105 | end |
106 | 106 |
|
107 | | - it "is valid" do |
| 107 | + it "is not valid" do |
108 | 108 | expect(attestation_response.valid?(original_challenge)).to be_falsey |
109 | 109 | end |
110 | 110 |
|
|
145 | 145 | WebAuthn.configuration.attestation_root_certificates_finders = finder_for('feitian_ft_fido_0200.pem') |
146 | 146 | end |
147 | 147 |
|
148 | | - it_behaves_like "is valid and verifies" |
| 148 | + it_behaves_like "a valid attestation response" |
149 | 149 |
|
150 | 150 | it "returns attestation info" do |
151 | 151 | attestation_response.valid?(original_challenge) |
|
171 | 171 | context "when rp_id is set explicitly" do |
172 | 172 | include_context "with rp_id set to", "localhost" |
173 | 173 |
|
174 | | - it_behaves_like "is valid and verifies" |
| 174 | + it_behaves_like "a valid attestation response" |
175 | 175 | end |
176 | 176 |
|
177 | 177 | context "when rp_id is not set explicitly" do |
178 | 178 | include_context "with rp_id set to", nil |
179 | 179 |
|
180 | | - it "verifies" do |
| 180 | + it "raises error" do |
181 | 181 | expect { attestation_response.verify(original_challenge) }.to raise_error(WebAuthn::RpIdVerificationError) |
182 | 182 | end |
183 | 183 |
|
184 | | - it "is valid" do |
| 184 | + it "is not valid" do |
185 | 185 | expect(attestation_response.valid?(original_challenge)).to be_falsey |
186 | 186 | end |
187 | 187 | end |
|
208 | 208 | ) |
209 | 209 | end |
210 | 210 |
|
211 | | - it_behaves_like "is valid and verifies" |
| 211 | + it_behaves_like "a valid attestation response" |
212 | 212 |
|
213 | 213 | it "returns attestation info" do |
214 | 214 | attestation_response.valid?(original_challenge) |
|
250 | 250 | WebAuthn.configuration.attestation_root_certificates_finders = finder_for('yubico_u2f_root.pem') |
251 | 251 | end |
252 | 252 |
|
253 | | - it_behaves_like "is valid and verifies" |
| 253 | + it_behaves_like "a valid attestation response" |
254 | 254 |
|
255 | 255 | it "returns attestation info" do |
256 | 256 | attestation_response.valid?(original_challenge) |
|
350 | 350 | allow(attestation_response.attestation_statement).to receive(:time).and_return(time) |
351 | 351 | end |
352 | 352 |
|
353 | | - it_behaves_like "is valid and verifies" |
| 353 | + it_behaves_like "a valid attestation response" |
354 | 354 |
|
355 | 355 | it "returns attestation info" do |
356 | 356 | attestation_response.valid?(original_challenge) |
|
391 | 391 |
|
392 | 392 | include_context "with a single origin" |
393 | 393 |
|
394 | | - it_behaves_like "is valid and verifies" |
| 394 | + it_behaves_like "a valid attestation response" |
395 | 395 |
|
396 | 396 | it "returns attestation info" do |
397 | 397 | attestation_response.valid?(original_challenge) |
|
423 | 423 | context "when rp_id is set explicitly" do |
424 | 424 | include_context "with rp_id set to", "localhost" |
425 | 425 |
|
426 | | - it_behaves_like "is valid and verifies" |
| 426 | + it_behaves_like "a valid attestation response" |
427 | 427 |
|
428 | 428 | it "returns attestation info" do |
429 | 429 | attestation_response.valid?(original_challenge) |
|
444 | 444 | context "when rp_id is not set explicitly" do |
445 | 445 | include_context "with rp_id set to", nil |
446 | 446 |
|
447 | | - it "verifies" do |
| 447 | + it "raises error" do |
448 | 448 | expect { attestation_response.verify(original_challenge) }.to raise_error(WebAuthn::RpIdVerificationError) |
449 | 449 | end |
450 | 450 |
|
451 | | - it "is valid" do |
| 451 | + it "is not valid" do |
452 | 452 | expect(attestation_response.valid?(original_challenge)).to be_falsey |
453 | 453 | end |
454 | 454 | end |
|
479 | 479 | fake_certificate_chain_validation_time(attestation_response.attestation_statement, Time.parse("2021-02-23")) |
480 | 480 | end |
481 | 481 |
|
482 | | - it_behaves_like "is valid and verifies" |
| 482 | + it_behaves_like "a valid attestation response" |
483 | 483 |
|
484 | 484 | it "returns attestation info" do |
485 | 485 | attestation_response.valid?(original_challenge) |
|
527 | 527 | context "matches the default one" do |
528 | 528 | let(:actual_origin) { "http://localhost" } |
529 | 529 |
|
530 | | - it_behaves_like "is valid and verifies" |
| 530 | + it_behaves_like "a valid attestation response" |
531 | 531 | end |
532 | 532 |
|
533 | 533 | context "doesn't match the default one" do |
|
563 | 563 | context "matches the default one" do |
564 | 564 | let(:rp_id) { "localhost" } |
565 | 565 |
|
566 | | - it_behaves_like "is valid and verifies" |
| 566 | + it_behaves_like "a valid attestation response" |
567 | 567 | end |
568 | 568 |
|
569 | 569 | context "doesn't match the default one" do |
|
587 | 587 | WebAuthn.configuration.rp_id = rp_id |
588 | 588 | end |
589 | 589 |
|
590 | | - it_behaves_like "is valid and verifies" |
| 590 | + it_behaves_like "a valid attestation response" |
591 | 591 | end |
592 | 592 | end |
593 | 593 |
|
|
690 | 690 | WebAuthn.configuration.verify_attestation_statement = true |
691 | 691 | end |
692 | 692 |
|
693 | | - it "verifies the attestation statement" do |
| 693 | + it "raises error" do |
694 | 694 | expect { attestation_response.verify(original_challenge) }.to raise_error(OpenSSL::PKey::PKeyError) |
695 | 695 | end |
696 | 696 | end |
|
0 commit comments