|
5 | 5 | require "webauthn/fake_client" |
6 | 6 | require "webauthn/relying_party" |
7 | 7 |
|
8 | | -Credential = Struct.new(:webauthn_id, :public_key, :sign_count, keyword_init: true) |
9 | | -User = Struct.new(:id, :name, :credentials, keyword_init: true) |
10 | | - |
11 | 8 | RSpec.describe "RelyingParty" do |
| 9 | + let(:credential_klass) { Struct.new(:webauthn_id, :public_key, :sign_count, keyword_init: true) } |
| 10 | + |
12 | 11 | let(:authenticator) { WebAuthn::FakeAuthenticator.new } |
13 | 12 |
|
14 | 13 | let(:admin_rp) do |
|
23 | 22 | end |
24 | 23 |
|
25 | 24 | let(:user) do |
26 | | - User.new(id: WebAuthn.generate_user_id, name: 'John Doe', credentials: []) |
| 25 | + user_klass = Struct.new(:id, :name, :credentials, keyword_init: true) |
| 26 | + user_klass.new(id: WebAuthn.generate_user_id, name: 'John Doe', credentials: []) |
27 | 27 | end |
28 | 28 |
|
29 | 29 | describe '#verify_registration' do |
|
78 | 78 | let(:admin_credential_public_key) { admin_credential[1] } |
79 | 79 |
|
80 | 80 | before do |
81 | | - user.credentials << Credential.new( |
| 81 | + user.credentials << credential_klass.new( |
82 | 82 | webauthn_id: admin_credential.first, |
83 | 83 | public_key: admin_rp.encoder.encode(admin_credential[1]), |
84 | 84 | sign_count: 0 |
|
196 | 196 | end |
197 | 197 |
|
198 | 198 | before do |
199 | | - user.credentials << Credential.new( |
| 199 | + user.credentials << credential_klass.new( |
200 | 200 | webauthn_id: admin_credential.first, |
201 | 201 | public_key: admin_rp.encoder.encode(admin_credential[1]), |
202 | 202 | sign_count: 0 |
203 | 203 | ) |
204 | | - user.credentials << Credential.new( |
| 204 | + user.credentials << credential_klass.new( |
205 | 205 | webauthn_id: consumer_credential.first, |
206 | 206 | public_key: consumer_rp.encoder.encode(consumer_credential[1]), |
207 | 207 | sign_count: 0 |
|
326 | 326 | end |
327 | 327 |
|
328 | 328 | before do |
329 | | - user.credentials << Credential.new( |
| 329 | + user.credentials << credential_klass.new( |
330 | 330 | webauthn_id: admin_credential.first, |
331 | 331 | public_key: admin_rp.encoder.encode(admin_credential[1]), |
332 | 332 | sign_count: 0 |
333 | 333 | ) |
334 | | - user.credentials << Credential.new( |
| 334 | + user.credentials << credential_klass.new( |
335 | 335 | webauthn_id: default_configuration_credential.first, |
336 | 336 | public_key: WebAuthn.configuration.encoder.encode(default_configuration_credential[1]), |
337 | 337 | sign_count: 0 |
|
421 | 421 | end |
422 | 422 |
|
423 | 423 | before do |
424 | | - user.credentials << Credential.new( |
| 424 | + user.credentials << credential_klass.new( |
425 | 425 | webauthn_id: default_configuration_credential.first, |
426 | 426 | public_key: WebAuthn.configuration.encoder.encode(default_configuration_credential[1]), |
427 | 427 | sign_count: 0 |
|
0 commit comments