py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV) py$(PYV): commands[0]> $(PYTHON) -b -m coverage run -m pytest ============================= test session starts ============================== platform sunos5 -- Python $(PYTHON_VERSION).X -- $(PYTHON) cachedir: .tox/py$(PYV)/.pytest_cache rootdir: $(@D) configfile: tox.ini testpaths: tests collecting ... collected 291 items tests/test_advisory.py::TestAdvisory::test_ghsa_ffqj_6fqr_9h24 PASSED tests/test_algorithms.py::TestAlgorithms::test_none_algorithm_should_throw_exception_if_key_is_not_none PASSED tests/test_algorithms.py::TestAlgorithms::test_none_algorithm_should_throw_exception_on_to_jwk PASSED tests/test_algorithms.py::TestAlgorithms::test_none_algorithm_should_throw_exception_on_from_jwk PASSED tests/test_algorithms.py::TestAlgorithms::test_hmac_should_reject_nonstring_key PASSED tests/test_algorithms.py::TestAlgorithms::test_hmac_should_accept_unicode_key PASSED tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey2_rsa.pub.pem0] PASSED tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey2_rsa.pub.pem1] PASSED tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey_pkcs1.pub.pem] PASSED tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey_rsa.cer] PASSED tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey_rsa.pub] PASSED tests/test_algorithms.py::TestAlgorithms::test_hmac_jwk_should_parse_and_verify PASSED tests/test_algorithms.py::TestAlgorithms::test_hmac_to_jwk_returns_correct_values[False] PASSED tests/test_algorithms.py::TestAlgorithms::test_hmac_to_jwk_returns_correct_values[True] PASSED tests/test_algorithms.py::TestAlgorithms::test_hmac_from_jwk_should_raise_exception_if_not_hmac_key PASSED tests/test_algorithms.py::TestAlgorithms::test_hmac_from_jwk_should_raise_exception_if_empty_json PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_should_parse_pem_public_key PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_should_accept_pem_private_key_bytes PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_should_accept_unicode_key PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_should_reject_non_string_key PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_verify_should_return_false_if_signature_invalid PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_jwk_public_and_private_keys_should_parse_and_verify PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_jwk_fails_on_invalid_json PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_private_key_to_jwk_works_with_from_jwk PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_public_key_to_jwk_works_with_from_jwk PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_public_key[False] PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_public_key[True] PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_private_key[False] PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_private_key[True] PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_raises_exception_on_invalid_key PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_with_valid_curves[False] PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_with_valid_curves[True] PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_with_invalid_curve PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_public_and_private_keys_should_parse_and_verify PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_private_key_to_jwk_works_with_from_jwk PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_public_key_to_jwk_works_with_from_jwk PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_with_other_primes_is_invalid PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_with_missing_values_is_invalid PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_can_recover_prime_factors PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_with_missing_required_values_is_invalid PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_raises_exception_if_not_a_valid_key PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_public_key[False] PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_public_key[True] PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_private_key[False] PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_private_key[True] PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_raises_exception_on_invalid_key PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_from_jwk_raises_exception_on_invalid_key PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_should_reject_non_string_key PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_should_accept_pem_private_key_bytes PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_should_accept_ssh_public_key_bytes PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_verify_should_return_false_if_signature_invalid PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_verify_should_return_false_if_signature_wrong_length PASSED tests/test_algorithms.py::TestAlgorithms::test_ec_should_throw_exception_on_wrong_key PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_pss_sign_then_verify_should_return_true PASSED tests/test_algorithms.py::TestAlgorithms::test_rsa_pss_verify_should_return_false_if_signature_invalid PASSED tests/test_algorithms.py::TestAlgorithmsRFC7520::test_hmac_verify_should_return_true_for_test_vector PASSED tests/test_algorithms.py::TestAlgorithmsRFC7520::test_rsa_verify_should_return_true_for_test_vector PASSED tests/test_algorithms.py::TestAlgorithmsRFC7520::test_rsapss_verify_should_return_true_for_test_vector PASSED tests/test_algorithms.py::TestAlgorithmsRFC7520::test_ec_verify_should_return_true_for_test_vector PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_should_reject_non_string_key PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_sign_should_generate_correct_signature_value PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_verify_should_return_false_if_signature_invalid PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_verify_should_return_true_if_signature_valid PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_prepare_key_should_be_idempotent PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_private_key_should_parse_and_verify PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_private_key_should_parse_and_verify_with_private_key_as_is PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_public_key_should_parse_and_verify PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_fails_on_invalid_json PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_to_jwk_works_with_from_jwk[False] PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_to_jwk_works_with_from_jwk[True] PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_to_jwk_raises_exception_on_invalid_key PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_private_key_should_parse_and_verify PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_private_key_should_parse_and_verify_with_private_key_as_is PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_public_key_should_parse_and_verify PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_fails_on_invalid_json PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_to_jwk_works_with_from_jwk[False] PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_to_jwk_works_with_from_jwk[True] PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_rsa_can_compute_digest PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_hmac_can_compute_digest PASSED tests/test_algorithms.py::TestOKPAlgorithms::test_rsa_prepare_key_raises_invalid_key_error_on_invalid_pem PASSED tests/test_api_jwk.py::TestPyJWK::test_should_load_key_from_jwk_data_dict PASSED tests/test_api_jwk.py::TestPyJWK::test_should_load_key_from_jwk_data_json_string PASSED tests/test_api_jwk.py::TestPyJWK::test_should_load_key_without_alg_from_dict PASSED tests/test_api_jwk.py::TestPyJWK::test_should_load_key_from_dict_with_algorithm PASSED tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_p256_from_dict PASSED tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_p384_from_dict PASSED tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_p521_from_dict PASSED tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_secp256k1_from_dict PASSED tests/test_api_jwk.py::TestPyJWK::test_should_load_key_hmac_from_dict PASSED tests/test_api_jwk.py::TestPyJWK::test_should_load_key_hmac_without_alg_from_dict PASSED tests/test_api_jwk.py::TestPyJWK::test_should_load_key_okp_without_alg_from_dict PASSED tests/test_api_jwk.py::TestPyJWK::test_from_dict_should_throw_exception_if_arg_is_invalid PASSED tests/test_api_jwk.py::TestPyJWK::test_missing_crypto_library_good_error_message SKIPPED tests/test_api_jwk.py::TestPyJWK::test_missing_crypto_library_raises_missing_cryptography_error SKIPPED tests/test_api_jwk.py::TestPyJWKSet::test_should_load_keys_from_jwk_data_dict PASSED tests/test_api_jwk.py::TestPyJWKSet::test_should_load_keys_from_jwk_data_json_string PASSED tests/test_api_jwk.py::TestPyJWKSet::test_keyset_should_index_by_kid PASSED tests/test_api_jwk.py::TestPyJWKSet::test_keyset_with_unknown_alg PASSED tests/test_api_jwk.py::TestPyJWKSet::test_invalid_keys_list PASSED tests/test_api_jwk.py::TestPyJWKSet::test_empty_keys_list PASSED tests/test_api_jwk.py::TestPyJWKSet::test_missing_crypto_library_raises_when_required SKIPPED tests/test_api_jws.py::TestJWS::test_register_algo_does_not_allow_duplicate_registration PASSED tests/test_api_jws.py::TestJWS::test_register_algo_rejects_non_algorithm_obj PASSED tests/test_api_jws.py::TestJWS::test_unregister_algo_removes_algorithm PASSED tests/test_api_jws.py::TestJWS::test_unregister_algo_throws_error_if_not_registered PASSED tests/test_api_jws.py::TestJWS::test_algo_parameter_removes_alg_from_algorithms_list PASSED tests/test_api_jws.py::TestJWS::test_override_options PASSED tests/test_api_jws.py::TestJWS::test_non_object_options_dont_persist PASSED tests/test_api_jws.py::TestJWS::test_options_must_be_dict PASSED tests/test_api_jws.py::TestJWS::test_encode_decode PASSED tests/test_api_jws.py::TestJWS::test_decode_fails_when_alg_is_not_on_method_algorithms_param PASSED tests/test_api_jws.py::TestJWS::test_decode_works_with_unicode_token PASSED tests/test_api_jws.py::TestJWS::test_decode_missing_segments_throws_exception PASSED tests/test_api_jws.py::TestJWS::test_decode_invalid_token_type_is_none PASSED tests/test_api_jws.py::TestJWS::test_decode_invalid_token_type_is_int PASSED tests/test_api_jws.py::TestJWS::test_decode_with_non_mapping_header_throws_exception PASSED tests/test_api_jws.py::TestJWS::test_encode_default_algorithm PASSED tests/test_api_jws.py::TestJWS::test_encode_algorithm_param_should_be_case_sensitive PASSED tests/test_api_jws.py::TestJWS::test_encode_with_headers_alg_none PASSED tests/test_api_jws.py::TestJWS::test_encode_with_headers_alg_es256 PASSED tests/test_api_jws.py::TestJWS::test_encode_with_alg_hs256_and_headers_alg_es256 PASSED tests/test_api_jws.py::TestJWS::test_encode_with_jwk PASSED tests/test_api_jws.py::TestJWS::test_decode_algorithm_param_should_be_case_sensitive PASSED tests/test_api_jws.py::TestJWS::test_bad_secret PASSED tests/test_api_jws.py::TestJWS::test_decodes_valid_jws PASSED tests/test_api_jws.py::TestJWS::test_decodes_complete_valid_jws PASSED tests/test_api_jws.py::TestJWS::test_decodes_with_jwk PASSED tests/test_api_jws.py::TestJWS::test_decodes_with_jwk_and_no_algorithm PASSED tests/test_api_jws.py::TestJWS::test_decodes_with_jwk_and_mismatched_algorithm PASSED tests/test_api_jws.py::TestJWS::test_decodes_valid_es384_jws PASSED tests/test_api_jws.py::TestJWS::test_decodes_valid_rs384_jws PASSED tests/test_api_jws.py::TestJWS::test_load_verify_valid_jws PASSED tests/test_api_jws.py::TestJWS::test_allow_skip_verification PASSED tests/test_api_jws.py::TestJWS::test_decode_with_optional_algorithms PASSED tests/test_api_jws.py::TestJWS::test_decode_no_algorithms_verify_signature_false PASSED tests/test_api_jws.py::TestJWS::test_load_no_verification PASSED tests/test_api_jws.py::TestJWS::test_no_secret PASSED tests/test_api_jws.py::TestJWS::test_verify_signature_with_no_secret PASSED tests/test_api_jws.py::TestJWS::test_verify_signature_with_no_algo_header_throws_exception PASSED tests/test_api_jws.py::TestJWS::test_invalid_crypto_alg PASSED tests/test_api_jws.py::TestJWS::test_missing_crypto_library_better_error_messages SKIPPED tests/test_api_jws.py::TestJWS::test_unicode_secret PASSED tests/test_api_jws.py::TestJWS::test_nonascii_secret PASSED tests/test_api_jws.py::TestJWS::test_bytes_secret PASSED tests/test_api_jws.py::TestJWS::test_sorting_of_headers[False] PASSED tests/test_api_jws.py::TestJWS::test_sorting_of_headers[True] PASSED tests/test_api_jws.py::TestJWS::test_decode_invalid_header_padding PASSED tests/test_api_jws.py::TestJWS::test_decode_invalid_header_string PASSED tests/test_api_jws.py::TestJWS::test_decode_invalid_payload_padding PASSED tests/test_api_jws.py::TestJWS::test_decode_invalid_crypto_padding PASSED tests/test_api_jws.py::TestJWS::test_decode_with_algo_none_should_fail PASSED tests/test_api_jws.py::TestJWS::test_decode_with_algo_none_and_verify_false_should_pass PASSED tests/test_api_jws.py::TestJWS::test_get_unverified_header_returns_header_values PASSED tests/test_api_jws.py::TestJWS::test_get_unverified_header_fails_on_bad_header_types PASSED tests/test_api_jws.py::TestJWS::test_encode_decode_rsa_related_algorithms[RS256] PASSED tests/test_api_jws.py::TestJWS::test_encode_decode_rsa_related_algorithms[RS384] PASSED tests/test_api_jws.py::TestJWS::test_encode_decode_rsa_related_algorithms[RS512] PASSED tests/test_api_jws.py::TestJWS::test_rsa_related_algorithms PASSED tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES256] PASSED tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES256K] PASSED tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES384] PASSED tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES512] PASSED tests/test_api_jws.py::TestJWS::test_ecdsa_related_algorithms PASSED tests/test_api_jws.py::TestJWS::test_skip_check_signature PASSED tests/test_api_jws.py::TestJWS::test_decode_options_must_be_dict PASSED tests/test_api_jws.py::TestJWS::test_custom_json_encoder PASSED tests/test_api_jws.py::TestJWS::test_encode_headers_parameter_adds_headers PASSED tests/test_api_jws.py::TestJWS::test_encode_with_typ PASSED tests/test_api_jws.py::TestJWS::test_encode_with_typ_empty_string PASSED tests/test_api_jws.py::TestJWS::test_encode_with_typ_none PASSED tests/test_api_jws.py::TestJWS::test_encode_with_typ_without_keywords PASSED tests/test_api_jws.py::TestJWS::test_encode_fails_on_invalid_kid_types PASSED tests/test_api_jws.py::TestJWS::test_encode_decode_with_detached_content PASSED tests/test_api_jws.py::TestJWS::test_encode_detached_content_with_b64_header PASSED tests/test_api_jws.py::TestJWS::test_decode_detached_content_without_proper_argument PASSED tests/test_api_jws.py::TestJWS::test_decode_warns_on_unsupported_kwarg PASSED tests/test_api_jws.py::TestJWS::test_decode_complete_warns_on_unuspported_kwarg PASSED tests/test_api_jwt.py::TestJWT::test_decodes_valid_jwt PASSED tests/test_api_jwt.py::TestJWT::test_decodes_complete_valid_jwt PASSED tests/test_api_jwt.py::TestJWT::test_load_verify_valid_jwt PASSED tests/test_api_jwt.py::TestJWT::test_decode_invalid_payload_string PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_non_mapping_payload_throws_exception PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_invalid_audience_param_throws_exception PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_nonlist_aud_claim_throws_exception PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_invalid_aud_list_member_throws_exception PASSED tests/test_api_jwt.py::TestJWT::test_encode_bad_type PASSED tests/test_api_jwt.py::TestJWT::test_encode_with_typ PASSED tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_exp_is_not_int PASSED tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_iat_is_not_int PASSED tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_iat_is_greater_than_now PASSED tests/test_api_jwt.py::TestJWT::test_decode_works_if_iat_is_str_of_a_number PASSED tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_nbf_is_not_int PASSED tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_aud_is_none PASSED tests/test_api_jwt.py::TestJWT::test_encode_datetime PASSED tests/test_api_jwt.py::TestJWT::test_decodes_valid_es256_jwt PASSED tests/test_api_jwt.py::TestJWT::test_decodes_valid_rs384_jwt PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_expiration PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_notbefore PASSED tests/test_api_jwt.py::TestJWT::test_decode_skip_expiration_verification PASSED tests/test_api_jwt.py::TestJWT::test_decode_skip_notbefore_verification PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_expiration_with_leeway PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_notbefore_with_leeway PASSED tests/test_api_jwt.py::TestJWT::test_check_audience_when_valid PASSED tests/test_api_jwt.py::TestJWT::test_check_audience_list_when_valid PASSED tests/test_api_jwt.py::TestJWT::test_check_audience_none_specified PASSED tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_audience_list PASSED tests/test_api_jwt.py::TestJWT::test_check_audience_in_array_when_valid PASSED tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_audience PASSED tests/test_api_jwt.py::TestJWT::test_raise_exception_audience_as_bytes PASSED tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_audience_in_array PASSED tests/test_api_jwt.py::TestJWT::test_raise_exception_token_without_issuer PASSED tests/test_api_jwt.py::TestJWT::test_rasise_exception_on_partial_issuer_match PASSED tests/test_api_jwt.py::TestJWT::test_raise_exception_token_without_audience PASSED tests/test_api_jwt.py::TestJWT::test_raise_exception_token_with_aud_none_and_without_audience PASSED tests/test_api_jwt.py::TestJWT::test_check_issuer_when_valid PASSED tests/test_api_jwt.py::TestJWT::test_check_issuer_list_when_valid PASSED tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_issuer PASSED tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_issuer_list PASSED tests/test_api_jwt.py::TestJWT::test_skip_check_audience PASSED tests/test_api_jwt.py::TestJWT::test_skip_check_exp PASSED tests/test_api_jwt.py::TestJWT::test_decode_should_raise_error_if_exp_required_but_not_present PASSED tests/test_api_jwt.py::TestJWT::test_decode_should_raise_error_if_iat_required_but_not_present PASSED tests/test_api_jwt.py::TestJWT::test_decode_should_raise_error_if_nbf_required_but_not_present PASSED tests/test_api_jwt.py::TestJWT::test_skip_check_signature PASSED tests/test_api_jwt.py::TestJWT::test_skip_check_iat PASSED tests/test_api_jwt.py::TestJWT::test_skip_check_nbf PASSED tests/test_api_jwt.py::TestJWT::test_custom_json_encoder PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_verify_exp_option PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_verify_exp_option_and_signature_off PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_optional_algorithms PASSED tests/test_api_jwt.py::TestJWT::test_decode_no_algorithms_verify_signature_false PASSED tests/test_api_jwt.py::TestJWT::test_decode_legacy_verify_warning PASSED tests/test_api_jwt.py::TestJWT::test_decode_no_options_mutation PASSED tests/test_api_jwt.py::TestJWT::test_decode_warns_on_unsupported_kwarg PASSED tests/test_api_jwt.py::TestJWT::test_decode_complete_warns_on_unsupported_kwarg PASSED tests/test_api_jwt.py::TestJWT::test_decode_strict_aud_forbids_list_audience PASSED tests/test_api_jwt.py::TestJWT::test_decode_strict_aud_forbids_list_claim PASSED tests/test_api_jwt.py::TestJWT::test_decode_strict_aud_does_not_match PASSED tests/test_api_jwt.py::TestJWT::test_decode_strict_ok PASSED tests/test_api_jwt.py::TestJWT::test_encode_decode_sub_claim PASSED tests/test_api_jwt.py::TestJWT::test_decode_without_and_not_required_sub_claim PASSED tests/test_api_jwt.py::TestJWT::test_decode_missing_sub_but_required_claim PASSED tests/test_api_jwt.py::TestJWT::test_decode_invalid_int_sub_claim PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_valid_sub_claim PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_invalid_sub_claim PASSED tests/test_api_jwt.py::TestJWT::test_decode_with_sub_claim_and_none_subject PASSED tests/test_api_jwt.py::TestJWT::test_encode_decode_with_valid_jti_claim PASSED tests/test_api_jwt.py::TestJWT::test_decode_missing_jti_when_required_claim PASSED tests/test_api_jwt.py::TestJWT::test_decode_missing_jti_claim PASSED tests/test_api_jwt.py::TestJWT::test_jti_claim_with_invalid_int_value PASSED tests/test_compressed_jwt.py::test_decodes_complete_valid_jwt_with_compressed_payload PASSED tests/test_exceptions.py::test_missing_required_claim_error_has_proper_str PASSED tests/test_jwks_client.py::TestPyJWKClient::test_fetch_data_forwards_headers_to_correct_url PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_jwk_set PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_keys PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_keys_if_no_use_provided PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_keys_raises_if_none_found PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key_caches_result PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key_does_not_cache_opt_out PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key_from_jwt PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_jwk_set_caches_result PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_cache_expired_result PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_cache_disabled PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_failed_request_should_clear_cache PASSED tests/test_jwks_client.py::TestPyJWKClient::test_failed_request_should_raise_connection_error PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_refresh_cache PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_no_matching_kid_after_second_attempt PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_invalid_lifespan PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_timeout PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_sslcontext_default PASSED tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_sslcontext_no_ca PASSED tests/test_jwt.py::test_encode_decode PASSED tests/test_utils.py::test_to_base64url_uint[0-expected0] PASSED tests/test_utils.py::test_to_base64url_uint[1-expected1] PASSED tests/test_utils.py::test_to_base64url_uint[255-expected2] PASSED tests/test_utils.py::test_to_base64url_uint[65537-expected3] PASSED tests/test_utils.py::test_to_base64url_uint[123456789-expected4] PASSED tests/test_utils.py::test_to_base64url_uint[-1-expected5] PASSED tests/test_utils.py::test_from_base64url_uint[AA-0] PASSED tests/test_utils.py::test_from_base64url_uint[AQ-1] PASSED tests/test_utils.py::test_from_base64url_uint[_w-255] PASSED tests/test_utils.py::test_from_base64url_uint[AQAB-65537] PASSED tests/test_utils.py::test_from_base64url_uint[B1vNFQ-123456789] PASSED tests/test_utils.py::test_force_bytes_raises_error_on_invalid_object PASSED tests/test_utils.py::test_is_ssh_key[ssh-ed25519] PASSED tests/test_utils.py::test_is_ssh_key[ssh-rsa] PASSED tests/test_utils.py::test_is_ssh_key[ssh-dss] PASSED tests/test_utils.py::test_is_ssh_key[ecdsa-sha2-nistp256] PASSED tests/test_utils.py::test_is_ssh_key[ecdsa-sha2-nistp384] PASSED tests/test_utils.py::test_is_ssh_key[ecdsa-sha2-nistp521] PASSED =========================== short test summary info ============================ ======== 287 passed, 4 skipped ======== py$(PYV): OK congratulations :)