public async Task EnsuresNonNullArguments() { var client = new IssuesClient(Substitute.For<IApiConnection>()); await AssertEx.Throws<ArgumentNullException>(async () => await client.Get(null, "name", 1)); await AssertEx.Throws<ArgumentNullException>(async () => await client.Get("owner", null, 1)); }
public void RequestsCorrectUrl() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); client.GetAllForOwnedAndMemberRepositories(); connection.Received().GetAll<Issue>(Arg.Is<Uri>(u => u.ToString() == "user/issues"), Arg.Any<Dictionary<string, string>>()); }
public void RequestsCorrectUrl() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); client.Get("fake", "repo", 42); connection.Received().Get<Issue>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/issues/42"), null); }
public void PostsToCorrectUrl() { var newIssue = new NewIssue("some title"); var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); client.Create("fake", "repo", newIssue); connection.Received().Post<Issue>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/issues"), newIssue); }
public void SendsAppropriateParameters() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); client.GetAllForCurrent(new IssueRequest { SortDirection = SortDirection.Ascending }); connection.Received().GetAll<Issue>(Arg.Is<Uri>(u => u.ToString() == "issues"), Arg.Is<Dictionary<string, string>>(d => d.Count == 4 && d["filter"] == "assigned" && d["sort"] == "created" && d["state"] == "open" && d["direction"] == "asc")); }
/// <summary> /// Create a new instance of the GitHub API v3 client using the specified connection. /// </summary> /// <param name="connection">The underlying <seealso cref="IConnection"/> used to make requests.</param> public GitHubClient(IConnection connection) { Ensure.ArgumentNotNull(connection, "connection"); Connection = connection; var apiConnection = new ApiConnection(connection); Authorization = new AuthorizationsClient(apiConnection); Issue = new IssuesClient(apiConnection); Miscellaneous = new MiscellaneousClient(connection); Notification = new NotificationsClient(apiConnection); Organization = new OrganizationsClient(apiConnection); Repository = new RepositoriesClient(apiConnection); Release = new ReleasesClient(apiConnection); User = new UsersClient(apiConnection); SshKey = new SshKeysClient(apiConnection); }
public async Task EnsuresArgumentsNotNull() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); AssertEx.Throws<ArgumentNullException>(async () => await client.Create(null, "name", new NewIssue("title"))); AssertEx.Throws<ArgumentException>(async () => await client.Create("", "name", new NewIssue("x"))); AssertEx.Throws<ArgumentNullException>(async () => await client.Create("owner", null, new NewIssue("x"))); AssertEx.Throws<ArgumentException>(async () => await client.Create("owner", "", new NewIssue("x"))); AssertEx.Throws<ArgumentNullException>(async () => await client.Create("owner", "name", null)); }
/// <summary> /// Create a new instance of the GitHub API v3 client using the specified connection. /// </summary> /// <param name="connection">The underlying <seealso cref="IConnection"/> used to make requests</param> public GitHubClient(IConnection connection) { Ensure.ArgumentNotNull(connection, "connection"); Connection = connection; var apiConnection = new ApiConnection(connection); Authorization = new AuthorizationsClient(apiConnection); Activity = new ActivitiesClient(apiConnection); Issue = new IssuesClient(apiConnection); Miscellaneous = new MiscellaneousClient(connection); Notification = new NotificationsClient(apiConnection); Organization = new OrganizationsClient(apiConnection); Repository = new RepositoriesClient(apiConnection); Gist = new GistsClient(apiConnection); Release = new ReleasesClient(apiConnection); User = new UsersClient(apiConnection); SshKey = new SshKeysClient(apiConnection); GitDatabase = new GitDatabaseClient(apiConnection); Search = new SearchClient(apiConnection); Deployment = new DeploymentsClient(apiConnection); }
/// <summary> /// Create a new instance of the GitHub API v3 client using the specified connection. /// </summary> /// <param name="connection">The underlying <seealso cref="IConnection"/> used to make requests</param> public GitHubClient(IConnection connection) { Ensure.ArgumentNotNull(connection, nameof(connection)); Connection = connection; var apiConnection = new ApiConnection(connection); Activity = new ActivitiesClient(apiConnection); Authorization = new AuthorizationsClient(apiConnection); Enterprise = new EnterpriseClient(apiConnection); Gist = new GistsClient(apiConnection); Git = new GitDatabaseClient(apiConnection); Issue = new IssuesClient(apiConnection); Migration = new MigrationClient(apiConnection); Miscellaneous = new MiscellaneousClient(connection); Oauth = new OauthClient(connection); Organization = new OrganizationsClient(apiConnection); PullRequest = new PullRequestsClient(apiConnection); Repository = new RepositoriesClient(apiConnection); Search = new SearchClient(apiConnection); User = new UsersClient(apiConnection); Reaction = new ReactionsClient(apiConnection); }
/// <summary> /// Create a new instance of the GitHub API v3 client using the specified connection. /// </summary> /// <param name="connection">The underlying <seealso cref="IConnection"/> used to make requests</param> public GitHubClient(IConnection connection) { Ensure.ArgumentNotNull(connection, "connection"); Connection = connection; var apiConnection = new ApiConnection(connection); Activity = new ActivitiesClient(apiConnection); Authorization = new AuthorizationsClient(apiConnection); Deployment = new DeploymentsClient(apiConnection); Enterprise = new EnterpriseClient(apiConnection); Gist = new GistsClient(apiConnection); Git = new GitDatabaseClient(apiConnection); Issue = new IssuesClient(apiConnection); Migration = new MigrationClient(apiConnection); Miscellaneous = new MiscellaneousClient(connection); Oauth = new OauthClient(connection); Organization = new OrganizationsClient(apiConnection); PullRequest = new PullRequestsClient(apiConnection); Repository = new RepositoriesClient(apiConnection); Search = new SearchClient(apiConnection); User = new UsersClient(apiConnection); Reaction = new ReactionsClient(apiConnection); }
public void RequestsCorrectUrl() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); client.GetForRepository("fake", "repo"); connection.Received().GetAll<Issue>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/issues"), Arg.Any<Dictionary<string, string>>()); }
public void PostsToCorrectUrl() { var issueUpdate = new IssueUpdate(); var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); client.Update("fake", "repo", 42, issueUpdate); connection.Received().Patch<Issue>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/issues/42"), issueUpdate); }
public async Task EnsuresArgumentsNotNull() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); AssertEx.Throws<ArgumentNullException>(async () => await client.GetForRepository(null, "name", new RepositoryIssueRequest())); AssertEx.Throws<ArgumentException>(async () => await client.GetForRepository("", "name", new RepositoryIssueRequest())); AssertEx.Throws<ArgumentNullException>(async () => await client.GetForRepository("owner", null, new RepositoryIssueRequest())); AssertEx.Throws<ArgumentException>(async () => await client.GetForRepository("owner", "", new RepositoryIssueRequest())); AssertEx.Throws<ArgumentNullException>(async () => await client.GetForRepository("owner", "name", null)); }