From b29b269daf8ab78a00d3fab55dedb78ff5e96590 Mon Sep 17 00:00:00 2001 From: petrsnd Date: Tue, 28 Apr 2026 21:57:09 -0600 Subject: [PATCH] copyrights and badges --- README.md | 3 +++ pyproject.toml | 2 +- samples/A2AApiKeySecretExample.py | 3 +++ samples/A2APasswordExample.py | 3 +++ samples/A2APrivateKeyExample.py | 3 +++ samples/AnonymousExample.py | 3 +++ samples/CertificateExample.py | 3 +++ samples/CertificateExternalExample.py | 3 +++ samples/NewUserExample.py | 3 +++ samples/PasswordExample.py | 3 +++ samples/PasswordExternalExample.py | 3 +++ samples/PersistentSignalRExample.py | 3 +++ samples/PkceExample.py | 3 +++ samples/SignalRExample.py | 3 +++ src/pysafeguard/__init__.py | 3 +++ src/pysafeguard/a2a.py | 3 +++ src/pysafeguard/async_a2a.py | 3 +++ src/pysafeguard/async_client.py | 3 +++ src/pysafeguard/async_pkce.py | 3 +++ src/pysafeguard/auth.py | 3 +++ src/pysafeguard/client.py | 3 +++ src/pysafeguard/data_types.py | 3 +++ src/pysafeguard/errors.py | 3 +++ src/pysafeguard/event.py | 3 +++ src/pysafeguard/hidden_string.py | 3 +++ src/pysafeguard/pkce.py | 3 +++ src/pysafeguard/utility.py | 3 +++ tests/__init__.py | 2 ++ tests/conftest.py | 3 +++ tests/integration/__init__.py | 2 ++ tests/integration/conftest.py | 3 +++ tests/integration/test_a2a.py | 3 +++ tests/integration/test_anonymous.py | 3 +++ tests/integration/test_auth_async.py | 3 +++ tests/integration/test_auth_lifecycle.py | 3 +++ tests/integration/test_auth_sync.py | 3 +++ tests/integration/test_certificate_auth.py | 3 +++ tests/integration/test_client_features.py | 3 +++ tests/integration/test_event_listener.py | 3 +++ tests/integration/test_factories.py | 3 +++ tests/integration/test_invoke_async.py | 3 +++ tests/integration/test_invoke_sync.py | 3 +++ tests/integration/test_persistent_listener_factory.py | 3 +++ tests/integration/test_pkce_auth.py | 3 +++ tests/integration/test_streaming.py | 3 +++ tests/integration/test_token_async.py | 3 +++ tests/integration/test_token_sync.py | 3 +++ tests/integration/test_user_crud_async.py | 3 +++ tests/integration/test_user_crud_sync.py | 3 +++ tests/test_a2a.py | 3 +++ tests/test_async_client_new.py | 3 +++ tests/test_auth.py | 3 +++ tests/test_client_new.py | 3 +++ tests/test_client_request_logic.py | 3 +++ tests/test_data_types.py | 3 +++ tests/test_event.py | 3 +++ tests/test_hidden_string.py | 3 +++ tests/test_pkce_helpers.py | 3 +++ tests/test_public_api.py | 3 +++ tests/test_safeguard_errors.py | 3 +++ tests/test_utility.py | 3 +++ 61 files changed, 179 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index be0f92e..9dd5178 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +[![PyPI](https://img.shields.io/pypi/v/pysafeguard.svg)](https://pypi.org/project/pysafeguard/) +[![GitHub](https://img.shields.io/github/license/OneIdentity/PySafeguard.svg)](https://github.com/OneIdentity/PySafeguard/blob/main/LICENSE) + # PySafeguard One Identity Safeguard Python SDK diff --git a/pyproject.toml b/pyproject.toml index 09ed266..bbef67d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "poetry.core.masonry.api" [project] name = "pysafeguard" description = "One Identity Safeguard Python Package" -version = "8.0.1" +version = "8.0.2" readme = { file = "README.md", content-type = "text/markdown" } keywords = ["safeguard", "oneidentity"] license = "Apache" diff --git a/samples/A2AApiKeySecretExample.py b/samples/A2AApiKeySecretExample.py index f66a832..37cf2af 100644 --- a/samples/A2AApiKeySecretExample.py +++ b/samples/A2AApiKeySecretExample.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + from pysafeguard import A2AContext, A2AType # The appliance host name or IP address diff --git a/samples/A2APasswordExample.py b/samples/A2APasswordExample.py index 67dfbd2..e3eb4fa 100644 --- a/samples/A2APasswordExample.py +++ b/samples/A2APasswordExample.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + from pysafeguard import A2AContext # The appliance host name or IP address diff --git a/samples/A2APrivateKeyExample.py b/samples/A2APrivateKeyExample.py index b3b015b..e480d83 100644 --- a/samples/A2APrivateKeyExample.py +++ b/samples/A2APrivateKeyExample.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + from pysafeguard import A2AContext, SshKeyFormat # The appliance host name or IP address diff --git a/samples/AnonymousExample.py b/samples/AnonymousExample.py index c399943..06c7733 100644 --- a/samples/AnonymousExample.py +++ b/samples/AnonymousExample.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + import json from pysafeguard import SafeguardClient, Service diff --git a/samples/CertificateExample.py b/samples/CertificateExample.py index 51bd485..ffc7f4e 100644 --- a/samples/CertificateExample.py +++ b/samples/CertificateExample.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + import json from pysafeguard import SafeguardClient, CertificateAuth, Service diff --git a/samples/CertificateExternalExample.py b/samples/CertificateExternalExample.py index e7b488a..9280023 100644 --- a/samples/CertificateExternalExample.py +++ b/samples/CertificateExternalExample.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + import json from pysafeguard import SafeguardClient, CertificateAuth, Service diff --git a/samples/NewUserExample.py b/samples/NewUserExample.py index 7771780..a93021d 100644 --- a/samples/NewUserExample.py +++ b/samples/NewUserExample.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + import json from pysafeguard import SafeguardClient, PasswordAuth, Service diff --git a/samples/PasswordExample.py b/samples/PasswordExample.py index 905a2c0..0d2a956 100644 --- a/samples/PasswordExample.py +++ b/samples/PasswordExample.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + import json from pysafeguard import SafeguardClient, PasswordAuth, Service diff --git a/samples/PasswordExternalExample.py b/samples/PasswordExternalExample.py index 33ca64b..7183006 100644 --- a/samples/PasswordExternalExample.py +++ b/samples/PasswordExternalExample.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + import json from pysafeguard import SafeguardClient, PasswordAuth, Service diff --git a/samples/PersistentSignalRExample.py b/samples/PersistentSignalRExample.py index b3a476d..4a6547c 100644 --- a/samples/PersistentSignalRExample.py +++ b/samples/PersistentSignalRExample.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + from pysafeguard import SafeguardClient, PkceAuth # The appliance host name or IP address diff --git a/samples/PkceExample.py b/samples/PkceExample.py index 1699b29..c126427 100644 --- a/samples/PkceExample.py +++ b/samples/PkceExample.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + import json from pysafeguard import SafeguardClient, PkceAuth, Service diff --git a/samples/SignalRExample.py b/samples/SignalRExample.py index 4e793e3..74fe428 100644 --- a/samples/SignalRExample.py +++ b/samples/SignalRExample.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + from pysafeguard import SafeguardClient, PasswordAuth # The appliance host name or IP address diff --git a/src/pysafeguard/__init__.py b/src/pysafeguard/__init__.py index c49afeb..7008ba4 100644 --- a/src/pysafeguard/__init__.py +++ b/src/pysafeguard/__init__.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """PySafeguard — Python SDK for One Identity Safeguard Web API.""" from __future__ import annotations diff --git a/src/pysafeguard/a2a.py b/src/pysafeguard/a2a.py index 646d782..0165ed6 100644 --- a/src/pysafeguard/a2a.py +++ b/src/pysafeguard/a2a.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Application-to-Application (A2A) context for Safeguard credential operations. The :class:`A2AContext` provides a reusable wrapper around the Safeguard A2A diff --git a/src/pysafeguard/async_a2a.py b/src/pysafeguard/async_a2a.py index 78ac38c..319283a 100644 --- a/src/pysafeguard/async_a2a.py +++ b/src/pysafeguard/async_a2a.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Async Application-to-Application (A2A) context for Safeguard. Mirrors :class:`~pysafeguard.a2a.A2AContext` for use with ``asyncio``. diff --git a/src/pysafeguard/async_client.py b/src/pysafeguard/async_client.py index 07129d4..5cece7e 100644 --- a/src/pysafeguard/async_client.py +++ b/src/pysafeguard/async_client.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Asynchronous Safeguard API client. Async mirror of :class:`~pysafeguard.client.SafeguardClient` using diff --git a/src/pysafeguard/async_pkce.py b/src/pysafeguard/async_pkce.py index 13be078..f092413 100644 --- a/src/pysafeguard/async_pkce.py +++ b/src/pysafeguard/async_pkce.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Async PKCE non-interactive login for Safeguard. Async mirror of :mod:`pysafeguard.pkce`. Programmatically drives the diff --git a/src/pysafeguard/auth.py b/src/pysafeguard/auth.py index 93b18cf..931ee88 100644 --- a/src/pysafeguard/auth.py +++ b/src/pysafeguard/auth.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Authentication strategy objects for Safeguard. Each auth class encapsulates credentials and knows how to authenticate diff --git a/src/pysafeguard/client.py b/src/pysafeguard/client.py index dff8d03..85eb47c 100644 --- a/src/pysafeguard/client.py +++ b/src/pysafeguard/client.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Synchronous Safeguard API client. The primary entry point for interacting with a One Identity Safeguard diff --git a/src/pysafeguard/data_types.py b/src/pysafeguard/data_types.py index cdffe1a..17d7e30 100644 --- a/src/pysafeguard/data_types.py +++ b/src/pysafeguard/data_types.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + import enum import sys diff --git a/src/pysafeguard/errors.py b/src/pysafeguard/errors.py index a8dd9de..500b1c9 100644 --- a/src/pysafeguard/errors.py +++ b/src/pysafeguard/errors.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Exception hierarchy for PySafeguard. All exceptions inherit from :class:`SafeguardError` so callers can catch diff --git a/src/pysafeguard/event.py b/src/pysafeguard/event.py index a1c8067..272dbe5 100644 --- a/src/pysafeguard/event.py +++ b/src/pysafeguard/event.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Safeguard event listener system using SignalR. Provides two listener classes: diff --git a/src/pysafeguard/hidden_string.py b/src/pysafeguard/hidden_string.py index e9496bc..3a92b16 100644 --- a/src/pysafeguard/hidden_string.py +++ b/src/pysafeguard/hidden_string.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Hidden string wrapper for sensitive values. Provides protection against casual exposure of secrets (passwords, tokens) diff --git a/src/pysafeguard/pkce.py b/src/pysafeguard/pkce.py index 6a5b8aa..136456a 100644 --- a/src/pysafeguard/pkce.py +++ b/src/pysafeguard/pkce.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """PKCE non-interactive login for Safeguard. Programmatically drives the browser-based OAuth2/PKCE flow by directly diff --git a/src/pysafeguard/utility.py b/src/pysafeguard/utility.py index 0edee86..0331638 100644 --- a/src/pysafeguard/utility.py +++ b/src/pysafeguard/utility.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + import sys from collections.abc import Mapping from urllib.parse import urlencode, urlunparse diff --git a/tests/__init__.py b/tests/__init__.py index e69de29..24b070c 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -0,0 +1,2 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. diff --git a/tests/conftest.py b/tests/conftest.py index facd024..42061c7 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Root conftest — shared fixtures and marker registration for PySafeguard tests.""" import os diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py index e69de29..24b070c 100644 --- a/tests/integration/__init__.py +++ b/tests/integration/__init__.py @@ -0,0 +1,2 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py index b9b01a0..606bfab 100644 --- a/tests/integration/conftest.py +++ b/tests/integration/conftest.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration test fixtures — shared authenticated connections for live-appliance tests.""" from __future__ import annotations diff --git a/tests/integration/test_a2a.py b/tests/integration/test_a2a.py index ba414e4..c60fb60 100644 --- a/tests/integration/test_a2a.py +++ b/tests/integration/test_a2a.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests for A2A (Application-to-Application) credential operations. These tests create a full A2A environment on the appliance: diff --git a/tests/integration/test_anonymous.py b/tests/integration/test_anonymous.py index 119995f..52ac55c 100644 --- a/tests/integration/test_anonymous.py +++ b/tests/integration/test_anonymous.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration test: anonymous (unauthenticated) access to notification endpoints.""" import pytest diff --git a/tests/integration/test_auth_async.py b/tests/integration/test_auth_async.py index 1b6c86e..051e776 100644 --- a/tests/integration/test_auth_async.py +++ b/tests/integration/test_auth_async.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests: async authentication flows against a live appliance.""" import pytest diff --git a/tests/integration/test_auth_lifecycle.py b/tests/integration/test_auth_lifecycle.py index 447fd9a..ecd9894 100644 --- a/tests/integration/test_auth_lifecycle.py +++ b/tests/integration/test_auth_lifecycle.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests: auth lifecycle — refresh, logout, credential storage, context manager.""" import pytest diff --git a/tests/integration/test_auth_sync.py b/tests/integration/test_auth_sync.py index 5cd8ec6..c70b732 100644 --- a/tests/integration/test_auth_sync.py +++ b/tests/integration/test_auth_sync.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests: sync authentication flows against a live appliance.""" import pytest diff --git a/tests/integration/test_certificate_auth.py b/tests/integration/test_certificate_auth.py index 56288ca..e0dae54 100644 --- a/tests/integration/test_certificate_auth.py +++ b/tests/integration/test_certificate_auth.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests for CertificateAuth login. Creates a self-signed certificate, uploads it to TrustedCertificates, diff --git a/tests/integration/test_client_features.py b/tests/integration/test_client_features.py index 4444ca2..f88e308 100644 --- a/tests/integration/test_client_features.py +++ b/tests/integration/test_client_features.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests: client features — provider lookup, request(), auto-refresh, error handling.""" from __future__ import annotations diff --git a/tests/integration/test_event_listener.py b/tests/integration/test_event_listener.py index e733572..088eb24 100644 --- a/tests/integration/test_event_listener.py +++ b/tests/integration/test_event_listener.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests for the event listener system against a live Safeguard appliance. These tests verify that: diff --git a/tests/integration/test_factories.py b/tests/integration/test_factories.py index dc677b5..0df023a 100644 --- a/tests/integration/test_factories.py +++ b/tests/integration/test_factories.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Verify that removed v7.x factory functions are no longer importable. In v8.0, the module-level factory functions (connect_password, connect_certificate, diff --git a/tests/integration/test_invoke_async.py b/tests/integration/test_invoke_async.py index bedbe41..ac1d068 100644 --- a/tests/integration/test_invoke_async.py +++ b/tests/integration/test_invoke_async.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests: async invoke with various HTTP methods.""" import pytest diff --git a/tests/integration/test_invoke_sync.py b/tests/integration/test_invoke_sync.py index 1b9549f..e13ed35 100644 --- a/tests/integration/test_invoke_sync.py +++ b/tests/integration/test_invoke_sync.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests: sync invoke with various HTTP methods and options.""" import pytest diff --git a/tests/integration/test_persistent_listener_factory.py b/tests/integration/test_persistent_listener_factory.py index de991ee..fe0a311 100644 --- a/tests/integration/test_persistent_listener_factory.py +++ b/tests/integration/test_persistent_listener_factory.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests: PersistentSafeguardEventListener.from_password live token factory. Verifies the refactored from_password/from_certificate factory methods diff --git a/tests/integration/test_pkce_auth.py b/tests/integration/test_pkce_auth.py index 29900c8..6d7bb91 100644 --- a/tests/integration/test_pkce_auth.py +++ b/tests/integration/test_pkce_auth.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests: PKCE authentication (sync + async). PKCE is the recommended auth method for newer appliances where diff --git a/tests/integration/test_streaming.py b/tests/integration/test_streaming.py index 4ef0b50..d1dc5bb 100644 --- a/tests/integration/test_streaming.py +++ b/tests/integration/test_streaming.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests for streaming download/upload against a live Safeguard appliance. Uses the Backups endpoint (``service/appliance/v4/Backups``) which supports diff --git a/tests/integration/test_token_async.py b/tests/integration/test_token_async.py index de76505..4e2b71d 100644 --- a/tests/integration/test_token_async.py +++ b/tests/integration/test_token_async.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests: async token lifetime and provider lookup.""" import pytest diff --git a/tests/integration/test_token_sync.py b/tests/integration/test_token_sync.py index b565e8d..81e2177 100644 --- a/tests/integration/test_token_sync.py +++ b/tests/integration/test_token_sync.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests: sync token lifetime and provider lookup.""" import pytest diff --git a/tests/integration/test_user_crud_async.py b/tests/integration/test_user_crud_async.py index c7404ea..677fe54 100644 --- a/tests/integration/test_user_crud_async.py +++ b/tests/integration/test_user_crud_async.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests: async user CRUD lifecycle with full cleanup.""" import pytest diff --git a/tests/integration/test_user_crud_sync.py b/tests/integration/test_user_crud_sync.py index 6966a7c..1414287 100644 --- a/tests/integration/test_user_crud_sync.py +++ b/tests/integration/test_user_crud_sync.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Integration tests: sync user CRUD lifecycle with full cleanup.""" import pytest diff --git a/tests/test_a2a.py b/tests/test_a2a.py index 6f155e1..aaa21d9 100644 --- a/tests/test_a2a.py +++ b/tests/test_a2a.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Tests for A2AContext and AsyncA2AContext construction and validation logic. These are pure-logic tests that do not require a live appliance or A2A diff --git a/tests/test_async_client_new.py b/tests/test_async_client_new.py index f0dca01..1a95890 100644 --- a/tests/test_async_client_new.py +++ b/tests/test_async_client_new.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Tests for AsyncSafeguardClient request logic using mocked HTTP responses. Tests URL construction, auth flow, and verb methods using the new v8.0 diff --git a/tests/test_auth.py b/tests/test_auth.py index 48915ad..f2a9795 100644 --- a/tests/test_auth.py +++ b/tests/test_auth.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Tests for auth strategy objects (pysafeguard.auth). Covers construction, protocol conformance, secret wrapping, can_refresh, diff --git a/tests/test_client_new.py b/tests/test_client_new.py index c293ad1..9d1b760 100644 --- a/tests/test_client_new.py +++ b/tests/test_client_new.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Tests for SafeguardClient construction and properties. Covers init defaults, repr, is_authenticated, context manager behavior, diff --git a/tests/test_client_request_logic.py b/tests/test_client_request_logic.py index 16d9b28..2430123 100644 --- a/tests/test_client_request_logic.py +++ b/tests/test_client_request_logic.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Tests for SafeguardClient request logic using mocked HTTP responses. Tests URL construction, header merging, body handling, verb methods, diff --git a/tests/test_data_types.py b/tests/test_data_types.py index 20c39ac..4ea1828 100644 --- a/tests/test_data_types.py +++ b/tests/test_data_types.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Unit tests for pysafeguard.data_types — enum definitions and StrEnum behavior.""" from pysafeguard.data_types import A2AType, A2ATypes, HttpMethod, HttpMethods, Service, Services, SshKeyFormat, SshKeyFormats diff --git a/tests/test_event.py b/tests/test_event.py index a4ce2de..4ab7e76 100644 --- a/tests/test_event.py +++ b/tests/test_event.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Tests for the event handler registry, listener construction, and state management. These are pure-logic tests that do not require signalrcore or a live appliance. diff --git a/tests/test_hidden_string.py b/tests/test_hidden_string.py index e3a5217..1d18ffa 100644 --- a/tests/test_hidden_string.py +++ b/tests/test_hidden_string.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Unit tests for pysafeguard.hidden_string — HiddenString wrapper.""" import copy diff --git a/tests/test_pkce_helpers.py b/tests/test_pkce_helpers.py index 04c18fc..724a281 100644 --- a/tests/test_pkce_helpers.py +++ b/tests/test_pkce_helpers.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Unit tests for PKCE crypto helpers and authorization code extraction. These test the pure functions in pkce.py without requiring network access. diff --git a/tests/test_public_api.py b/tests/test_public_api.py index e450ea3..7d7cc56 100644 --- a/tests/test_public_api.py +++ b/tests/test_public_api.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Tests verifying the public API surface of pysafeguard v8.0. Ensures all expected symbols are exported and deprecated symbols are gone. diff --git a/tests/test_safeguard_errors.py b/tests/test_safeguard_errors.py index 7e950e6..404b580 100644 --- a/tests/test_safeguard_errors.py +++ b/tests/test_safeguard_errors.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Tests for the new v8.0 error hierarchy (pysafeguard.errors). Covers SafeguardError, ApiError, status-code mapping, from_response factory, diff --git a/tests/test_utility.py b/tests/test_utility.py index df1daf2..55c23d4 100644 --- a/tests/test_utility.py +++ b/tests/test_utility.py @@ -1,3 +1,6 @@ +# Copyright (c) One Identity LLC. All rights reserved. +# Licensed under the Apache License, Version 2.0. + """Unit tests for pysafeguard.utility — pure helper functions.""" import pytest