public async Task EnsuresNonEmptyArguments()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                var request = new CheckSuiteRequest();

                Assert.Throws <ArgumentException>(() => client.GetAllForReference("", "repo", "ref"));
                Assert.Throws <ArgumentException>(() => client.GetAllForReference("fake", "", "ref"));
                Assert.Throws <ArgumentException>(() => client.GetAllForReference("fake", "repo", ""));

                Assert.Throws <ArgumentException>(() => client.GetAllForReference("", "repo", "ref", request));
                Assert.Throws <ArgumentException>(() => client.GetAllForReference("fake", "", "ref", request));
                Assert.Throws <ArgumentException>(() => client.GetAllForReference("fake", "repo", "", request));

                Assert.Throws <ArgumentException>(() => client.GetAllForReference("", "repo", "ref", request, ApiOptions.None));
                Assert.Throws <ArgumentException>(() => client.GetAllForReference("fake", "", "ref", request, ApiOptions.None));
                Assert.Throws <ArgumentException>(() => client.GetAllForReference("fake", "repo", "", request, ApiOptions.None));

                Assert.Throws <ArgumentException>(() => client.GetAllForReference(1, ""));

                Assert.Throws <ArgumentException>(() => client.GetAllForReference(1, "", request));

                Assert.Throws <ArgumentException>(() => client.GetAllForReference(1, "", request, ApiOptions.None));
            }
Example #2
0
        /// <summary>
        /// Initializes a new GitHub Checks API client.
        /// </summary>
        /// <param name="client">An <see cref="IGitHubClient" /> used to make the requests</param>
        public ObservableChecksClient(IGitHubClient client)
        {
            Ensure.ArgumentNotNull(client, nameof(client));

            Run   = new ObservableCheckRunsClient(client);
            Suite = new ObservableCheckSuitesClient(client);
        }
            public async Task EnsuresNonEmptyArguments()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                Assert.Throws <ArgumentException>(() => client.Get("", "repo", 1));
                Assert.Throws <ArgumentException>(() => client.Get("fake", "", 1));
            }
            public async Task EnsuresNonNullArguments()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                Assert.Throws <ArgumentNullException>(() => client.Rerequest(null, "repo", 1));
                Assert.Throws <ArgumentNullException>(() => client.Rerequest("fake", null, 1));
            }
            public async Task RequestsCorrectUrlWithRepositoryId()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                client.Get(1, 1);

                gitHubClient.Check.Suite.Received().Get(1, 1);
            }
            public async Task RequestsCorrectUrl()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                client.Rerequest("fake", "repo", 1);

                gitHubClient.Check.Suite.Received().Rerequest("fake", "repo", 1);
            }
            public async Task EnsuresNonEmptyArguments()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                var preferences = new CheckSuitePreferences(new[] { new CheckSuitePreferenceAutoTrigger(123, true) });

                Assert.Throws <ArgumentException>(() => client.UpdatePreferences("", "repo", preferences));
                Assert.Throws <ArgumentException>(() => client.UpdatePreferences("fake", "", preferences));
            }
Example #8
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));
            }
            public async Task RequestsCorrectUrlWithRepositoryId()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                var newCheckSuite = new NewCheckSuite("123abc");

                client.Create(1, newCheckSuite);

                gitHubClient.Check.Suite.Received().Create(1, newCheckSuite);
            }
            public async Task RequestsCorrectUrlWithRepositoryId()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                var preferences = new CheckSuitePreferences(new[] { new CheckSuitePreferenceAutoTrigger(123, true) });

                client.UpdatePreferences(1, preferences);

                gitHubClient.Check.Suite.Received().UpdatePreferences(1, preferences);
            }
Example #11
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);
            }
            public async Task RequestsCorrectUrlWithRepositoryId()
            {
                var connection   = Substitute.For <IConnection>();
                var gitHubClient = new GitHubClient(connection);
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                client.GetAllForReference(1, "ref");

                connection.Received().Get <List <CheckSuitesResponse> >(
                    Arg.Is <Uri>(u => u.ToString() == "repositories/1/commits/ref/check-suites"),
                    Args.EmptyDictionary,
                    "application/vnd.github.antiope-preview+json");
            }
            public async Task EnsuresNonNullArguments()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                var newCheckSuite = new NewCheckSuite("123abc");

                Assert.Throws <ArgumentNullException>(() => client.Create(null, "repo", newCheckSuite));
                Assert.Throws <ArgumentNullException>(() => client.Create("fake", null, newCheckSuite));
                Assert.Throws <ArgumentNullException>(() => client.Create("fake", "repo", null));

                Assert.Throws <ArgumentNullException>(() => client.Create(1, null));
            }
            public async Task RequestsCorrectUrlWithRequest()
            {
                var connection   = Substitute.For <IConnection>();
                var gitHubClient = new GitHubClient(connection);
                var client       = new ObservableCheckSuitesClient(gitHubClient);

                var request = new CheckSuiteRequest
                {
                    AppId     = 123,
                    CheckName = "build"
                };

                client.GetAllForReference("fake", "repo", "ref", request);

                connection.Received().Get <List <CheckSuitesResponse> >(
                    Arg.Is <Uri>(u => u.ToString() == "repos/fake/repo/commits/ref/check-suites"),
                    Arg.Is <Dictionary <string, string> >(x =>
                                                          x["app_id"] == "123" &&
                                                          x["check_name"] == "build"),
                    "application/vnd.github.antiope-preview+json");
            }