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, "")); }
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); }
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); }
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)); }
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)); }
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)); }