public async Task CreateConfig(ProviderTestConfig config) { var handler = new MockMessageHandler() { Response = SamlProviderConfigResponse, }; var auth = config.CreateAuth(handler); var args = new SamlProviderConfigArgs() { ProviderId = "saml.provider", DisplayName = "samlProviderName", Enabled = true, 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); var request = Assert.Single(handler.Requests); Assert.Equal(HttpMethod.Post, request.Method); config.AssertRequest("inboundSamlConfigs?inboundSamlConfigId=saml.provider", request); var body = NewtonsoftJsonSerializer.Instance.Deserialize <JObject>( handler.LastRequestBody); Assert.Equal(4, body.Count); Assert.Equal("samlProviderName", body["displayName"]); Assert.True((bool)body["enabled"]); this.AssertIdpConfig((JObject)body["idpConfig"]); this.AssertSpConfig((JObject)body["spConfig"]); }
public async Task UpdateConfig(ProviderTestConfig config) { var handler = new MockMessageHandler() { Response = OidcProviderConfigResponse, }; var auth = config.CreateAuth(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(ProviderTestConfig.PatchMethod, request.Method); var mask = "clientId,displayName,enabled,issuer"; config.AssertRequest($"oauthIdpConfigs/oidc.provider?updateMask={mask}", 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"]); }