コード例 #1
0
            public void RequestsTheCorrectUrl()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new UserAdministrationClient(connection);

                client.Demote("auser");

                connection.Received().Delete(Arg.Is<Uri>(u => u.ToString() == "/users/auser/site_admin"));
            }
コード例 #2
0
            public void RequestsTheCorrectUrl()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new UserAdministrationClient(connection);

                var expectedUri = "admin/users/auser";
                client.Rename("auser", new UserRename());

                connection.Received().Patch<UserRenameResponse>(
                    Arg.Is<Uri>(u => u.ToString() == expectedUri),
                    Arg.Any<object>());
            }
コード例 #3
0
            public void RequestsTheCorrectUrl()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new UserAdministrationClient(connection);

                var expectedUri = "admin/users";
                client.Create(new NewUser("name", "*****@*****.**"));

                connection.Received().Post<User>(
                    Arg.Is<Uri>(u => u.ToString() == expectedUri),
                    Arg.Any<object>());
            }
コード例 #4
0
            public void PassesRequestObject()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new UserAdministrationClient(connection);

                client.Create(new NewUser("name", "*****@*****.**"));

                connection.Received().Post<User>(
                    Arg.Any<Uri>(),
                    Arg.Is<NewUser>(a =>
                        a.Login == "name" &&
                        a.Email == "*****@*****.**"));
            }
コード例 #5
0
            public void PassesRequestObject()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new UserAdministrationClient(connection);

                client.Rename("auser", new UserRename("newlogin"));

                connection.Received().Patch<UserRenameResponse>(
                    Arg.Any<Uri>(),
                    Arg.Is<UserRename>(a =>
                        a.Login == "newlogin"));
            }
コード例 #6
0
 public async Task EnsuresNonEmptyString()
 {
     var client = new UserAdministrationClient(Substitute.For<IApiConnection>());
     var exception = await Assert.ThrowsAsync<ArgumentException>(() => client.Rename("", new UserRename()));
     Assert.Equal("login", exception.ParamName);
 }
コード例 #7
0
 public async Task EnsuresNonNullArguments()
 {
     var client = new UserAdministrationClient(Substitute.For<IApiConnection>());
     await Assert.ThrowsAsync<ArgumentNullException>(() => client.Rename(null, new UserRename("newlogin")));
     await Assert.ThrowsAsync<ArgumentNullException>(() => client.Rename("login", null));
 }
コード例 #8
0
            public void RequestsTheCorrectUrl()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new UserAdministrationClient(connection);

                var expectedUri = "admin/keys/1";
                client.DeletePublicKey(1);

                connection.Connection.Received().Delete(
                    Arg.Is<Uri>(u => u.ToString() == expectedUri));
            }
コード例 #9
0
            public void RequestsTheCorrectUrl()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new UserAdministrationClient(connection);

                var expectedUri = "users/auser/suspended";
                client.Unsuspend("auser");

                connection.Received().Delete(
                    Arg.Is<Uri>(u => u.ToString() == expectedUri));
            }
コード例 #10
0
 public async Task EnsuresNonNullArguments()
 {
     var client = new UserAdministrationClient(Substitute.For<IApiConnection>());
     await Assert.ThrowsAsync<ArgumentNullException>(() => client.Unsuspend(null));
 }
コード例 #11
0
            public void RequestsTheCorrectUrl()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new UserAdministrationClient(connection);

                var expectedUri = "admin/users/auser/authorizations";
                client.DeleteImpersonationToken("auser");

                connection.Connection.Received().Delete(
                    Arg.Is<Uri>(u => u.ToString() == expectedUri));
            }
コード例 #12
0
            public void PassesRequestObject()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new UserAdministrationClient(connection);

                string[] scopes = new string[] { "public-repo" };
                client.CreateImpersonationToken("auser", new NewImpersonationToken(scopes));

                connection.Received().Post<Authorization>(
                    Arg.Any<Uri>(),
                    Arg.Is<NewImpersonationToken>(a =>
                        a.Scopes.Count() == scopes.Length &&
                        a.Scopes.ToList().All(s => scopes.Contains(s)) &&
                        scopes.ToList().All(s => a.Scopes.Contains(s))));
            }
コード例 #13
0
            public void RequestsTheCorrectUrl()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new UserAdministrationClient(connection);

                var expectedUri = "admin/users/auser/authorizations";

                client.CreateImpersonationToken("auser", new NewImpersonationToken());

                connection.Received().Post<Authorization>(
                    Arg.Is<Uri>(u => u.ToString() == expectedUri),
                    Arg.Any<object>());
            }
コード例 #14
0
 public async Task EnsuresNonNullArguments()
 {
     var client = new UserAdministrationClient(Substitute.For<IApiConnection>());
     await Assert.ThrowsAsync<ArgumentNullException>(() => client.CreateImpersonationToken(null, new NewImpersonationToken()));
     await Assert.ThrowsAsync<ArgumentNullException>(() => client.CreateImpersonationToken("login", null));
 }
コード例 #15
0
            public void RequestsTheCorrectUrl()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new UserAdministrationClient(connection);

                client.Suspend("auser");

                connection.Received().Put(Arg.Is<Uri>(u => u.ToString() == "/users/auser/suspended"));
            }
コード例 #16
0
 public async Task EnsuresNonNullArguments()
 {
     var client = new UserAdministrationClient(Substitute.For <IApiConnection>());
     await Assert.ThrowsAsync <ArgumentNullException>(() => client.Promote(null));
 }