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