Skip to content

Commit c9f656f

Browse files
Merge pull request #462 from cedarcode/nt--avoid-using-openstruct
Use `Struct` instead of `OpenStruct`
2 parents e46d791 + 22d8bc8 commit c9f656f

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

spec/webauthn/relying_party_spec.rb

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# frozen_string_literal: true
22

3-
require "ostruct"
43
require "spec_helper"
54
require "webauthn/fake_authenticator"
65
require "webauthn/fake_client"
76
require "webauthn/relying_party"
87

98
RSpec.describe "RelyingParty" do
9+
let(:credential_klass) { Struct.new(:webauthn_id, :public_key, :sign_count, keyword_init: true) }
10+
1011
let(:authenticator) { WebAuthn::FakeAuthenticator.new }
1112

1213
let(:admin_rp) do
@@ -21,7 +22,8 @@
2122
end
2223

2324
let(:user) do
24-
OpenStruct.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: [])
2527
end
2628

2729
describe '#verify_registration' do
@@ -76,7 +78,7 @@
7678
let(:admin_credential_public_key) { admin_credential[1] }
7779

7880
before do
79-
user.credentials << OpenStruct.new(
81+
user.credentials << credential_klass.new(
8082
webauthn_id: admin_credential.first,
8183
public_key: admin_rp.encoder.encode(admin_credential[1]),
8284
sign_count: 0
@@ -194,12 +196,12 @@
194196
end
195197

196198
before do
197-
user.credentials << OpenStruct.new(
199+
user.credentials << credential_klass.new(
198200
webauthn_id: admin_credential.first,
199201
public_key: admin_rp.encoder.encode(admin_credential[1]),
200202
sign_count: 0
201203
)
202-
user.credentials << OpenStruct.new(
204+
user.credentials << credential_klass.new(
203205
webauthn_id: consumer_credential.first,
204206
public_key: consumer_rp.encoder.encode(consumer_credential[1]),
205207
sign_count: 0
@@ -324,12 +326,12 @@
324326
end
325327

326328
before do
327-
user.credentials << OpenStruct.new(
329+
user.credentials << credential_klass.new(
328330
webauthn_id: admin_credential.first,
329331
public_key: admin_rp.encoder.encode(admin_credential[1]),
330332
sign_count: 0
331333
)
332-
user.credentials << OpenStruct.new(
334+
user.credentials << credential_klass.new(
333335
webauthn_id: default_configuration_credential.first,
334336
public_key: WebAuthn.configuration.encoder.encode(default_configuration_credential[1]),
335337
sign_count: 0
@@ -419,7 +421,7 @@
419421
end
420422

421423
before do
422-
user.credentials << OpenStruct.new(
424+
user.credentials << credential_klass.new(
423425
webauthn_id: default_configuration_credential.first,
424426
public_key: WebAuthn.configuration.encoder.encode(default_configuration_credential[1]),
425427
sign_count: 0

0 commit comments

Comments
 (0)