@@ -768,16 +768,7 @@ def test_create_connection_lazy_refresh_token_store(requests_mock):
768768
769769
770770def test_list_auth_providers (requests_mock , api_version ):
771- requests_mock .get (
772- API_URL ,
773- json = {
774- "api_version" : api_version ,
775- "endpoints" : [
776- {"methods" : ["GET" ], "path" : "/credentials/basic" },
777- {"methods" : ["GET" ], "path" : "/credentials/oidc" },
778- ],
779- },
780- )
771+ requests_mock .get (API_URL , json = build_capabilities (api_version = api_version ))
781772 requests_mock .get (
782773 API_URL + "credentials/oidc" ,
783774 json = {
@@ -804,20 +795,37 @@ def test_list_auth_providers(requests_mock, api_version):
804795 assert p2 ["issuer" ] == "https://other.example"
805796 assert p2 ["title" ] == "Other"
806797
807- basic = next (filter (lambda x : x ["type " ] == "basic" , providers ), None )
798+ basic = next (filter (lambda x : x ["id " ] == "/credentials/ basic" , providers ), None )
808799 assert isinstance (basic , dict )
809- assert isinstance (basic ["id" ], str )
810- assert len (basic ["id" ]) > 0
800+ assert basic ["type" ] == "basic"
811801 assert basic ["issuer" ] == API_URL + "credentials/basic"
812802 assert basic ["title" ] == "Internal"
813803
814804
815805def test_list_auth_providers_empty (requests_mock , api_version ):
816- requests_mock .get (API_URL , json = {"api_version" : api_version , "endpoints" : []})
806+ requests_mock .get (
807+ API_URL ,
808+ json = build_capabilities (api_version = api_version , basic_auth = False , oidc_auth = False ),
809+ )
810+
811+ conn = Connection (API_URL )
812+ providers = conn .list_auth_providers ()
813+ assert len (providers ) == 0
814+
815+
816+ def test_list_auth_providers_invalid (requests_mock , api_version , caplog ):
817+ requests_mock .get (API_URL , json = build_capabilities (api_version = api_version , basic_auth = False ))
818+ error_message = "Maintenance ongoing"
819+ requests_mock .get (
820+ API_URL + "credentials/oidc" ,
821+ status_code = 500 ,
822+ json = {"code" : "Internal" , "message" : error_message },
823+ )
817824
818825 conn = Connection (API_URL )
819826 providers = conn .list_auth_providers ()
820827 assert len (providers ) == 0
828+ assert f"Unable to load the OpenID Connect provider list: { error_message } " in caplog .messages
821829
822830
823831def test_authenticate_basic_no_support (requests_mock , api_version ):
0 commit comments