feat(protocol): add PSK authentication provider

This commit is contained in:
Jason Morcos
2026-08-08 16:06:53 -07:00
parent 8fb37ca2ed
commit 2a6fc627f2
4 changed files with 494 additions and 4 deletions
+17 -1
View File
@@ -6,7 +6,11 @@ import inspect
from smartthings_local.ocf.observe_refresh import ObserveRefreshTask
from smartthings_local.ocf.state_cache import StateCache
from smartthings_local.protocol.auth import AuthenticationProvider, CertificateAuth
from smartthings_local.protocol.auth import (
AuthenticationProvider,
CertificateAuth,
PskAuth,
)
from smartthings_local.protocol.dtls_session import DtlsCoapSession
@@ -51,6 +55,18 @@ def test_certificate_auth_is_a_public_authentication_provider():
assert isinstance(provider, AuthenticationProvider)
def test_psk_auth_is_a_public_authentication_provider():
provider = PskAuth(identity=b"i" * 16, key=b"k" * 16)
assert isinstance(provider, AuthenticationProvider)
parameters = inspect.signature(PskAuth).parameters
assert list(parameters) == ["identity", "key"]
assert all(
parameter.kind is inspect.Parameter.KEYWORD_ONLY
and parameter.default is inspect.Parameter.empty
for parameter in parameters.values()
)
def test_dtls_session_keeps_current_consumer_methods():
expected = {
"close",