public void RemoveClaimAsync_InvalidModel_DoesNotCallIdentityAdmin()
 {
     Delete("api/Clients/ /claims/color/blue");
     Delete("api/Clients/123/claims/ /blue");
     Delete("api/Clients/123/claims/color/ ");
     IdentityAdminImpl.VerifyRemoveClaimAsyncNotCalled();
 }
        public void CreateClientAsync_InvalidModel_DoesNotCallIdentityAdmin()
        {
            var propertyValuesNoName = new List <PropertyValue>
            {
                new PropertyValue {
                    Type = "ClientName", Value = ""
                },
                new PropertyValue {
                    Type = "ClientId", Value = "testId"
                }
            };

            var propertyValuesNoId = new List <PropertyValue>
            {
                new PropertyValue {
                    Type = "ClientName", Value = "testName"
                },
                new PropertyValue {
                    Type = "ClientId", Value = ""
                }
            };

            Post("api/Clients", propertyValuesNoName);
            Post("api/Clients", propertyValuesNoId);
            Post("api/Clients", (IEnumerable <PropertyValue>)null);
            IdentityAdminImpl.VerifyCreateClientAsyncNotCalled();
        }
        public void RemoveClaimAsync_IdentityAdminThrows_ReturnsErrors()
        {
            IdentityAdminImpl.SetupRemoveClaimAsync(new Exception("Boom"));
            var resp = Delete("api/Clients/123/claim/123");

            Assert.AreEqual(HttpStatusCode.InternalServerError, resp.StatusCode);
        }
        public void GetClientAsync_ClientNotFound_ReturnsNotFound()
        {
            IdentityAdminImpl.SetupGetClientAsync((ClientDetail)null);
            var resp = Get("api/Clients/123");

            Assert.AreEqual(HttpStatusCode.NotFound, resp.StatusCode);
        }
        public void GetClientsAsync_IdentityAdminThrows_ReturnsErrors()
        {
            IdentityAdminImpl.SetupQueryClientsAsync(new Exception("Boom"));
            var response = Get("api/Clients");

            Assert.AreEqual(HttpStatusCode.InternalServerError, response.StatusCode);
        }
 public void AddClaimAsync_CallsIdentityAdmin()
 {
     Post("api/Clients/123/claim", new ClientClaimValue {
         Type = "color", Value = "blue"
     });
     IdentityAdminImpl.VerifyAddClaimAsync("123", "color", "blue");
 }
        public void AddClaimAsync_IdentityAdminThrows_ReturnsErrors()
        {
            IdentityAdminImpl.SetupAddClaimAsync(new Exception("Boom"));
            var resp = Post("api/Clients/123/claim", new ClientClaimValue {
                Type = "color", Value = "blue"
            });

            Assert.AreEqual(HttpStatusCode.InternalServerError, resp.StatusCode);
        }
        public void RemoveClaimAsync_IdentityAdminReturnsError_ReturnsError()
        {
            IdentityAdminImpl.SetupRemoveClaimAsync("foo", "bar");
            var resp = Delete("api/Clients/123/claim/123");

            Assert.AreEqual(HttpStatusCode.BadRequest, resp.StatusCode);
            var error = resp.Content.ReadAsAsync <ErrorModel>().Result;

            Assert.AreEqual(2, error.Errors.Length);
            CollectionAssert.Contains(error.Errors, "foo");
            CollectionAssert.Contains(error.Errors, "bar");
        }
        public void GetClientAsync_IdentityAdminReturnsErrors_ReturnsErrors()
        {
            IdentityAdminImpl.SetupGetClientAsync("foo", "bar");
            var response = Get("api/Clients/123");

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
            var error = response.Content.ReadAsAsync <ErrorModel>().Result;

            Assert.AreEqual(2, error.Errors.Length);
            CollectionAssert.Contains(error.Errors, "foo");
            CollectionAssert.Contains(error.Errors, "bar");
        }
        public void AddClaimAsync_IdentityAdminReturnsError_ReturnsError()
        {
            IdentityAdminImpl.SetupAddClaimAsync("foo", "bar");
            var resp = Post("api/Clients/123/claim", new ClientClaimValue {
                Type = "color", Value = "blue"
            });

            Assert.AreEqual(HttpStatusCode.BadRequest, resp.StatusCode);
            var error = resp.Content.ReadAsAsync <ErrorModel>().Result;

            Assert.AreEqual(2, error.Errors.Length);
            CollectionAssert.Contains(error.Errors, "foo");
            CollectionAssert.Contains(error.Errors, "bar");
        }
 public void AddClaimAsync_InvalidModel_DoesNotCallIdentityAdmin()
 {
     Post("api/Clients/123/claim", new ClientClaimValue {
         Type = "", Value = "blue"
     });
     Post("api/Clients/123/claim", new ClientClaimValue {
         Type = "color", Value = ""
     });
     Post("api/Clients/ /claim", new ClientClaimValue {
         Type = "color", Value = "blue"
     });
     Post("api/Clients/123/claim", (ClientClaimValue)null);
     IdentityAdminImpl.VerifyAddClaimAsyncNotCalled();
 }
        public void CreateClientAsync_IdentityAdminThrows_ReturnsErrors()
        {
            IdentityAdminImpl.SetupCreateClientAsync(new Exception("Boom"));
            var propertyValuesNoName = new List <PropertyValue>
            {
                new PropertyValue {
                    Type = "ClientName", Value = "testName"
                },
                new PropertyValue {
                    Type = "ClientId", Value = "testId"
                }
            };
            var response = Post("api/Clients", propertyValuesNoName);

            Assert.AreEqual(HttpStatusCode.InternalServerError, response.StatusCode);
        }
        public void CreateClientAsync_ValidModel_CallsIdentityAdmin()
        {
            IdentityAdminImpl.SetupCreateClientAsync(new CreateResult {
                Subject = "123"
            });
            var propertyValues = new List <PropertyValue>
            {
                new PropertyValue {
                    Type = "ClientName", Value = "testName"
                },
                new PropertyValue {
                    Type = "ClientId", Value = "testId"
                }
            };

            Post("api/Clients", propertyValues);
            IdentityAdminImpl.VerifyCreateClientAsync();
        }
        public void CreateClientAsync_IdentityAdminReturnsSuccess_CorrectResults()
        {
            IdentityAdminImpl.SetupCreateClientAsync(new CreateResult {
                Subject = "123"
            });
            var propertyValues = new List <PropertyValue>
            {
                new PropertyValue {
                    Type = "ClientName", Value = "testName"
                },
                new PropertyValue {
                    Type = "ClientId", Value = "testId"
                }
            };
            var response = Post("api/Clients", propertyValues);

            Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
            Assert.AreEqual(Url("api/clients/123"), response.Headers.Location.AbsoluteUri);
        }
        public void CreateClientAsync_IdentityAdminReturnsErrors_ReturnsErrors()
        {
            IdentityAdminImpl.SetupCreateClientAsync("foo", "bar");
            var propertyValuesNoName = new List <PropertyValue>
            {
                new PropertyValue {
                    Type = "ClientName", Value = "testName"
                },
                new PropertyValue {
                    Type = "ClientId", Value = "testId"
                }
            };
            var response = Post("api/Clients", propertyValuesNoName);

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
            var error = response.Content.ReadAsAsync <ErrorModel>().Result;

            Assert.AreEqual(2, error.Errors.Length);
            CollectionAssert.Contains(error.Errors, "foo");
            CollectionAssert.Contains(error.Errors, "bar");
        }
 public void GetMetadata_CallsClientManager()
 {
     Get("api");
     IdentityAdminImpl.GetMetadataAsync();
 }
 public void GetClientsAsync_NoParams_CallsIdentityAdmin()
 {
     Get("api/Clients");
     IdentityAdminImpl.VerifyQueryClientsAsync();
 }
 public void GetClientAsync_CallsIdentityAdmin()
 {
     Get("api/Clients/123");
     IdentityAdminImpl.VerifyGetClientAsync("123");
 }
 public void GetClientsAsync_WithParams_PassesParamsToIdentityAdmin()
 {
     Get("api/Clients?filter=foo&start=7&count=25");
     IdentityAdminImpl.VerifyQueryClientsAsync("foo", 7, 25);
 }
 public void DeleteClientAsync_CallsIdentityAdmin()
 {
     Delete("api/Clients/123");
     IdentityAdminImpl.VerifyDeleteClientAsync("123");
 }
 public void RemoveClaimAsync_CallsIdentityAdmin()
 {
     Delete("api/Clients/123/claim/123");
     IdentityAdminImpl.VerifyRemoveClaimAsync("123", "123");
 }