public void EnsuresNonNullArguments()
            {
                var github = Substitute.For <IGitHubClient>();
                var client = new ObservableTeamsClient(github);

                Assert.Throws <ArgumentNullException>(() => client.GetMembershipDetails(1, null));

                Assert.Throws <ArgumentException>(() => client.GetMembershipDetails(1, ""));
            }
Ejemplo n.º 2
0
            public void EnsuresNotNullAndNonEmptyArguments()
            {
                var github = Substitute.For <IGitHubClient>();
                var client = new ObservableTeamsClient(github);

                Assert.ThrowsAsync <ArgumentNullException>(() => client.Create("shield", null).ToTask());
                Assert.ThrowsAsync <ArgumentNullException>(() => client.Create(null, new NewTeam("avengers")).ToTask());
                Assert.ThrowsAsync <ArgumentException>(() => client.Create("", new NewTeam("avengers")).ToTask());
            }
            public void RequestsTheCorrectUrl()
            {
                var github = Substitute.For <IGitHubClient>();
                var client = new ObservableTeamsClient(github);

                client.GetMembershipDetails(1, "user");

                github.Organization.Team.Received().GetMembershipDetails(1, "user");
            }
            public async Task RequestsTheCorrectUrl()
            {
                var github  = Substitute.For <IGitHubClient>();
                var client  = new ObservableTeamsClient(github);
                var request = new UpdateTeamMembership(TeamRole.Maintainer);

                client.AddOrEditMembership(1, "user", request);

                github.Organization.Team.Received().AddOrEditMembership(1, "user", request);
            }
Ejemplo n.º 5
0
            public void PostsToCorrectUrl()
            {
                var team   = new NewTeam("avengers");
                var github = Substitute.For <IGitHubClient>();
                var client = new ObservableTeamsClient(github);

                client.Create("shield", team);

                github.Organization.Team.Received().Create("shield", team);
            }
Ejemplo n.º 6
0
        public async Task GetsAllMembersWhenAuthenticated()
        {
            var github = Helper.GetAuthenticatedClient();

            var client = new ObservableTeamsClient(github);

            var member = await client.GetMembers(team.Id);

            Assert.Equal(Helper.UserName, member.Login);
        }
            public async Task EnsuresNonNullOrEmptyArguments()
            {
                var github  = Substitute.For <IGitHubClient>();
                var client  = new ObservableTeamsClient(github);
                var request = new UpdateTeamMembership(TeamRole.Maintainer);

                Assert.Throws <ArgumentNullException>(() => client.AddOrEditMembership(1, null, request));
                Assert.Throws <ArgumentNullException>(() => client.AddOrEditMembership(1, "user", null));

                Assert.Throws <ArgumentException>(() => client.AddOrEditMembership(1, "", request));
            }
        public async Task GetsAllMembersWhenAuthenticated()
        {
            var github = Helper.GetAuthenticatedClient();
            var client = new ObservableTeamsClient(github);

            var observable = client.GetAllMembers(_team.Id, ApiOptions.None);
            var members    = await observable.ToList();

            Assert.True(members.Count > 0);
            Assert.True(members.Any(x => x.Login == Helper.UserName));
        }
Ejemplo n.º 9
0
            public void RequestsTheCorrectUrl()
            {
                var github = Substitute.For <IGitHubClient>();
                var client = new ObservableTeamsClient(github);

                client.GetAllMembers(1);

                github.Connection.Received().Get <List <User> >(
                    Arg.Is <Uri>(u => u.ToString() == "teams/1/members"),
                    Arg.Any <Dictionary <string, string> >(),
                    null);
            }
            public void RequestsTheCorrectUrl()
            {
                var gitHub = Substitute.For <IGitHubClient>();
                var client = new ObservableTeamsClient(gitHub);

                client.GetAllPendingInvitations(1);

                gitHub.Connection.Received().GetAndFlattenAllPages <OrganizationMembershipInvitation>(
                    Arg.Is <Uri>(u => u.ToString() == "teams/1/invitations"),
                    Args.EmptyDictionary,
                    "application/vnd.github.korra-preview+json");
            }
            public void RequestsTheCorrectUrlWithRequest()
            {
                var github = Substitute.For <IGitHubClient>();
                var client = new ObservableTeamsClient(github);

                client.GetAllMembers(1, new TeamMembersRequest(TeamRoleFilter.Maintainer));

                github.Connection.Received().Get <List <User> >(
                    Arg.Is <Uri>(u => u.ToString() == "teams/1/members"),
                    Arg.Is <Dictionary <string, string> >(d => d["role"] == "maintainer"),
                    "application/vnd.github.hellcat-preview+json");
            }
            public void RequestsTheCorrectUrl()
            {
                var github = Substitute.For <IGitHubClient>();
                var client = new ObservableTeamsClient(github);

                client.GetAllMembers(1);

                github.Connection.Received().Get <List <User> >(
                    Arg.Is <Uri>(u => u.ToString() == "teams/1/members"),
                    Args.EmptyDictionary,
                    "application/vnd.github.hellcat-preview+json");
            }
            public void EnsuresNonNullArguments()
            {
                var github = Substitute.For <IGitHubClient>();
                var client = new ObservableTeamsClient(github);

                Assert.Throws <ArgumentNullException>(() => client.GetAllMembers(1, (TeamMembersRequest)null));

                Assert.Throws <ArgumentNullException>(() => client.GetAllMembers(1, (ApiOptions)null));

                Assert.Throws <ArgumentNullException>(() => client.GetAllMembers(1, null, ApiOptions.None));
                Assert.Throws <ArgumentNullException>(() => client.GetAllMembers(1, new TeamMembersRequest(TeamRoleFilter.All), null));
            }
Ejemplo n.º 14
0
            public void RequestsTheCorrectUrl()
            {
                var gitHub = Substitute.For <IGitHubClient>();
                var client = new ObservableTeamsClient(gitHub);

                client.GetAllChildTeams(1);

                gitHub.Connection.Received().Get <List <Team> >(
                    Arg.Is <Uri>(u => u.ToString() == "teams/1/teams"),
                    Args.EmptyDictionary,
                    null);
            }
        public async Task GetsAllMembersWhenAuthenticated()
        {
            var github = new GitHubClient(new ProductHeaderValue("OctokitTests"))
            {
                Credentials = Helper.Credentials
            };

            var client = new ObservableTeamsClient(github);

            var member = await client.GetMembers(team.Id);

            Assert.Equal(Helper.UserName, member.Login);
        }
        public async Task GetsAllRepositories()
        {
            var github = Helper.GetAuthenticatedClient();
            var client = new ObservableTeamsClient(github);

            using (var repositoryContext = await github.CreateRepositoryContext(Helper.Organization, new NewRepository(Helper.MakeNameWithTimestamp("teamrepo"))))
            {
                client.AddRepository(_team.Id, Helper.Organization, repositoryContext.RepositoryName);

                var observable = client.GetAllRepositories(_team.Id, ApiOptions.None);
                var repos      = await observable.ToList();

                Assert.True(repos.Count() > 0);
                Assert.NotNull(repos[0].Permissions);
            }
        }
            public void RequestsTheCorrectUrlWithApiOptions()
            {
                var gitHub = Substitute.For<IGitHubClient>();
                var client = new ObservableTeamsClient(gitHub);
                var options = new ApiOptions
                {
                    PageCount = 1,
                    PageSize = 1,
                    StartPage = 1
                };
                client.GetAllPendingInvitations(1, options);

                gitHub.Connection.Received().GetAndFlattenAllPages<OrganizationMembershipInvitation>(
                    Arg.Is<Uri>(u => u.ToString() == "teams/1/invitations"),
                    Arg.Is<Dictionary<string, string>>(d => d.Count == 2),
                    "application/vnd.github.korra-preview+json");
            }
            public void RequestsTheCorrectUrlWithApiOptions()
            {
                var gitHub  = Substitute.For <IGitHubClient>();
                var client  = new ObservableTeamsClient(gitHub);
                var options = new ApiOptions
                {
                    PageCount = 1,
                    PageSize  = 1,
                    StartPage = 1
                };

                client.GetAllChildTeams(1, options);

                gitHub.Connection.Received().Get <List <Team> >(
                    Arg.Is <Uri>(u => u.ToString() == "teams/1/teams"),
                    Arg.Is <IDictionary <string, string> >(dictionary => dictionary.Count == 2),
                    "application/vnd.github.hellcat-preview+json");
            }
            public void EnsuresNonNullArguments()
            {
                var client = new ObservableTeamsClient(Substitute.For <IGitHubClient>());

                Assert.Throws <ArgumentNullException>(() => client.GetAllPendingInvitations(1, null));
            }