using System; using System.Collections.Generic; using System.Threading.Tasks; using NSubstitute; using Octokit.Reactive; using Xunit; namespace Octokit.Tests.Reactive { public class ObservableActionsWorkflowRunsClientTests { public class TheCtor { [Fact] public void EnsuresNonNullArguments() { Assert.Throws(() => new ObservableActionsWorkflowRunsClient(null)); } } public class TheApproveMethod { [Fact] public async Task CallsApproveOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.Approve("fake", "repo", 123); connection.Received().Actions.Workflows.Runs.Approve("fake", "repo", 123); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.Approve(null, "repo", 123)); Assert.Throws(() => client.Approve("fake", null, 123)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.Approve("", "repo", 123)); Assert.Throws(() => client.Approve("fake", "", 123)); } } public class TheCancelMethod { [Fact] public async Task CallsCancelOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.Cancel("fake", "repo", 123); connection.Received().Actions.Workflows.Runs.Cancel("fake", "repo", 123); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.Cancel(null, "repo", 123)); Assert.Throws(() => client.Cancel("fake", null, 123)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.Cancel("", "repo", 123)); Assert.Throws(() => client.Cancel("fake", "", 123)); } } public class TheDeleteMethod { [Fact] public async Task CallsDeleteOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.Delete("fake", "repo", 123); connection.Received().Actions.Workflows.Runs.Delete("fake", "repo", 123); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.Delete(null, "repo", 123)); Assert.Throws(() => client.Delete("fake", null, 123)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.Delete("", "repo", 123)); Assert.Throws(() => client.Delete("fake", "", 123)); } } public class TheDeleteLogsMethod { [Fact] public async Task CallsDeleteLogsOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.DeleteLogs("fake", "repo", 123); connection.Received().Actions.Workflows.Runs.DeleteLogs("fake", "repo", 123); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.DeleteLogs(null, "repo", 123)); Assert.Throws(() => client.DeleteLogs("fake", null, 123)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.DeleteLogs("", "repo", 123)); Assert.Throws(() => client.DeleteLogs("fake", "", 123)); } } public class TheListMethod { [Fact] public async Task CallsListOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.List("fake", "repo"); connection.Received().Actions.Workflows.Runs.List("fake", "repo"); } [Fact] public async Task CallsListOnClientWithRequest() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var request = new WorkflowRunsRequest(); client.List("fake", "repo", request); connection.Received().Actions.Workflows.Runs.List("fake", "repo", request); } [Fact] public async Task CallsListOnClientWithRequestWithOptions() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var request = new WorkflowRunsRequest(); var options = new ApiOptions(); client.List("fake", "repo", request, options); connection.Received().Actions.Workflows.Runs.List("fake", "repo", request, options); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var request = new WorkflowRunsRequest(); var options = new ApiOptions(); Assert.Throws(() => client.List(null, "repo")); Assert.Throws(() => client.List("fake", null)); Assert.Throws(() => client.List(null, "repo", request)); Assert.Throws(() => client.List("fake", null, request)); Assert.Throws(() => client.List("fake", "repo", null)); Assert.Throws(() => client.List(null, "repo", request, options)); Assert.Throws(() => client.List("fake", null, request, options)); Assert.Throws(() => client.List("fake", "repo", null, options)); Assert.Throws(() => client.List("fake", "repo", request, null)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var request = new WorkflowRunsRequest(); var options = new ApiOptions(); Assert.Throws(() => client.List("", "repo")); Assert.Throws(() => client.List("fake", "")); Assert.Throws(() => client.List("", "repo", request)); Assert.Throws(() => client.List("fake", "", request)); Assert.Throws(() => client.List("", "repo", request, options)); Assert.Throws(() => client.List("fake", "", request, options)); } } public class TheGetMethod { [Fact] public async Task CallsGetOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.Get("fake", "repo", 123); connection.Received().Actions.Workflows.Runs.Get("fake", "repo", 123); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.Get(null, "repo", 123)); Assert.Throws(() => client.Get("fake", null, 123)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.Get("", "repo", 123)); Assert.Throws(() => client.Get("fake", "", 123)); } } public class TheGetLogsMethod { [Fact] public async Task CallsGetLogsOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.GetLogs("fake", "repo", 123); connection.Received().Actions.Workflows.Runs.GetLogs("fake", "repo", 123); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.GetLogs(null, "repo", 123)); Assert.Throws(() => client.GetLogs("fake", null, 123)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.GetLogs("", "repo", 123)); Assert.Throws(() => client.GetLogs("fake", "", 123)); } } public class TheGetAttemptMethod { [Fact] public async Task CallsGetAttemptOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.GetAttempt("fake", "repo", 123, 456); connection.Received().Actions.Workflows.Runs.GetAttempt("fake", "repo", 123, 456); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.GetAttempt(null, "repo", 123, 456)); Assert.Throws(() => client.GetAttempt("fake", null, 123, 456)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.GetAttempt("", "repo", 123, 456)); Assert.Throws(() => client.GetAttempt("fake", "", 123, 456)); } } public class TheGetAttemptLogsMethod { [Fact] public async Task CallsGetAttemptLogsOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.GetAttemptLogs("fake", "repo", 123, 456); connection.Received().Actions.Workflows.Runs.GetAttemptLogs("fake", "repo", 123, 456); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.GetAttemptLogs(null, "repo", 123, 456)); Assert.Throws(() => client.GetAttemptLogs("fake", null, 123, 456)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.GetAttemptLogs("", "repo", 123, 456)); Assert.Throws(() => client.GetAttemptLogs("fake", "", 123, 456)); } } public class TheGetReviewHistoryMethod { [Fact] public async Task CallsGetReviewHistoryOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.GetReviewHistory("fake", "repo", 123); connection.Connection.Received().Get>(Arg.Is(u => u.ToString() == "repos/fake/repo/actions/runs/123/approvals"), null); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.GetReviewHistory(null, "repo", 123)); Assert.Throws(() => client.GetReviewHistory("fake", null, 123)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.GetReviewHistory("", "repo", 123)); Assert.Throws(() => client.GetReviewHistory("fake", "", 123)); } } public class TheGetUsageMethod { [Fact] public async Task CallsGetUsageOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.GetUsage("fake", "repo", 123); connection.Received().Actions.Workflows.Runs.GetUsage("fake", "repo", 123); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.GetUsage(null, "repo", 123)); Assert.Throws(() => client.GetUsage("fake", null, 123)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.GetUsage("", "repo", 123)); Assert.Throws(() => client.GetUsage("fake", "", 123)); } } public class TheRerunMethod { [Fact] public async Task CallsRerunOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.Rerun("fake", "repo", 123); connection.Received().Actions.Workflows.Runs.Rerun("fake", "repo", 123); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.Rerun(null, "repo", 123)); Assert.Throws(() => client.Rerun("fake", null, 123)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.Rerun("", "repo", 123)); Assert.Throws(() => client.Rerun("fake", "", 123)); } } public class TheRerunFailedJobsMethod { [Fact] public async Task CallsRerunFailedJobsOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.RerunFailedJobs("fake", "repo", 123); connection.Received().Actions.Workflows.Runs.RerunFailedJobs("fake", "repo", 123); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.RerunFailedJobs(null, "repo", 123)); Assert.Throws(() => client.RerunFailedJobs("fake", null, 123)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); Assert.Throws(() => client.RerunFailedJobs("", "repo", 123)); Assert.Throws(() => client.RerunFailedJobs("fake", "", 123)); } } public class TheReviewPendingDeploymentsMethod { [Fact] public async Task CallsReviewPendingDeploymentsOnClient() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var review = new PendingDeploymentReview(new[] { 1L }, PendingDeploymentReviewState.Approved, ""); client.ReviewPendingDeployments("fake", "repo", 123, review); connection.Received().Actions.Workflows.Runs.ReviewPendingDeployments("fake", "repo", 123, review); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var review = new PendingDeploymentReview(new[] { 1L }, PendingDeploymentReviewState.Approved, ""); Assert.Throws(() => client.ReviewPendingDeployments(null, "repo", 123, review)); Assert.Throws(() => client.ReviewPendingDeployments("fake", null, 123, review)); Assert.Throws(() => client.ReviewPendingDeployments("fake", "repo", 123, null)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var review = new PendingDeploymentReview(new[] { 1L }, PendingDeploymentReviewState.Approved, ""); Assert.Throws(() => client.ReviewPendingDeployments("", "repo", 123, review)); Assert.Throws(() => client.ReviewPendingDeployments("fake", "", 123, review)); } } public class TheListByWorkflowMethod { [Fact] public async Task CallsListByWorkflowOnClientById() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.ListByWorkflow("fake", "repo", 123); connection.Received().Actions.Workflows.Runs.ListByWorkflow("fake", "repo", 123); } [Fact] public async Task CallsListByWorkflowOnClientByName() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); client.ListByWorkflow("fake", "repo", "main.yml"); connection.Received().Actions.Workflows.Runs.ListByWorkflow("fake", "repo", "main.yml"); } [Fact] public async Task CallsListByWorkflowOnClientByIdWithRequest() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var request = new WorkflowRunsRequest(); client.ListByWorkflow("fake", "repo", 123, request); connection.Received().Actions.Workflows.Runs.ListByWorkflow("fake", "repo", 123, request); } [Fact] public async Task CallsListByWorkflowOnClientByNameWithRequest() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var request = new WorkflowRunsRequest(); client.ListByWorkflow("fake", "repo", "main.yml", request); connection.Received().Actions.Workflows.Runs.ListByWorkflow("fake", "repo", "main.yml", request); } [Fact] public async Task CallsListByWorkflowOnClientByIdWithRequestWithOptions() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var request = new WorkflowRunsRequest(); var options = new ApiOptions(); client.ListByWorkflow("fake", "repo", 123, request, options); connection.Received().Actions.Workflows.Runs.ListByWorkflow("fake", "repo", 123, request, options); } [Fact] public async Task CallsListByWorkflowOnClientByNameWithRequestWithOptions() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var request = new WorkflowRunsRequest(); var options = new ApiOptions(); client.ListByWorkflow("fake", "repo", "main.yml", request, options); connection.Received().Actions.Workflows.Runs.ListByWorkflow("fake", "repo", "main.yml", request, options); } [Fact] public async Task EnsuresNonNullArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var request = new WorkflowRunsRequest(); var options = new ApiOptions(); Assert.Throws(() => client.ListByWorkflow(null, "repo", 123)); Assert.Throws(() => client.ListByWorkflow("fake", null, 123)); Assert.Throws(() => client.ListByWorkflow(null, "repo", "main.yml")); Assert.Throws(() => client.ListByWorkflow("fake", null, "main.yml")); Assert.Throws(() => client.ListByWorkflow("fake", "repo", null)); Assert.Throws(() => client.ListByWorkflow(null, "repo", 123, request)); Assert.Throws(() => client.ListByWorkflow("fake", null, 123, request)); Assert.Throws(() => client.ListByWorkflow("fake", "repo", 123, null)); Assert.Throws(() => client.ListByWorkflow(null, "repo", "main.yml", request)); Assert.Throws(() => client.ListByWorkflow("fake", null, "main.yml", request)); Assert.Throws(() => client.ListByWorkflow("fake", "repo", null, request)); Assert.Throws(() => client.ListByWorkflow("fake", "repo", "main.yml", null)); Assert.Throws(() => client.ListByWorkflow(null, "repo", 123, request, options)); Assert.Throws(() => client.ListByWorkflow("fake", null, 123, request, options)); Assert.Throws(() => client.ListByWorkflow("fake", "repo", 123, null, options)); Assert.Throws(() => client.ListByWorkflow("fake", "repo", 123, request, null)); Assert.Throws(() => client.ListByWorkflow(null, "repo", "main.yml", request, options)); Assert.Throws(() => client.ListByWorkflow("fake", null, "main.yml", request, options)); Assert.Throws(() => client.ListByWorkflow("fake", "repo", null, request, options)); Assert.Throws(() => client.ListByWorkflow("fake", "repo", "main.yml", null, options)); Assert.Throws(() => client.ListByWorkflow("fake", "repo", "main.yml", request, null)); } [Fact] public async Task EnsuresNonEmptyArguments() { var connection = Substitute.For(); var client = new ObservableActionsWorkflowRunsClient(connection); var request = new WorkflowRunsRequest(); var options = new ApiOptions(); Assert.Throws(() => client.ListByWorkflow("", "repo", 123)); Assert.Throws(() => client.ListByWorkflow("fake", "", 123)); Assert.Throws(() => client.ListByWorkflow("", "repo", "main.yml")); Assert.Throws(() => client.ListByWorkflow("fake", "", "main.yml")); Assert.Throws(() => client.ListByWorkflow("fake", "repo", "")); Assert.Throws(() => client.ListByWorkflow("", "repo", 123, request)); Assert.Throws(() => client.ListByWorkflow("fake", "", 123, request)); Assert.Throws(() => client.ListByWorkflow("", "repo", "main.yml", request)); Assert.Throws(() => client.ListByWorkflow("fake", "", "main.yml", request)); Assert.Throws(() => client.ListByWorkflow("fake", "repo", "", request)); Assert.Throws(() => client.ListByWorkflow("", "repo", 123, request, options)); Assert.Throws(() => client.ListByWorkflow("fake", "", 123, request, options)); Assert.Throws(() => client.ListByWorkflow("", "repo", "main.yml", request, options)); Assert.Throws(() => client.ListByWorkflow("fake", "", "main.yml", request, options)); Assert.Throws(() => client.ListByWorkflow("fake", "repo", "", request, options)); } } } }