示例#1
0
        public IObservable <bool> Request(string owner, string name, CheckSuiteTriggerRequest request)
        {
            Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner));
            Ensure.ArgumentNotNullOrEmptyString(name, nameof(name));
            Ensure.ArgumentNotNull(request, nameof(request));

            return(_client.Request(owner, name, request).ToObservable());
        }
示例#2
0
            public async Task EnsuresNonEmptyArguments()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                var request = new CheckSuiteTriggerRequest("123abc");

                Assert.Throws <ArgumentException>(() => client.Request("", "repo", request));
                Assert.Throws <ArgumentException>(() => client.Request("fake", "", request));
            }
示例#3
0
            public async Task RequestsCorrectUrlWithRepositoryId()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                var request = new CheckSuiteTriggerRequest("123abc");

                client.Request(1, request);

                gitHubClient.Check.Suite.Received().Request(1, request);
            }
示例#4
0
            public async Task EnsuresNonEmptyArguments()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new CheckSuitesClient(connection);

                var request = new CheckSuiteTriggerRequest("123abc");

                await Assert.ThrowsAsync <ArgumentException>(() => client.Request("", "repo", request));

                await Assert.ThrowsAsync <ArgumentException>(() => client.Request("fake", "", request));
            }
示例#5
0
            public async Task RequestsCorrectUrlWithRepositoryId()
            {
                var connection = MockedIApiConnection.PostReturnsHttpStatus(HttpStatusCode.Created);
                var client     = new CheckSuitesClient(connection);

                var request = new CheckSuiteTriggerRequest("123abc");

                await client.Request(1, request);

                connection.Connection.Received().Post(
                    Arg.Is <Uri>(u => u.ToString() == "repositories/1/check-suite-requests"),
                    request,
                    "application/vnd.github.antiope-preview+json");
            }
示例#6
0
        public IObservable <bool> Request(long repositoryId, CheckSuiteTriggerRequest request)
        {
            Ensure.ArgumentNotNull(request, nameof(request));

            return(_client.Request(repositoryId, request).ToObservable());
        }