From f114202c55d8fd901fbab1c3f76cf30a95c1a88a Mon Sep 17 00:00:00 2001 From: Yaakov Saxon Date: Wed, 17 May 2023 14:38:30 -0400 Subject: [PATCH] satisfy pylint (and isort) --- tests/example_server.py | 15 +++++---------- tests/test_class.py | 7 +++++-- tests/test_interop.py | 3 ++- tests/test_serialization.py | 15 +++------------ 4 files changed, 15 insertions(+), 25 deletions(-) diff --git a/tests/example_server.py b/tests/example_server.py index dd0ab02..b4eaac9 100644 --- a/tests/example_server.py +++ b/tests/example_server.py @@ -33,18 +33,13 @@ Navigate to https://localhost:5000 in a supported web browser. """ -from fido2.webauthn import ( - CollectedClientData, - PublicKeyCredentialRpEntity, - AttestationObject, - AuthenticatorData, -) -from fido2.server import Fido2Server -from fido2 import cbor -from flask import Flask, session, request, redirect, abort - import os +from fido2 import cbor +from fido2.server import Fido2Server +from fido2.webauthn import (AttestationObject, AuthenticatorData, + CollectedClientData, PublicKeyCredentialRpEntity) +from flask import Flask, abort, redirect, request, session app = Flask(__name__, static_url_path="") app.secret_key = os.urandom(32) # Used for session. diff --git a/tests/test_class.py b/tests/test_class.py index 5dc83c5..652c793 100644 --- a/tests/test_class.py +++ b/tests/test_class.py @@ -5,12 +5,11 @@ import pytest from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.asymmetric import ec -from fido2.webauthn import AttestedCredentialData from fido2.utils import sha256 +from fido2.webauthn import AttestedCredentialData from soft_webauthn import SoftWebauthnDevice - # PublicKeyCredentialCreationOptions PKCCO = { 'publicKey': { @@ -86,6 +85,10 @@ def test_get(): device = SoftWebauthnDevice() device.cred_init(PKCRO['publicKey']['rpId'], b'randomhandle') + _device_assertions(device) + + +def _device_assertions(device): assertion = device.get(PKCRO, 'https://example.org') assert assertion diff --git a/tests/test_interop.py b/tests/test_interop.py index 420da52..4a033a1 100644 --- a/tests/test_interop.py +++ b/tests/test_interop.py @@ -1,7 +1,8 @@ """SoftWebauthnDevice class tests""" from fido2.server import Fido2Server -from fido2.webauthn import AttestationObject, AuthenticatorData, CollectedClientData, PublicKeyCredentialRpEntity +from fido2.webauthn import (AttestationObject, AuthenticatorData, + CollectedClientData, PublicKeyCredentialRpEntity) from soft_webauthn import SoftWebauthnDevice diff --git a/tests/test_serialization.py b/tests/test_serialization.py index a99e43a..94f8389 100644 --- a/tests/test_serialization.py +++ b/tests/test_serialization.py @@ -1,12 +1,10 @@ """SoftWebauthnDevice serialization tests, mostly adapted from test_class.py""" import pytest -from cryptography.hazmat.primitives import hashes -from cryptography.hazmat.primitives.asymmetric import ec -from fido2.utils import sha256 from soft_webauthn import SoftWebauthnDevice -from .test_class import PKCCO, PKCRO + +from .test_class import PKCCO, PKCRO, _device_assertions def test_create_and_serialize_without_password(): @@ -58,11 +56,4 @@ def test_get_after_deserialize(): serialized = device.to_bytes() deserialized = SoftWebauthnDevice.from_bytes(serialized) - assertion = deserialized.get(PKCRO, 'https://example.org') - - assert assertion - device.private_key.public_key().verify( - assertion['response']['signature'], - assertion['response']['authenticatorData'] + sha256(assertion['response']['clientDataJSON']), - ec.ECDSA(hashes.SHA256()) - ) + _device_assertions(deserialized)