Exemplo n.º 1
0
        /// <summary>
        /// Replace required status checks for the specified branch
        /// </summary>
        /// <remarks>
        /// See the <a href="https://developer.github.com/v3/repos/branches/#update-required-status-checks-of-protected-branch">API documentation</a> for more details
        /// </remarks>
        /// <param name="owner">The owner of the repository</param>
        /// <param name="name">The name of the repository</param>
        /// <param name="branch">The name of the branch</param>
        /// <param name="update">Required status checks</param>
        public IObservable <BranchProtectionRequiredStatusChecks> UpdateRequiredStatusChecks(string owner, string name, string branch, BranchProtectionRequiredStatusChecksUpdate update)
        {
            Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
            Ensure.ArgumentNotNullOrEmptyString(name, "name");
            Ensure.ArgumentNotNullOrEmptyString(branch, "branch");
            Ensure.ArgumentNotNull(update, "update");

            return(_client.UpdateRequiredStatusChecks(owner, name, branch, update).ToObservable());
        }
        public async Task UpdateRequiredStatusChecks()
        {
            var repoOwner            = _userRepoContext.RepositoryOwner;
            var repoName             = _userRepoContext.RepositoryName;
            var update               = new BranchProtectionRequiredStatusChecksUpdate(true, new[] { "new" });
            var requiredStatusChecks = await _client.UpdateRequiredStatusChecks(repoOwner, repoName, "master", update);

            Assert.NotNull(requiredStatusChecks);
            Assert.NotNull(requiredStatusChecks.Contexts);
            Assert.True(requiredStatusChecks.Contexts.Contains("new"));
            Assert.True(requiredStatusChecks.Strict);
            Assert.Equal(1, requiredStatusChecks.Contexts.Count);
        }