public void GetUser_Builds_Correct_Uri(AuthenticationDomain domain)
        {
            var expextedRequestPath = string.Format(
                "http://localhost:8091/settings/rbac/users/{0}/alice",
                domain == AuthenticationDomain.Local ? "local" : "external"
                );

            var handler = FakeHttpMessageHandler.Create(request =>
            {
                Assert.AreEqual(expextedRequestPath, request.RequestUri.OriginalString);
                Assert.AreEqual(HttpMethod.Get, request.Method);
                var response = new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StringContent("")
                };
                return(response);
            });
            var client           = new HttpClient(handler);
            var clientConfig     = new ClientConfiguration();
            var serverConfigMock = new Mock <IServerConfig>();
            var dataMapper       = new JsonDataMapper(clientConfig);

            var manager = new ClusterManager(clientConfig, serverConfigMock.Object, dataMapper, client, "username", "password");

            manager.GetUser(domain, "alice");
        }
        public void Should_Hydrate_Poco_In_PascalCase_Whatever_The_Case_In_Json()
        {
            const string jsonData = "{ \"SomeProperty\": \"SOME\", \"someIntProperty\": 12345, \"haspAscalCASE\": true }";
            var mapper = new JsonDataMapper(new ClientConfiguration());
            var hydrated = mapper.Map<Pascal>(new MemoryStream(Encoding.UTF8.GetBytes(jsonData)));

            Assert.AreEqual("SOME", hydrated.SomeProperty);
            Assert.AreEqual(12345, hydrated.SomeIntProperty);
            Assert.AreEqual(true, hydrated.HasPascalCase);
        }
        public void Should_Hydrate_Poco_In_PascalCase_Whatever_The_Case_In_Json()
        {
            const string jsonData = "{ \"SomeProperty\": \"SOME\", \"someIntProperty\": 12345, \"haspAscalCASE\": true }";
            var          mapper   = new JsonDataMapper(new ClientConfiguration());
            var          hydrated = mapper.Map <Pascal>(new MemoryStream(Encoding.UTF8.GetBytes(jsonData)));

            Assert.AreEqual("SOME", hydrated.SomeProperty);
            Assert.AreEqual(12345, hydrated.SomeIntProperty);
            Assert.AreEqual(true, hydrated.HasPascalCase);
        }
Exemplo n.º 4
0
        public void RemoveUser_Returns_True_When_Response_Is_Success(HttpStatusCode responseHttpCode, bool expectedResult)
        {
            var handler          = FakeHttpMessageHandler.Create(request => new HttpResponseMessage(responseHttpCode));
            var client           = new HttpClient(handler);
            var clientConfig     = new ClientConfiguration();
            var serverConfigMock = new Mock <IServerConfig>();
            var dataMapper       = new JsonDataMapper(clientConfig);

            var manager = new ClusterManager(clientConfig, serverConfigMock.Object, dataMapper, client, "username", "password");
            var result  = manager.RemoveUser("alice");

            Assert.AreEqual(expectedResult, result.Success);
        }
Exemplo n.º 5
0
        public void UpsertUser_Returns_True_When_Response_Is_Success(HttpStatusCode responseHttpCode)
        {
            var handler          = FakeHttpMessageHandler.Create(request => new HttpResponseMessage(responseHttpCode));
            var client           = new HttpClient(handler);
            var clientConfig     = new ClientConfiguration();
            var serverConfigMock = new Mock <IServerConfig>();
            var dataMapper       = new JsonDataMapper(clientConfig);

            var manager = new ClusterManager(clientConfig, serverConfigMock.Object, dataMapper, client, "username", "password");
            var result  = manager.UpsertUser("alice", "secure123", "Alice Liddell", new Role {
                Name = "Admin"
            });

            Assert.AreEqual(responseHttpCode == HttpStatusCode.OK, result.Success);
        }
        public void RemoveUser_Builds_Correct_Uri()
        {
            const string expectedFormValueString = "http://localhost:8091/settings/rbac/users/local/alice";

            var handler = FakeHttpMessageHandler.Create(request =>
            {
                Assert.AreEqual(expectedFormValueString, request.RequestUri.OriginalString);
                Assert.AreEqual(HttpMethod.Delete, request.Method);
                return(new HttpResponseMessage(HttpStatusCode.OK));
            });
            var client           = new HttpClient(handler);
            var clientConfig     = new ClientConfiguration();
            var serverConfigMock = new Mock <IServerConfig>();
            var dataMapper       = new JsonDataMapper(clientConfig);

            var manager = new ClusterManager(clientConfig, serverConfigMock.Object, dataMapper, client, "username", "password");

            manager.RemoveUser(AuthenticationDomain.Local, "alice");
        }
        public void UpsertUser_Formats_FormValues(string name, string expectedFormValueString)
        {
            var handler = FakeHttpMessageHandler.Create(request =>
            {
                Assert.AreEqual(expectedFormValueString, request.Content.ReadAsStringAsync().Result);
                return(new HttpResponseMessage(HttpStatusCode.OK));
            });
            var client           = new HttpClient(handler);
            var clientConfig     = new ClientConfiguration();
            var serverConfigMock = new Mock <IServerConfig>();
            var dataMapper       = new JsonDataMapper(clientConfig);

            var manager = new ClusterManager(clientConfig, serverConfigMock.Object, dataMapper, client, "username", "password");

            manager.UpsertUser(AuthenticationDomain.Local, "alice", "secure123", name, new Role {
                Name = "Admin"
            }, new Role {
                Name = "BucketManager", BucketName = "default"
            });
        }
        public void GetUser_Returns_Users_When_Response_Is_Success(HttpStatusCode responseHttpCode)
        {
            var user = new User
            {
                Username = "******",
                Name     = "Alice Liddell",
                Domain   = "local",
                Roles    = new List <Role> {
                    new Role {
                        Name = "Admin"
                    }
                }
            };

            var handler = FakeHttpMessageHandler.Create(
                request => new HttpResponseMessage(responseHttpCode)
            {
                Content = new StringContent(JsonConvert.SerializeObject(user))
            }
                );
            var client           = new HttpClient(handler);
            var clientConfig     = new ClientConfiguration();
            var serverConfigMock = new Mock <IServerConfig>();
            var dataMapper       = new JsonDataMapper(clientConfig);

            var manager = new ClusterManager(clientConfig, serverConfigMock.Object, dataMapper, client, "username", "password");
            var result  = manager.GetUser(AuthenticationDomain.Local, user.Username);

            if (responseHttpCode == HttpStatusCode.OK)
            {
                Assert.IsTrue(result.Success);
                Assert.AreEqual(user.Username, result.Value.Username);
                Assert.AreEqual(user.Name, result.Value.Name);
                Assert.AreEqual("local", result.Value.Domain);
            }
            else
            {
                Assert.IsFalse(result.Success);
                Assert.IsNull(result.Value);
            }
        }
Exemplo n.º 9
0
        public void UpsertUser_Formats_FormValues()
        {
            const string expectedFormValueString = "password=secure123&name=Alice+Liddell&roles=Admin%2CBucketManager%5Bdefault%5D";

            var handler = FakeHttpMessageHandler.Create(request =>
            {
                Assert.AreEqual(expectedFormValueString, request.Content.ReadAsStringAsync().Result);
                return(new HttpResponseMessage(HttpStatusCode.OK));
            });
            var client           = new HttpClient(handler);
            var clientConfig     = new ClientConfiguration();
            var serverConfigMock = new Mock <IServerConfig>();
            var dataMapper       = new JsonDataMapper(clientConfig);

            var manager = new ClusterManager(clientConfig, serverConfigMock.Object, dataMapper, client, "username", "password");

            manager.UpsertUser("alice", "secure123", "Alice Liddell", new Role {
                Name = "Admin"
            }, new Role {
                Name = "BucketManager", BucketName = "default"
            });
        }
Exemplo n.º 10
0
        public void GetUsers_Builds_Correct_Uri()
        {
            const string expectedFormValueString = "http://localhost:8091/settings/rbac/users";

            var handler = FakeHttpMessageHandler.Create(request =>
            {
                Assert.AreEqual(expectedFormValueString, request.RequestUri.OriginalString);
                Assert.AreEqual(HttpMethod.Get, request.Method);
                var response = new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StringContent("")
                };
                return(response);
            });
            var client           = new HttpClient(handler);
            var clientConfig     = new ClientConfiguration();
            var serverConfigMock = new Mock <IServerConfig>();
            var dataMapper       = new JsonDataMapper(clientConfig);

            var manager = new ClusterManager(clientConfig, serverConfigMock.Object, dataMapper, client, "username", "password");

            manager.GetUsers();
        }
Exemplo n.º 11
0
        public void UpsertUser_Builds_Correct_Uri()
        {
            const string expectedFormValueString = "http://localhost:8091/settings/rbac/users/local/alice";

            var handler = FakeHttpMessageHandler.Create(request =>
            {
                Assert.AreEqual(expectedFormValueString, request.RequestUri.OriginalString);
                Assert.AreEqual(HttpMethod.Put, request.Method);
                return(new HttpResponseMessage(HttpStatusCode.OK));
            });
            var client           = new HttpClient(handler);
            var clientConfig     = new ClientConfiguration();
            var serverConfigMock = new Mock <IServerConfig>();
            var dataMapper       = new JsonDataMapper(clientConfig);

            var manager = new ClusterManager(clientConfig, serverConfigMock.Object, dataMapper, client, "username", "password");

            manager.UpsertUser("alice", "secure123", "Alice Liddell", new Role {
                Name = "Admin"
            }, new Role {
                Name = "BucketManager", BucketName = "default"
            });
        }
        public void GetUsers_Returns_Users_When_Response_Is_Success(HttpStatusCode responseHttpCode)
        {
            var expectedUsers = new List <User>
            {
                new User
                {
                    Username = "******",
                    Name     = "Alice Liddell",
                    Domain   = "builtin",
                    Roles    = new List <Role> {
                        new Role {
                            Name = "Admin"
                        }
                    }
                },
                new User
                {
                    Username = "******",
                    Name     = "White Rabbit",
                    Domain   = "builtin",
                    Roles    = new List <Role> {
                        new Role {
                            Name = "BucketManager", BucketName = "default"
                        }
                    }
                },
                new User
                {
                    Username = "******",
                    Name     = "Mad Hatter",
                    Domain   = "builtin",
                    Roles    = new List <Role> {
                        new Role {
                            Name = "FTSAdmin"
                        }
                    }
                }
            };

            var handler = FakeHttpMessageHandler.Create(
                request => new HttpResponseMessage(responseHttpCode)
            {
                Content = new StringContent(JsonConvert.SerializeObject(expectedUsers))
            }
                );
            var client           = new HttpClient(handler);
            var clientConfig     = new ClientConfiguration();
            var serverConfigMock = new Mock <IServerConfig>();
            var dataMapper       = new JsonDataMapper(clientConfig);

            var manager = new ClusterManager(clientConfig, serverConfigMock.Object, dataMapper, client, "username", "password");
            var result  = manager.GetUsers(AuthenticationDomain.Local);

            if (responseHttpCode == HttpStatusCode.OK)
            {
                Assert.IsTrue(result.Success);
                Assert.AreEqual(expectedUsers.Count, result.Value.Count());
            }
            else
            {
                Assert.IsFalse(result.Success);
                Assert.IsNull(result.Value);
            }
        }