|  | 
| 78 | 78 | MOCK_GET_USER_RESPONSE = testutils.resource('get_user.json') | 
| 79 | 79 | MOCK_LIST_USERS_RESPONSE = testutils.resource('list_users.json') | 
| 80 | 80 | 
 | 
|  | 81 | +OIDC_PROVIDER_CONFIG_RESPONSE = testutils.resource('oidc_provider_config.json') | 
| 81 | 82 | SAML_PROVIDER_CONFIG_RESPONSE = testutils.resource('saml_provider_config.json') | 
| 82 | 83 | SAML_PROVIDER_CONFIG_REQUEST = body = { | 
| 83 | 84 |     'displayName': 'samlProviderName', | 
| @@ -715,6 +716,31 @@ def test_generate_sign_in_with_email_link(self, tenant_mgt_app): | 
| 715 | 716 |             'continueUrl': 'http://localhost', | 
| 716 | 717 |         }) | 
| 717 | 718 | 
 | 
|  | 719 | +    def test_get_oidc_provider_config(self, tenant_mgt_app): | 
|  | 720 | +        client = tenant_mgt.auth_for_tenant('tenant-id', app=tenant_mgt_app) | 
|  | 721 | +        recorder = _instrument_provider_mgt(client, 200, OIDC_PROVIDER_CONFIG_RESPONSE) | 
|  | 722 | + | 
|  | 723 | +        provider_config = client.get_oidc_provider_config('oidc.provider') | 
|  | 724 | + | 
|  | 725 | +        self._assert_oidc_provider_config(provider_config) | 
|  | 726 | +        assert len(recorder) == 1 | 
|  | 727 | +        req = recorder[0] | 
|  | 728 | +        assert req.method == 'GET' | 
|  | 729 | +        assert req.url == '{0}/tenants/tenant-id/oauthIdpConfigs/oidc.provider'.format( | 
|  | 730 | +            PROVIDER_MGT_URL_PREFIX) | 
|  | 731 | + | 
|  | 732 | +    def test_delete_oidc_provider_config(self, tenant_mgt_app): | 
|  | 733 | +        client = tenant_mgt.auth_for_tenant('tenant-id', app=tenant_mgt_app) | 
|  | 734 | +        recorder = _instrument_provider_mgt(client, 200, '{}') | 
|  | 735 | + | 
|  | 736 | +        client.delete_oidc_provider_config('oidc.provider') | 
|  | 737 | + | 
|  | 738 | +        assert len(recorder) == 1 | 
|  | 739 | +        req = recorder[0] | 
|  | 740 | +        assert req.method == 'DELETE' | 
|  | 741 | +        assert req.url == '{0}/tenants/tenant-id/oauthIdpConfigs/oidc.provider'.format( | 
|  | 742 | +            PROVIDER_MGT_URL_PREFIX) | 
|  | 743 | + | 
| 718 | 744 |     def test_get_saml_provider_config(self, tenant_mgt_app): | 
| 719 | 745 |         client = tenant_mgt.auth_for_tenant('tenant-id', app=tenant_mgt_app) | 
| 720 | 746 |         recorder = _instrument_provider_mgt(client, 200, SAML_PROVIDER_CONFIG_RESPONSE) | 
| @@ -765,7 +791,7 @@ def test_update_saml_provider_config(self, tenant_mgt_app): | 
| 765 | 791 | 
 | 
| 766 | 792 |     def test_delete_saml_provider_config(self, tenant_mgt_app): | 
| 767 | 793 |         client = tenant_mgt.auth_for_tenant('tenant-id', app=tenant_mgt_app) | 
| 768 |  | -        recorder = _instrument_provider_mgt(client, 200, SAML_PROVIDER_CONFIG_RESPONSE) | 
|  | 794 | +        recorder = _instrument_provider_mgt(client, 200, '{}') | 
| 769 | 795 | 
 | 
| 770 | 796 |         client.delete_saml_provider_config('saml.provider') | 
| 771 | 797 | 
 | 
| @@ -822,6 +848,14 @@ def _assert_request( | 
| 822 | 848 |         body = json.loads(req.body.decode()) | 
| 823 | 849 |         assert body == want_body | 
| 824 | 850 | 
 | 
|  | 851 | +    def _assert_oidc_provider_config(self, provider_config, want_id='oidc.provider'): | 
|  | 852 | +        assert isinstance(provider_config, auth.OIDCProviderConfig) | 
|  | 853 | +        assert provider_config.provider_id == want_id | 
|  | 854 | +        assert provider_config.display_name == 'oidcProviderName' | 
|  | 855 | +        assert provider_config.enabled is True | 
|  | 856 | +        assert provider_config.client_id == 'CLIENT_ID' | 
|  | 857 | +        assert provider_config.issuer == 'https://oidc.com/issuer' | 
|  | 858 | + | 
| 825 | 859 |     def _assert_saml_provider_config(self, provider_config, want_id='saml.provider'): | 
| 826 | 860 |         assert isinstance(provider_config, auth.SAMLProviderConfig) | 
| 827 | 861 |         assert provider_config.provider_id == want_id | 
|  | 
0 commit comments