public async Task GetConfig() { var handler = new MockMessageHandler() { Response = SamlProviderConfigResponse, }; var auth = ProviderConfigTestUtils.CreateFirebaseAuth(handler); var provider = await auth.GetSamlProviderConfigAsync("saml.provider"); this.AssertSamlProviderConfig(provider); Assert.Equal(1, handler.Requests.Count); var request = handler.Requests[0]; Assert.Equal(HttpMethod.Get, request.Method); Assert.Equal( "/v2/projects/project1/inboundSamlConfigs/saml.provider", request.Url.PathAndQuery); ProviderConfigTestUtils.AssertClientVersionHeader(request); }
public async Task CreateConfigMinimal() { var handler = new MockMessageHandler() { Response = SamlProviderConfigResponse, }; var auth = ProviderConfigTestUtils.CreateFirebaseAuth(handler); var args = new SamlProviderConfigArgs() { ProviderId = "saml.minimal-provider", IdpEntityId = "IDP_ENTITY_ID", SsoUrl = "https://example.com/login", X509Certificates = new List <string>() { "CERT1", "CERT2" }, RpEntityId = "RP_ENTITY_ID", CallbackUrl = "https://projectId.firebaseapp.com/__/auth/handler", }; var provider = await auth.CreateProviderConfigAsync(args); this.AssertSamlProviderConfig(provider); Assert.Equal(1, handler.Requests.Count); var request = handler.Requests[0]; Assert.Equal(HttpMethod.Post, request.Method); Assert.Equal( "/v2/projects/project1/inboundSamlConfigs?inboundSamlConfigId=saml.minimal-provider", request.Url.PathAndQuery); ProviderConfigTestUtils.AssertClientVersionHeader(request); var body = NewtonsoftJsonSerializer.Instance.Deserialize <JObject>( handler.LastRequestBody); Assert.Equal(2, body.Count); this.AssertIdpConfig((JObject)body["idpConfig"]); this.AssertSpConfig((JObject)body["spConfig"]); }
public async Task UpdateConfig() { var handler = new MockMessageHandler() { Response = OidcProviderConfigResponse, }; var auth = ProviderConfigTestUtils.CreateFirebaseAuth(handler); var args = new OidcProviderConfigArgs() { ProviderId = "oidc.provider", DisplayName = "oidcProviderName", Enabled = true, ClientId = "CLIENT_ID", Issuer = "https://oidc.com/issuer", }; var provider = await auth.UpdateProviderConfigAsync(args); this.AssertOidcProviderConfig(provider); Assert.Equal(1, handler.Requests.Count); var request = handler.Requests[0]; Assert.Equal(ProviderConfigTestUtils.PatchMethod, request.Method); var mask = "clientId,displayName,enabled,issuer"; Assert.Equal( $"/v2/projects/project1/oauthIdpConfigs/oidc.provider?updateMask={mask}", request.Url.PathAndQuery); ProviderConfigTestUtils.AssertClientVersionHeader(request); var body = NewtonsoftJsonSerializer.Instance.Deserialize<JObject>( handler.LastRequestBody); Assert.Equal(4, body.Count); Assert.Equal("oidcProviderName", body["displayName"]); Assert.True((bool)body["enabled"]); Assert.Equal("CLIENT_ID", body["clientId"]); Assert.Equal("https://oidc.com/issuer", body["issuer"]); }