mirror of
https://github.com/zoriya/octokit.net.git
synced 2025-12-05 23:06:10 +00:00
feat: Fixing master > main in integration tests (#2489)
This commit is contained in:
@@ -20,7 +20,7 @@ namespace Octokit.Reactive
|
||||
/// </remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/master" or "tags/release-1"</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/main" or "tags/release-1"</param>
|
||||
/// <returns></returns>
|
||||
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get",
|
||||
Justification = "Method makes a network request")]
|
||||
@@ -33,7 +33,7 @@ namespace Octokit.Reactive
|
||||
/// http://developer.github.com/v3/git/refs/#get-a-reference
|
||||
/// </remarks>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/master" or "tags/release-1"</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/main" or "tags/release-1"</param>
|
||||
/// <returns></returns>
|
||||
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get",
|
||||
Justification = "Method makes a network request")]
|
||||
@@ -162,7 +162,7 @@ namespace Octokit.Reactive
|
||||
/// </remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/master" or "tags/release-1"</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/main" or "tags/release-1"</param>
|
||||
/// <param name="referenceUpdate">The updated reference data</param>
|
||||
/// <returns></returns>
|
||||
IObservable<Reference> Update(string owner, string name, string reference, ReferenceUpdate referenceUpdate);
|
||||
@@ -174,7 +174,7 @@ namespace Octokit.Reactive
|
||||
/// http://developer.github.com/v3/git/refs/#update-a-reference
|
||||
/// </remarks>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/master" or "tags/release-1"</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/main" or "tags/release-1"</param>
|
||||
/// <param name="referenceUpdate">The updated reference data</param>
|
||||
/// <returns></returns>
|
||||
IObservable<Reference> Update(long repositoryId, string reference, ReferenceUpdate referenceUpdate);
|
||||
@@ -187,7 +187,7 @@ namespace Octokit.Reactive
|
||||
/// </remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/master" or "tags/release-1"</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/main" or "tags/release-1"</param>
|
||||
/// <returns></returns>
|
||||
IObservable<Unit> Delete(string owner, string name, string reference);
|
||||
|
||||
@@ -198,7 +198,7 @@ namespace Octokit.Reactive
|
||||
/// http://developer.github.com/v3/git/refs/#delete-a-reference
|
||||
/// </remarks>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/master" or "tags/release-1"</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/main" or "tags/release-1"</param>
|
||||
/// <returns></returns>
|
||||
IObservable<Unit> Delete(long repositoryId, string reference);
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ namespace Octokit.Reactive
|
||||
/// </remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
/// <param name="path">The content path</param>
|
||||
IObservable<RepositoryContent> GetAllContentsByRef(string owner, string name, string reference, string path);
|
||||
|
||||
@@ -187,7 +187,7 @@ namespace Octokit.Reactive
|
||||
/// See the <a href="https://developer.github.com/v3/repos/contents/#get-contents">API documentation</a> for more information.
|
||||
/// </remarks>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
/// <param name="path">The content path</param>
|
||||
IObservable<RepositoryContent> GetAllContentsByRef(long repositoryId, string reference, string path);
|
||||
|
||||
@@ -196,14 +196,14 @@ namespace Octokit.Reactive
|
||||
/// </summary>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
IObservable<RepositoryContent> GetAllContentsByRef(string owner, string name, string reference);
|
||||
|
||||
/// <summary>
|
||||
/// Returns the contents of the home directory in a repository.
|
||||
/// </summary>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
IObservable<RepositoryContent> GetAllContentsByRef(long repositoryId, string reference);
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace Octokit.Reactive
|
||||
/// </remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/master" or "tags/release-1"</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/main" or "tags/release-1"</param>
|
||||
/// <returns></returns>
|
||||
public IObservable<Reference> Get(string owner, string name, string reference)
|
||||
{
|
||||
@@ -50,7 +50,7 @@ namespace Octokit.Reactive
|
||||
/// http://developer.github.com/v3/git/refs/#get-a-reference
|
||||
/// </remarks>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/master" or "tags/release-1"</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/main" or "tags/release-1"</param>
|
||||
/// <returns></returns>
|
||||
public IObservable<Reference> Get(long repositoryId, string reference)
|
||||
{
|
||||
@@ -148,9 +148,9 @@ namespace Octokit.Reactive
|
||||
/// <param name="options">Options for changing the API response</param>
|
||||
/// <remarks>
|
||||
/// The subNamespace parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
public IObservable<Reference> GetAllForSubNamespace(string owner, string name, string subNamespace, ApiOptions options)
|
||||
{
|
||||
@@ -192,9 +192,9 @@ namespace Octokit.Reactive
|
||||
/// <param name="options">Options for changing the API response</param>
|
||||
/// <remarks>
|
||||
/// The subNamespace parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
public IObservable<Reference> GetAllForSubNamespace(long repositoryId, string subNamespace, ApiOptions options)
|
||||
{
|
||||
@@ -252,7 +252,7 @@ namespace Octokit.Reactive
|
||||
/// </remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/master" or "tags/release-1"</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/main" or "tags/release-1"</param>
|
||||
/// <param name="referenceUpdate">The updated reference data</param>
|
||||
/// <returns></returns>
|
||||
public IObservable<Reference> Update(string owner, string name, string reference, ReferenceUpdate referenceUpdate)
|
||||
@@ -272,7 +272,7 @@ namespace Octokit.Reactive
|
||||
/// http://developer.github.com/v3/git/refs/#update-a-reference
|
||||
/// </remarks>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/master" or "tags/release-1"</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/main" or "tags/release-1"</param>
|
||||
/// <param name="referenceUpdate">The updated reference data</param>
|
||||
/// <returns></returns>
|
||||
public IObservable<Reference> Update(long repositoryId, string reference, ReferenceUpdate referenceUpdate)
|
||||
@@ -291,7 +291,7 @@ namespace Octokit.Reactive
|
||||
/// </remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/master" or "tags/release-1"</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/main" or "tags/release-1"</param>
|
||||
/// <returns></returns>
|
||||
public IObservable<Unit> Delete(string owner, string name, string reference)
|
||||
{
|
||||
@@ -309,7 +309,7 @@ namespace Octokit.Reactive
|
||||
/// http://developer.github.com/v3/git/refs/#delete-a-reference
|
||||
/// </remarks>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/master" or "tags/release-1"</param>
|
||||
/// <param name="reference">The canonical name of the reference without the 'refs/' prefix. e.g. "heads/main" or "tags/release-1"</param>
|
||||
/// <returns></returns>
|
||||
public IObservable<Unit> Delete(long repositoryId, string reference)
|
||||
{
|
||||
|
||||
@@ -281,7 +281,7 @@ namespace Octokit.Reactive
|
||||
/// </remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
/// <param name="path">The content path</param>
|
||||
public IObservable<RepositoryContent> GetAllContentsByRef(string owner, string name, string reference, string path)
|
||||
{
|
||||
@@ -325,7 +325,7 @@ namespace Octokit.Reactive
|
||||
/// See the <a href="https://developer.github.com/v3/repos/contents/#get-contents">API documentation</a> for more information.
|
||||
/// </remarks>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
/// <param name="path">The content path</param>
|
||||
public IObservable<RepositoryContent> GetAllContentsByRef(long repositoryId, string reference, string path)
|
||||
{
|
||||
@@ -340,7 +340,7 @@ namespace Octokit.Reactive
|
||||
/// </summary>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
public IObservable<RepositoryContent> GetAllContentsByRef(string owner, string name, string reference)
|
||||
{
|
||||
Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner));
|
||||
@@ -354,7 +354,7 @@ namespace Octokit.Reactive
|
||||
/// Returns the contents of the home directory in a repository.
|
||||
/// </summary>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main )</param>
|
||||
public IObservable<RepositoryContent> GetAllContentsByRef(long repositoryId, string reference)
|
||||
{
|
||||
Ensure.ArgumentNotNullOrEmptyString(reference, nameof(reference));
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check run for the feature branch
|
||||
@@ -49,7 +49,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check run for the feature branch
|
||||
@@ -85,7 +85,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check run for the feature branch
|
||||
@@ -117,7 +117,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check run for the feature branch
|
||||
@@ -163,7 +163,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check run for the feature branch
|
||||
@@ -198,7 +198,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check run for the feature branch
|
||||
@@ -247,7 +247,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check run for the feature branch
|
||||
@@ -283,7 +283,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check run for the feature branch
|
||||
@@ -332,7 +332,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "main");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check run for the feature branch
|
||||
@@ -359,7 +359,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "main");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check run for the feature branch
|
||||
@@ -400,7 +400,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check run for the feature branch
|
||||
@@ -433,7 +433,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check run for the feature branch
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Need to get a CheckSuiteId so we can test the Get method
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryOwner, repoContext.RepositoryName, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryOwner, repoContext.RepositoryName, repoContext.RepositoryDefaultBranch);
|
||||
var checkSuite = (await _githubAppInstallation.Check.Suite.GetAllForReference(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha)).CheckSuites.First();
|
||||
|
||||
// Get Check Suite by Id
|
||||
@@ -44,7 +44,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Need to get a CheckSuiteId so we can test the Get method
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var checkSuite = (await _githubAppInstallation.Check.Suite.GetAllForReference(repoContext.RepositoryId, headCommit.Sha)).CheckSuites.First();
|
||||
|
||||
// Get Check Suite by Id
|
||||
@@ -75,7 +75,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
{
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryOwner, repoContext.RepositoryName, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryOwner, repoContext.RepositoryName, repoContext.RepositoryDefaultBranch);
|
||||
|
||||
var checkSuites = await _githubAppInstallation.Check.Suite.GetAllForReference(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha);
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
{
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
|
||||
var checkSuites = await _githubAppInstallation.Check.Suite.GetAllForReference(repoContext.RepositoryId, headCommit.Sha);
|
||||
|
||||
@@ -176,7 +176,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
await _githubAppInstallation.Check.Suite.UpdatePreferences(repoContext.RepositoryOwner, repoContext.RepositoryName, preference);
|
||||
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryOwner, repoContext.RepositoryName, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryOwner, repoContext.RepositoryName, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check suite for the feature branch
|
||||
@@ -199,7 +199,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
await _githubAppInstallation.Check.Suite.UpdatePreferences(repoContext.RepositoryId, preference);
|
||||
|
||||
// Create a new feature branch
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var featureBranch = await Helper.CreateFeatureBranch(repoContext.RepositoryOwner, repoContext.RepositoryName, headCommit.Sha, "my-feature");
|
||||
|
||||
// Create a check suite for the feature branch
|
||||
@@ -232,7 +232,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Need to get a CheckSuiteId so we can test the Get method
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var checkSuite = (await _githubAppInstallation.Check.Suite.GetAllForReference(repoContext.RepositoryId, headCommit.Sha)).CheckSuites.First();
|
||||
|
||||
// Get Check Suite by Id
|
||||
@@ -248,7 +248,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
using (var repoContext = await _github.CreateRepositoryContext(new NewRepository(Helper.MakeNameWithTimestamp("public-repo")) { AutoInit = true }))
|
||||
{
|
||||
// Need to get a CheckSuiteId so we can test the Get method
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, "master");
|
||||
var headCommit = await _github.Repository.Commit.Get(repoContext.RepositoryId, repoContext.RepositoryDefaultBranch);
|
||||
var checkSuite = (await _githubAppInstallation.Check.Suite.GetAllForReference(repoContext.RepositoryId, headCommit.Sha)).CheckSuites.First();
|
||||
|
||||
// Get Check Suite by Id
|
||||
|
||||
@@ -28,17 +28,17 @@ public class MigrationsClientTests : IDisposable
|
||||
|
||||
private async Task CreateTheWorld()
|
||||
{
|
||||
_repos.Add(await _gitHub.CreateRepositoryContext(_orgName, new NewRepository(Helper.MakeNameWithTimestamp("migrationtest-repo1"))
|
||||
_repos.Add(await _gitHub.CreateOrganizationRepositoryContext(_orgName, new NewRepository(Helper.MakeNameWithTimestamp("migrationtest-repo1"))
|
||||
{
|
||||
GitignoreTemplate = "VisualStudio",
|
||||
LicenseTemplate = "mit"
|
||||
}));
|
||||
_repos.Add(await _gitHub.CreateRepositoryContext(_orgName, new NewRepository(Helper.MakeNameWithTimestamp("migrationtest-repo2"))
|
||||
_repos.Add(await _gitHub.CreateOrganizationRepositoryContext(_orgName, new NewRepository(Helper.MakeNameWithTimestamp("migrationtest-repo2"))
|
||||
{
|
||||
GitignoreTemplate = "VisualStudio",
|
||||
LicenseTemplate = "mit"
|
||||
}));
|
||||
_repos.Add(await _gitHub.CreateRepositoryContext(_orgName, new NewRepository(Helper.MakeNameWithTimestamp("migrationtest-repo3"))
|
||||
_repos.Add(await _gitHub.CreateOrganizationRepositoryContext(_orgName, new NewRepository(Helper.MakeNameWithTimestamp("migrationtest-repo3"))
|
||||
{
|
||||
GitignoreTemplate = "VisualStudio",
|
||||
LicenseTemplate = "mit"
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
public async Task ReturnsNoOutsideCollaborators()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
var outsideCollaborators = await _gitHub.Organization
|
||||
.OutsideCollaborator
|
||||
@@ -35,7 +35,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
public async Task ReturnsOutsideCollaborators()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithoutStart()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
|
||||
@@ -75,7 +75,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithStart()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, "octokitnet-test2");
|
||||
@@ -100,7 +100,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithAllFilter()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, "octokitnet-test2");
|
||||
@@ -118,7 +118,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithAllFilterAndApiOptions()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, "octokitnet-test2");
|
||||
@@ -142,7 +142,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithAllFilterWithStart()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, "octokitnet-test2");
|
||||
@@ -179,7 +179,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithTwoFactorFilter()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, "octokitnet-test2");
|
||||
@@ -198,7 +198,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithTwoFactorFilterAndApiOptions()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, "octokitnet-test2");
|
||||
@@ -234,7 +234,7 @@ namespace Octokit.Tests.Integration.Clients
|
||||
public async Task CanRemoveOutsideCollaborator()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
|
||||
|
||||
@@ -456,7 +456,7 @@ public class RepositoriesClientTests
|
||||
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-org-repo");
|
||||
|
||||
using (var context = await github.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await github.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
var createdRepository = context.Repository;
|
||||
|
||||
@@ -484,7 +484,7 @@ public class RepositoriesClientTests
|
||||
|
||||
var repository = new NewRepository(repoName);
|
||||
|
||||
using (var context = await github.CreateRepositoryContext(Helper.Organization, repository))
|
||||
using (var context = await github.CreateOrganizationRepositoryContext(Helper.Organization, repository))
|
||||
{
|
||||
var createdRepository = context.Repository;
|
||||
|
||||
@@ -1604,7 +1604,7 @@ public class RepositoriesClientTests
|
||||
{
|
||||
_theRepoOwner = Helper.Organization;
|
||||
_theRepository = Helper.MakeNameWithTimestamp("topics");
|
||||
_context = _github.CreateRepositoryContext(_theRepoOwner, new NewRepository(_theRepository)).Result;
|
||||
_context = _github.CreateOrganizationRepositoryContext(_theRepoOwner, new NewRepository(_theRepository)).Result;
|
||||
var defaultTopicAssignmentResult = _github.Repository.ReplaceAllTopics(_context.RepositoryId, _defaultTopics).Result;
|
||||
}
|
||||
|
||||
@@ -2035,7 +2035,7 @@ public class RepositoriesClientTests
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
var newRepo = new NewRepository(Helper.MakeNameWithTimestamp("transferred-repo"));
|
||||
var newOwner = Helper.UserName;
|
||||
using (var context = await github.CreateRepositoryContext(Helper.Organization, newRepo))
|
||||
using (var context = await github.CreateOrganizationRepositoryContext(Helper.Organization, newRepo))
|
||||
{
|
||||
var transfer = new RepositoryTransfer(newOwner);
|
||||
await github.Repository.Transfer(context.RepositoryOwner, context.RepositoryName, transfer);
|
||||
@@ -2051,7 +2051,7 @@ public class RepositoriesClientTests
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
var newRepo = new NewRepository(Helper.MakeNameWithTimestamp("transferred-repo"));
|
||||
var newOwner = Helper.UserName;
|
||||
using (var context = await github.CreateRepositoryContext(Helper.Organization, newRepo))
|
||||
using (var context = await github.CreateOrganizationRepositoryContext(Helper.Organization, newRepo))
|
||||
{
|
||||
var transfer = new RepositoryTransfer(newOwner);
|
||||
await github.Repository.Transfer(context.RepositoryId, transfer);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -18,7 +18,7 @@ public class TeamsClientTests
|
||||
|
||||
var teamName = Helper.MakeNameWithTimestamp("new-team");
|
||||
var teamDescription = Helper.MakeNameWithTimestamp("team description");
|
||||
using (var context = await github.CreateRepositoryContext(Helper.Organization, new NewRepository(Helper.MakeNameWithTimestamp("org-repo"))))
|
||||
using (var context = await github.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(Helper.MakeNameWithTimestamp("org-repo"))))
|
||||
{
|
||||
var newTeam = new NewTeam(teamName)
|
||||
{
|
||||
@@ -295,7 +295,7 @@ public class TeamsClientTests
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
|
||||
using (var repositoryContext = await github.CreateRepositoryContext(Helper.Organization, new NewRepository(Helper.MakeNameWithTimestamp("teamrepo"))))
|
||||
using (var repositoryContext = await github.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(Helper.MakeNameWithTimestamp("teamrepo"))))
|
||||
{
|
||||
github.Organization.Team.AddRepository(_team.Id, Helper.Organization, repositoryContext.RepositoryName);
|
||||
|
||||
@@ -320,7 +320,7 @@ public class TeamsClientTests
|
||||
public async Task CanAddRepository()
|
||||
{
|
||||
using (var teamContext = await _github.CreateTeamContext(Helper.Organization, new NewTeam(Helper.MakeNameWithTimestamp("team"))))
|
||||
using (var repoContext = await _github.CreateRepositoryContext(Helper.Organization, new NewRepository(Helper.MakeNameWithTimestamp("team-repository"))))
|
||||
using (var repoContext = await _github.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(Helper.MakeNameWithTimestamp("team-repository"))))
|
||||
{
|
||||
var team = teamContext.Team;
|
||||
var repo = repoContext.Repository;
|
||||
|
||||
@@ -113,8 +113,13 @@ namespace Octokit.Tests.Integration
|
||||
}
|
||||
|
||||
public static string UserName { get; private set; }
|
||||
|
||||
public static string Organization { get; private set; }
|
||||
|
||||
public static bool HasNoOrganization => Organization == null;
|
||||
|
||||
public static bool HasOrganization => Organization != null;
|
||||
|
||||
/// <summary>
|
||||
/// These credentials should be set to a test GitHub account using the powershell script configure-integration-tests.ps1
|
||||
/// </summary>
|
||||
|
||||
@@ -4,6 +4,17 @@ namespace Octokit.Tests.Integration.Helpers
|
||||
{
|
||||
internal static class GithubClientExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Creates a public repository with the timestamped name public-repo
|
||||
/// </summary>
|
||||
internal static async Task<RepositoryContext> CreateRepositoryContext(this IGitHubClient client)
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
var repo = await client.Repository.Create(new NewRepository(repoName) { AutoInit = true });
|
||||
|
||||
return new RepositoryContext(client.Connection, repo);
|
||||
}
|
||||
|
||||
internal static async Task<RepositoryContext> CreateRepositoryContext(this IGitHubClient client, string repositoryName)
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp(repositoryName);
|
||||
@@ -12,16 +23,30 @@ namespace Octokit.Tests.Integration.Helpers
|
||||
return new RepositoryContext(client.Connection, repo);
|
||||
}
|
||||
|
||||
internal static async Task<RepositoryContext> CreateRepositoryContext(this IGitHubClient client, string organizationLogin, NewRepository newRepository)
|
||||
internal static async Task<RepositoryContext> CreateRepositoryContext(this IGitHubClient client, NewRepository newRepository)
|
||||
{
|
||||
var repo = await client.Repository.Create(organizationLogin, newRepository);
|
||||
var repo = await client.Repository.Create(newRepository);
|
||||
|
||||
return new RepositoryContext(client.Connection, repo);
|
||||
}
|
||||
|
||||
internal static async Task<RepositoryContext> CreateRepositoryContext(this IGitHubClient client, NewRepository newRepository)
|
||||
/// <summary>
|
||||
/// Creates an organisationrepository with the timestamped name organisation-repo
|
||||
/// </summary>
|
||||
internal static async Task<RepositoryContext> CreateOrganizationRepositoryContext(this IGitHubClient client)
|
||||
{
|
||||
var repo = await client.Repository.Create(newRepository);
|
||||
var repoName = Helper.MakeNameWithTimestamp("organization-repo");
|
||||
var repo = await client.Repository.Create(Helper.Organization, new NewRepository(repoName) { AutoInit = true });
|
||||
|
||||
return new RepositoryContext(client.Connection, repo);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates an organization repository
|
||||
/// </summary>
|
||||
internal static async Task<RepositoryContext> CreateOrganizationRepositoryContext(this IGitHubClient client, string organizationLogin, NewRepository newRepository)
|
||||
{
|
||||
var repo = await client.Repository.Create(organizationLogin, newRepository);
|
||||
|
||||
return new RepositoryContext(client.Connection, repo);
|
||||
}
|
||||
|
||||
@@ -23,13 +23,30 @@ namespace Octokit.Tests.Integration.Helpers
|
||||
|
||||
internal static class RepositoryProtectedBranchHelperExtensions
|
||||
{
|
||||
internal async static Task ProtectDefaultBranch(this IGitHubClient client, RepositoryContext repoContext)
|
||||
{
|
||||
// Protect default branch
|
||||
var update = new BranchProtectionSettingsUpdate(
|
||||
new BranchProtectionRequiredStatusChecksUpdate(true, new[] { "build", "test" }),
|
||||
new BranchProtectionRequiredReviewsUpdate(true, true, 3),
|
||||
null,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
true);
|
||||
|
||||
await client.Repository.Branch.UpdateBranchProtection(repoContext.RepositoryOwner, repoContext.RepositoryName, repoContext.RepositoryDefaultBranch, update);
|
||||
}
|
||||
|
||||
internal async static Task<RepositoryContext> CreateRepositoryWithProtectedBranch(this IGitHubClient client)
|
||||
{
|
||||
// Create user owned repo
|
||||
var userRepo = new NewRepository(Helper.MakeNameWithTimestamp("protected-repo")) { AutoInit = true };
|
||||
var contextUserRepo = await client.CreateRepositoryContext(userRepo);
|
||||
|
||||
// Protect master branch
|
||||
// Protect default branch
|
||||
var update = new BranchProtectionSettingsUpdate(
|
||||
new BranchProtectionRequiredStatusChecksUpdate(true, new[] { "build", "test" }),
|
||||
new BranchProtectionRequiredReviewsUpdate(true, true, 3),
|
||||
@@ -46,11 +63,34 @@ namespace Octokit.Tests.Integration.Helpers
|
||||
return contextUserRepo;
|
||||
}
|
||||
|
||||
internal async static Task<TeamContext> ProtectDefaultBranchWithTeam(this IGitHubClient client, RepositoryContext repoContext)
|
||||
{
|
||||
// Create team in org
|
||||
var team = await client.CreateTeamContext(Helper.Organization, new NewTeam(Helper.MakeNameWithTimestamp("team")));
|
||||
|
||||
// Grant team push access to repo
|
||||
await client.Organization.Team.AddRepository(
|
||||
team.TeamId,
|
||||
repoContext.RepositoryOwner,
|
||||
repoContext.RepositoryName,
|
||||
new RepositoryPermissionRequest(Permission.Push));
|
||||
|
||||
// Protect default branch
|
||||
var protection = new BranchProtectionSettingsUpdate(
|
||||
new BranchProtectionRequiredStatusChecksUpdate(true, new[] { "build", "test" }),
|
||||
new BranchProtectionRequiredReviewsUpdate(new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(new BranchProtectionTeamCollection { team.TeamName }), true, true, 3),
|
||||
new BranchProtectionPushRestrictionsUpdate(new BranchProtectionTeamCollection { team.TeamName }),
|
||||
true);
|
||||
await client.Repository.Branch.UpdateBranchProtection(repoContext.RepositoryOwner, repoContext.RepositoryName, repoContext.RepositoryDefaultBranch, protection);
|
||||
|
||||
return team;
|
||||
}
|
||||
|
||||
internal async static Task<OrganizationRepositoryWithTeamContext> CreateOrganizationRepositoryWithProtectedBranch(this IGitHubClient client)
|
||||
{
|
||||
// Create organization owned repo
|
||||
var orgRepo = new NewRepository(Helper.MakeNameWithTimestamp("protected-org-repo")) { AutoInit = true };
|
||||
var contextOrgRepo = await client.CreateRepositoryContext(Helper.Organization, orgRepo);
|
||||
var contextOrgRepo = await client.CreateOrganizationRepositoryContext(Helper.Organization, orgRepo);
|
||||
|
||||
// Create team in org
|
||||
var contextOrgTeam = await client.CreateTeamContext(Helper.Organization, new NewTeam(Helper.MakeNameWithTimestamp("team")));
|
||||
@@ -62,13 +102,13 @@ namespace Octokit.Tests.Integration.Helpers
|
||||
contextOrgRepo.RepositoryName,
|
||||
new RepositoryPermissionRequest(Permission.Push));
|
||||
|
||||
// Protect master branch
|
||||
// Protect default branch
|
||||
var protection = new BranchProtectionSettingsUpdate(
|
||||
new BranchProtectionRequiredStatusChecksUpdate(true, new[] { "build", "test" }),
|
||||
new BranchProtectionRequiredReviewsUpdate(new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(new BranchProtectionTeamCollection { contextOrgTeam.TeamName }), true, true, 3),
|
||||
new BranchProtectionPushRestrictionsUpdate(new BranchProtectionTeamCollection { contextOrgTeam.TeamName }),
|
||||
true);
|
||||
await client.Repository.Branch.UpdateBranchProtection(contextOrgRepo.RepositoryOwner, contextOrgRepo.RepositoryName, "master", protection);
|
||||
await client.Repository.Branch.UpdateBranchProtection(contextOrgRepo.RepositoryOwner, contextOrgRepo.RepositoryName, "main", protection);
|
||||
|
||||
return new OrganizationRepositoryWithTeamContext
|
||||
{
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace Octokit.Tests.Integration
|
||||
|
||||
public IEnumerable<IXunitTestCase> Discover(ITestFrameworkDiscoveryOptions discoveryOptions, ITestMethod testMethod, IAttributeInfo factAttribute)
|
||||
{
|
||||
if (Helper.Organization == null)
|
||||
if (Helper.HasNoOrganization)
|
||||
{
|
||||
return Enumerable.Empty<IXunitTestCase>();
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace Octokit.Tests.Integration.Helpers
|
||||
|
||||
using (var context = await client.CreateRepositoryContext("public-repo"))
|
||||
{
|
||||
var branchFromMaster = await fixture.CreateBranch(context.RepositoryOwner, context.RepositoryName, "patch-1");
|
||||
var branchFromMaster = await fixture.CreateBranch(context.RepositoryOwner, context.RepositoryName, "patch-1", context.Repository.DefaultBranch);
|
||||
|
||||
var branchFromPath = await fixture.CreateBranch(context.RepositoryOwner, context.RepositoryName, "patch-2", branchFromMaster);
|
||||
|
||||
|
||||
@@ -16,12 +16,14 @@ namespace Octokit.Tests.Integration.Helpers
|
||||
RepositoryId = repo.Id;
|
||||
RepositoryOwner = repo.Owner.Login;
|
||||
RepositoryName = repo.Name;
|
||||
RepositoryDefaultBranch = repo.DefaultBranch;
|
||||
}
|
||||
|
||||
private IConnection _connection;
|
||||
internal long RepositoryId { get; private set; }
|
||||
internal string RepositoryOwner { get; private set; }
|
||||
internal string RepositoryName { get; private set; }
|
||||
internal string RepositoryDefaultBranch { get; private set; }
|
||||
|
||||
internal Repository Repository { get; private set; }
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace Octokit.Tests.Integration.Reactive
|
||||
public async Task ReturnsOutsideCollaborators()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
|
||||
@@ -50,7 +50,7 @@ namespace Octokit.Tests.Integration.Reactive
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithoutStart()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
|
||||
@@ -72,7 +72,7 @@ namespace Octokit.Tests.Integration.Reactive
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithStart()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, "octokitnet-test2");
|
||||
@@ -96,7 +96,7 @@ namespace Octokit.Tests.Integration.Reactive
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithAllFilter()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, "octokitnet-test2");
|
||||
@@ -113,7 +113,7 @@ namespace Octokit.Tests.Integration.Reactive
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithAllFilterAndApiOptions()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, "octokitnet-test2");
|
||||
@@ -136,7 +136,7 @@ namespace Octokit.Tests.Integration.Reactive
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithAllFilterWithStart()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, "octokitnet-test2");
|
||||
@@ -171,7 +171,7 @@ namespace Octokit.Tests.Integration.Reactive
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithTwoFactorFilter()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, "octokitnet-test2");
|
||||
@@ -189,7 +189,7 @@ namespace Octokit.Tests.Integration.Reactive
|
||||
public async Task ReturnsCorrectCountOfOutsideCollaboratorsWithTwoFactorFilterAndApiOptions()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, "octokitnet-test2");
|
||||
@@ -226,7 +226,7 @@ namespace Octokit.Tests.Integration.Reactive
|
||||
public async Task CanRemoveOutsideCollaborator()
|
||||
{
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
using (var context = await _gitHub.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
using (var context = await _gitHub.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(repoName)))
|
||||
{
|
||||
await _gitHub.Repository.Collaborator.Add(context.RepositoryOwner, context.RepositoryName, _fixtureCollaborator);
|
||||
|
||||
|
||||
@@ -1,281 +1,262 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Reactive.Linq;
|
||||
using System.Reactive.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Octokit.Reactive;
|
||||
using Octokit.Tests.Integration.Helpers;
|
||||
using Xunit;
|
||||
|
||||
namespace Octokit.Tests.Integration
|
||||
namespace Octokit.Tests.Integration.Reactive
|
||||
{
|
||||
public class ObservableRepositoryBranchesClientTests
|
||||
{
|
||||
public class TheGetBranchProtectionMethod : IDisposable
|
||||
public class TheGetBranchProtectionMethod
|
||||
{
|
||||
IGitHubClient _github;
|
||||
IObservableRepositoryBranchesClient _client;
|
||||
RepositoryContext _userRepoContext;
|
||||
OrganizationRepositoryWithTeamContext _orgRepoContext;
|
||||
|
||||
public TheGetBranchProtectionMethod()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
_client = new ObservableRepositoryBranchesClient(github);
|
||||
|
||||
_userRepoContext = github.CreateRepositoryWithProtectedBranch().Result;
|
||||
_orgRepoContext = github.CreateOrganizationRepositoryWithProtectedBranch().Result;
|
||||
_github = Helper.GetAuthenticatedClient();
|
||||
_client = new ObservableRepositoryBranchesClient(_github);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task GetsBranchProtection()
|
||||
{
|
||||
var repoOwner = _userRepoContext.RepositoryOwner;
|
||||
var repoName = _userRepoContext.RepositoryName;
|
||||
var protection = await _client.GetBranchProtection(repoOwner, repoName, "master");
|
||||
using (var context = await _github.CreateRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoOwner = context.RepositoryOwner;
|
||||
var repoName = context.RepositoryName;
|
||||
var protection = await _client.GetBranchProtection(repoOwner, repoName, "main");
|
||||
|
||||
Assert.True(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(2, protection.RequiredStatusChecks.Contexts.Count);
|
||||
Assert.True(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(2, protection.RequiredStatusChecks.Contexts.Count);
|
||||
|
||||
Assert.Null(protection.RequiredPullRequestReviews.DismissalRestrictions);
|
||||
Assert.True(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.True(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(3, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
Assert.Null(protection.RequiredPullRequestReviews.DismissalRestrictions);
|
||||
Assert.True(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.True(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(3, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
|
||||
Assert.Null(protection.Restrictions);
|
||||
Assert.Null(protection.Restrictions);
|
||||
|
||||
Assert.True(protection.EnforceAdmins.Enabled);
|
||||
Assert.True(protection.EnforceAdmins.Enabled);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task GetsBranchProtectionWithRepositoryId()
|
||||
{
|
||||
var repoId = _userRepoContext.RepositoryId;
|
||||
var protection = await _client.GetBranchProtection(repoId, "master");
|
||||
using (var context = await _github.CreateRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryId;
|
||||
var protection = await _client.GetBranchProtection(repoId, "main");
|
||||
|
||||
Assert.True(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(2, protection.RequiredStatusChecks.Contexts.Count);
|
||||
Assert.True(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(2, protection.RequiredStatusChecks.Contexts.Count);
|
||||
|
||||
Assert.Null(protection.RequiredPullRequestReviews.DismissalRestrictions);
|
||||
Assert.True(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.True(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(3, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
Assert.Null(protection.RequiredPullRequestReviews.DismissalRestrictions);
|
||||
Assert.True(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.True(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(3, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
|
||||
Assert.Null(protection.Restrictions);
|
||||
Assert.Null(protection.Restrictions);
|
||||
|
||||
Assert.True(protection.EnforceAdmins.Enabled);
|
||||
Assert.True(protection.EnforceAdmins.Enabled);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
[OrganizationTest]
|
||||
public async Task GetsBranchProtectionForOrgRepo()
|
||||
{
|
||||
var repoOwner = _orgRepoContext.RepositoryContext.RepositoryOwner;
|
||||
var repoName = _orgRepoContext.RepositoryContext.RepositoryName;
|
||||
var protection = await _client.GetBranchProtection(repoOwner, repoName, "master");
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoOwner = context.RepositoryContext.RepositoryOwner;
|
||||
var repoName = context.RepositoryContext.RepositoryName;
|
||||
var protection = await _client.GetBranchProtection(repoOwner, repoName, "main");
|
||||
|
||||
Assert.True(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(2, protection.RequiredStatusChecks.Contexts.Count);
|
||||
Assert.True(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(2, protection.RequiredStatusChecks.Contexts.Count);
|
||||
|
||||
Assert.Equal(1, protection.RequiredPullRequestReviews.DismissalRestrictions.Teams.Count);
|
||||
Assert.Equal(0, protection.RequiredPullRequestReviews.DismissalRestrictions.Users.Count);
|
||||
Assert.True(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.True(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(3, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
Assert.Equal(1, protection.RequiredPullRequestReviews.DismissalRestrictions.Teams.Count);
|
||||
Assert.Equal(0, protection.RequiredPullRequestReviews.DismissalRestrictions.Users.Count);
|
||||
Assert.True(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.True(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(3, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
|
||||
Assert.Equal(1, protection.Restrictions.Teams.Count);
|
||||
Assert.Equal(0, protection.Restrictions.Users.Count);
|
||||
Assert.Equal(1, protection.Restrictions.Teams.Count);
|
||||
Assert.Equal(0, protection.Restrictions.Users.Count);
|
||||
|
||||
Assert.True(protection.EnforceAdmins.Enabled);
|
||||
Assert.True(protection.EnforceAdmins.Enabled);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
[OrganizationTest]
|
||||
public async Task GetsBranchProtectionForOrgRepoWithRepositoryId()
|
||||
{
|
||||
var repoId = _orgRepoContext.RepositoryContext.RepositoryId;
|
||||
var protection = await _client.GetBranchProtection(repoId, "master");
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryContext.RepositoryId;
|
||||
var protection = await _client.GetBranchProtection(repoId, "main");
|
||||
|
||||
Assert.True(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(2, protection.RequiredStatusChecks.Contexts.Count);
|
||||
Assert.True(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(2, protection.RequiredStatusChecks.Contexts.Count);
|
||||
|
||||
Assert.Equal(1, protection.RequiredPullRequestReviews.DismissalRestrictions.Teams.Count);
|
||||
Assert.Equal(0, protection.RequiredPullRequestReviews.DismissalRestrictions.Users.Count);
|
||||
Assert.True(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.True(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(3, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
Assert.Equal(1, protection.RequiredPullRequestReviews.DismissalRestrictions.Teams.Count);
|
||||
Assert.Equal(0, protection.RequiredPullRequestReviews.DismissalRestrictions.Users.Count);
|
||||
Assert.True(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.True(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(3, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
|
||||
Assert.Equal(1, protection.Restrictions.Teams.Count);
|
||||
Assert.Equal(0, protection.Restrictions.Users.Count);
|
||||
Assert.Equal(1, protection.Restrictions.Teams.Count);
|
||||
Assert.Equal(0, protection.Restrictions.Users.Count);
|
||||
|
||||
Assert.True(protection.EnforceAdmins.Enabled);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_userRepoContext != null)
|
||||
_userRepoContext.Dispose();
|
||||
|
||||
if (_orgRepoContext != null)
|
||||
_orgRepoContext.Dispose();
|
||||
Assert.True(protection.EnforceAdmins.Enabled);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class TheUpdateBranchProtectionMethod : IDisposable
|
||||
public class TheUpdateBranchProtectionMethod
|
||||
{
|
||||
IGitHubClient _github;
|
||||
IObservableRepositoryBranchesClient _client;
|
||||
RepositoryContext _userRepoContext;
|
||||
|
||||
public TheUpdateBranchProtectionMethod()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
_client = new ObservableRepositoryBranchesClient(github);
|
||||
|
||||
_userRepoContext = github.CreateRepositoryWithProtectedBranch().Result;
|
||||
_github = Helper.GetAuthenticatedClient();
|
||||
_client = new ObservableRepositoryBranchesClient(_github);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task UpdatesBranchProtection()
|
||||
{
|
||||
var repoOwner = _userRepoContext.RepositoryOwner;
|
||||
var repoName = _userRepoContext.RepositoryName;
|
||||
var update = new BranchProtectionSettingsUpdate(
|
||||
new BranchProtectionRequiredStatusChecksUpdate(false, new[] { "new" }),
|
||||
new BranchProtectionRequiredReviewsUpdate(false, true, 2),
|
||||
false);
|
||||
using (var context = await _github.CreateRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoOwner = context.RepositoryOwner;
|
||||
var repoName = context.RepositoryName;
|
||||
var update = new BranchProtectionSettingsUpdate(
|
||||
new BranchProtectionRequiredStatusChecksUpdate(false, new[] { "new" }),
|
||||
new BranchProtectionRequiredReviewsUpdate(false, true, 2),
|
||||
false);
|
||||
|
||||
var protection = await _client.UpdateBranchProtection(repoOwner, repoName, "main", update);
|
||||
var protection = await _client.UpdateBranchProtection(repoOwner, repoName, "main", update);
|
||||
|
||||
Assert.False(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(1, protection.RequiredStatusChecks.Contexts.Count);
|
||||
Assert.False(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(1, protection.RequiredStatusChecks.Contexts.Count);
|
||||
|
||||
Assert.Null(protection.RequiredPullRequestReviews.DismissalRestrictions);
|
||||
Assert.False(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.True(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
Assert.Null(protection.RequiredPullRequestReviews.DismissalRestrictions);
|
||||
Assert.False(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.True(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
|
||||
Assert.Null(protection.Restrictions);
|
||||
Assert.Null(protection.Restrictions);
|
||||
|
||||
Assert.False(protection.EnforceAdmins.Enabled);
|
||||
Assert.False(protection.EnforceAdmins.Enabled);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task UpdatesBranchProtectionWithRepositoryId()
|
||||
{
|
||||
var repoId = _userRepoContext.RepositoryId;
|
||||
var update = new BranchProtectionSettingsUpdate(
|
||||
new BranchProtectionRequiredStatusChecksUpdate(false, new[] { "new" }),
|
||||
new BranchProtectionRequiredReviewsUpdate(false, true, 2),
|
||||
false);
|
||||
using (var context = await _github.CreateRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryId;
|
||||
var update = new BranchProtectionSettingsUpdate(
|
||||
new BranchProtectionRequiredStatusChecksUpdate(false, new[] { "new" }),
|
||||
new BranchProtectionRequiredReviewsUpdate(false, true, 2),
|
||||
false);
|
||||
|
||||
var protection = await _client.UpdateBranchProtection(repoId, "main", update);
|
||||
var protection = await _client.UpdateBranchProtection(repoId, "main", update);
|
||||
|
||||
Assert.False(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(1, protection.RequiredStatusChecks.Contexts.Count);
|
||||
Assert.False(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(1, protection.RequiredStatusChecks.Contexts.Count);
|
||||
|
||||
Assert.Null(protection.RequiredPullRequestReviews.DismissalRestrictions);
|
||||
Assert.False(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.True(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
Assert.Null(protection.RequiredPullRequestReviews.DismissalRestrictions);
|
||||
Assert.False(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.True(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
|
||||
Assert.Null(protection.Restrictions);
|
||||
Assert.Null(protection.Restrictions);
|
||||
|
||||
Assert.False(protection.EnforceAdmins.Enabled);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_userRepoContext != null)
|
||||
_userRepoContext.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public class TheUpdateOrgBranchProtectionMethod : IDisposable
|
||||
{
|
||||
IObservableRepositoryBranchesClient _client;
|
||||
OrganizationRepositoryWithTeamContext _orgRepoContext;
|
||||
|
||||
public TheUpdateOrgBranchProtectionMethod()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
_client = new ObservableRepositoryBranchesClient(github);
|
||||
|
||||
_orgRepoContext = github.CreateOrganizationRepositoryWithProtectedBranch().Result;
|
||||
Assert.False(protection.EnforceAdmins.Enabled);
|
||||
}
|
||||
}
|
||||
|
||||
[OrganizationTest]
|
||||
public async Task UpdatesBranchProtectionForOrgRepo()
|
||||
{
|
||||
var repoOwner = _orgRepoContext.RepositoryContext.RepositoryOwner;
|
||||
var repoName = _orgRepoContext.RepositoryContext.RepositoryName;
|
||||
var update = new BranchProtectionSettingsUpdate(
|
||||
new BranchProtectionRequiredStatusChecksUpdate(false, new[] { "new" }),
|
||||
new BranchProtectionRequiredReviewsUpdate(new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(false), false, false, 2),
|
||||
new BranchProtectionPushRestrictionsUpdate(),
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true);
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoOwner = context.RepositoryContext.RepositoryOwner;
|
||||
var repoName = context.RepositoryContext.RepositoryName;
|
||||
var update = new BranchProtectionSettingsUpdate(
|
||||
new BranchProtectionRequiredStatusChecksUpdate(false, new[] { "new" }),
|
||||
new BranchProtectionRequiredReviewsUpdate(new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(false), false, false, 2),
|
||||
new BranchProtectionPushRestrictionsUpdate(),
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true);
|
||||
|
||||
var protection = await _client.UpdateBranchProtection(repoOwner, repoName, "main", update);
|
||||
var protection = await _client.UpdateBranchProtection(repoOwner, repoName, "main", update);
|
||||
|
||||
Assert.False(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(1, protection.RequiredStatusChecks.Contexts.Count);
|
||||
Assert.False(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(1, protection.RequiredStatusChecks.Contexts.Count);
|
||||
|
||||
Assert.Null(protection.RequiredPullRequestReviews.DismissalRestrictions);
|
||||
Assert.False(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.False(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
Assert.Null(protection.RequiredPullRequestReviews.DismissalRestrictions);
|
||||
Assert.False(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.False(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
|
||||
Assert.Empty(protection.Restrictions.Teams);
|
||||
Assert.Empty(protection.Restrictions.Users);
|
||||
Assert.Empty(protection.Restrictions.Teams);
|
||||
Assert.Empty(protection.Restrictions.Users);
|
||||
|
||||
Assert.False(protection.EnforceAdmins.Enabled);
|
||||
Assert.True(protection.RequiredLinearHistory.Enabled);
|
||||
Assert.True(protection.AllowForcePushes.Enabled);
|
||||
Assert.True(protection.AllowDeletions.Enabled);
|
||||
Assert.True(protection.BlockCreations.Enabled);
|
||||
Assert.True(protection.RequiredConversationResolution.Enabled);
|
||||
Assert.False(protection.EnforceAdmins.Enabled);
|
||||
Assert.True(protection.RequiredLinearHistory.Enabled);
|
||||
Assert.True(protection.AllowForcePushes.Enabled);
|
||||
Assert.True(protection.AllowDeletions.Enabled);
|
||||
Assert.True(protection.BlockCreations.Enabled);
|
||||
Assert.True(protection.RequiredConversationResolution.Enabled);
|
||||
}
|
||||
}
|
||||
|
||||
[OrganizationTest]
|
||||
public async Task UpdatesBranchProtectionForOrgRepoWithRepositoryId()
|
||||
{
|
||||
var repoId = _orgRepoContext.RepositoryContext.RepositoryId;
|
||||
var update = new BranchProtectionSettingsUpdate(
|
||||
new BranchProtectionRequiredStatusChecksUpdate(false, new[] { "new" }),
|
||||
new BranchProtectionRequiredReviewsUpdate(new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(false), false, false, 2),
|
||||
new BranchProtectionPushRestrictionsUpdate(),
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true);
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryContext.RepositoryId;
|
||||
var update = new BranchProtectionSettingsUpdate(
|
||||
new BranchProtectionRequiredStatusChecksUpdate(false, new[] { "new" }),
|
||||
new BranchProtectionRequiredReviewsUpdate(new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(false), false, false, 2),
|
||||
new BranchProtectionPushRestrictionsUpdate(),
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true);
|
||||
|
||||
var protection = await _client.UpdateBranchProtection(repoId, "main", update);
|
||||
var protection = await _client.UpdateBranchProtection(repoId, "main", update);
|
||||
|
||||
Assert.False(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(1, protection.RequiredStatusChecks.Contexts.Count);
|
||||
Assert.False(protection.RequiredStatusChecks.Strict);
|
||||
Assert.Equal(1, protection.RequiredStatusChecks.Contexts.Count);
|
||||
|
||||
Assert.Null(protection.RequiredPullRequestReviews.DismissalRestrictions);
|
||||
Assert.False(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.False(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
Assert.Null(protection.RequiredPullRequestReviews.DismissalRestrictions);
|
||||
Assert.False(protection.RequiredPullRequestReviews.DismissStaleReviews);
|
||||
Assert.False(protection.RequiredPullRequestReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, protection.RequiredPullRequestReviews.RequiredApprovingReviewCount);
|
||||
|
||||
Assert.Empty(protection.Restrictions.Teams);
|
||||
Assert.Empty(protection.Restrictions.Users);
|
||||
Assert.Empty(protection.Restrictions.Teams);
|
||||
Assert.Empty(protection.Restrictions.Users);
|
||||
|
||||
Assert.False(protection.EnforceAdmins.Enabled);
|
||||
Assert.True(protection.RequiredLinearHistory.Enabled);
|
||||
Assert.True(protection.AllowForcePushes.Enabled);
|
||||
Assert.True(protection.AllowDeletions.Enabled);
|
||||
Assert.True(protection.BlockCreations.Enabled);
|
||||
Assert.True(protection.RequiredConversationResolution.Enabled);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_orgRepoContext != null)
|
||||
_orgRepoContext.Dispose();
|
||||
Assert.False(protection.EnforceAdmins.Enabled);
|
||||
Assert.True(protection.RequiredLinearHistory.Enabled);
|
||||
Assert.True(protection.AllowForcePushes.Enabled);
|
||||
Assert.True(protection.AllowDeletions.Enabled);
|
||||
Assert.True(protection.BlockCreations.Enabled);
|
||||
Assert.True(protection.RequiredConversationResolution.Enabled);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -297,7 +278,7 @@ namespace Octokit.Tests.Integration
|
||||
{
|
||||
var repoOwner = context.RepositoryOwner;
|
||||
var repoName = context.RepositoryName;
|
||||
var deleted = await _client.DeleteBranchProtection(repoOwner, repoName, "master");
|
||||
var deleted = await _client.DeleteBranchProtection(repoOwner, repoName, "main");
|
||||
|
||||
Assert.True(deleted);
|
||||
}
|
||||
@@ -309,237 +290,241 @@ namespace Octokit.Tests.Integration
|
||||
using (var context = await _github.CreateRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryId;
|
||||
var deleted = await _client.DeleteBranchProtection(repoId, "master");
|
||||
var deleted = await _client.DeleteBranchProtection(repoId, "main");
|
||||
|
||||
Assert.True(deleted);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
[OrganizationTest]
|
||||
public async Task DeletesBranchProtectionForOrgRepo()
|
||||
{
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoOwner = context.RepositoryContext.RepositoryOwner;
|
||||
var repoName = context.RepositoryContext.RepositoryName;
|
||||
var deleted = await _client.DeleteBranchProtection(repoOwner, repoName, "master");
|
||||
var deleted = await _client.DeleteBranchProtection(repoOwner, repoName, "main");
|
||||
|
||||
Assert.True(deleted);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
[OrganizationTest]
|
||||
public async Task DeletesBranchProtectionForOrgRepoWithRepositoryId()
|
||||
{
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryContext.RepositoryId;
|
||||
var deleted = await _client.DeleteBranchProtection(repoId, "master");
|
||||
var deleted = await _client.DeleteBranchProtection(repoId, "main");
|
||||
|
||||
Assert.True(deleted);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class TheGetReviewEnforcementMethod : IDisposable
|
||||
public class TheGetReviewEnforcementMethod
|
||||
{
|
||||
IGitHubClient _github;
|
||||
IObservableRepositoryBranchesClient _client;
|
||||
RepositoryContext _userRepoContext;
|
||||
OrganizationRepositoryWithTeamContext _orgRepoContext;
|
||||
|
||||
public TheGetReviewEnforcementMethod()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
_client = new ObservableRepositoryBranchesClient(github);
|
||||
|
||||
_userRepoContext = github.CreateRepositoryWithProtectedBranch().Result;
|
||||
_orgRepoContext = github.CreateOrganizationRepositoryWithProtectedBranch().Result;
|
||||
_github = Helper.GetAuthenticatedClient();
|
||||
_client = new ObservableRepositoryBranchesClient(_github);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task GetsReviewEnforcement()
|
||||
{
|
||||
var repoOwner = _userRepoContext.RepositoryOwner;
|
||||
var repoName = _userRepoContext.RepositoryName;
|
||||
var requiredReviews = await _client.GetReviewEnforcement(repoOwner, repoName, "master");
|
||||
using (var context = await _github.CreateRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoOwner = context.RepositoryOwner;
|
||||
var repoName = context.RepositoryName;
|
||||
var requiredReviews = await _client.GetReviewEnforcement(repoOwner, repoName, "main");
|
||||
|
||||
Assert.Null(requiredReviews.DismissalRestrictions);
|
||||
Assert.True(requiredReviews.DismissStaleReviews);
|
||||
Assert.True(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Null(requiredReviews.DismissalRestrictions);
|
||||
Assert.True(requiredReviews.DismissStaleReviews);
|
||||
Assert.True(requiredReviews.RequireCodeOwnerReviews);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task GetsReviewEnforcementWithRepositoryId()
|
||||
{
|
||||
var repoId = _userRepoContext.RepositoryId;
|
||||
var requiredReviews = await _client.GetReviewEnforcement(repoId, "master");
|
||||
using (var context = await _github.CreateRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryId;
|
||||
var requiredReviews = await _client.GetReviewEnforcement(repoId, "main");
|
||||
|
||||
Assert.Null(requiredReviews.DismissalRestrictions);
|
||||
Assert.True(requiredReviews.DismissStaleReviews);
|
||||
Assert.True(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Null(requiredReviews.DismissalRestrictions);
|
||||
Assert.True(requiredReviews.DismissStaleReviews);
|
||||
Assert.True(requiredReviews.RequireCodeOwnerReviews);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
[OrganizationTest]
|
||||
public async Task GetsReviewEnforcementForOrgRepo()
|
||||
{
|
||||
var repoOwner = _orgRepoContext.RepositoryContext.RepositoryOwner;
|
||||
var repoName = _orgRepoContext.RepositoryContext.RepositoryName;
|
||||
var requiredReviews = await _client.GetReviewEnforcement(repoOwner, repoName, "master");
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoOwner = context.RepositoryContext.RepositoryOwner;
|
||||
var repoName = context.RepositoryContext.RepositoryName;
|
||||
var requiredReviews = await _client.GetReviewEnforcement(repoOwner, repoName, "main");
|
||||
|
||||
Assert.Equal(1, requiredReviews.DismissalRestrictions.Teams.Count);
|
||||
Assert.Equal(0, requiredReviews.DismissalRestrictions.Users.Count);
|
||||
Assert.True(requiredReviews.DismissStaleReviews);
|
||||
Assert.True(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(1, requiredReviews.DismissalRestrictions.Teams.Count);
|
||||
Assert.Equal(0, requiredReviews.DismissalRestrictions.Users.Count);
|
||||
Assert.True(requiredReviews.DismissStaleReviews);
|
||||
Assert.True(requiredReviews.RequireCodeOwnerReviews);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
[OrganizationTest]
|
||||
public async Task GetsReviewEnforcementForOrgRepoWithRepositoryId()
|
||||
{
|
||||
var repoId = _orgRepoContext.RepositoryContext.RepositoryId;
|
||||
var requiredReviews = await _client.GetReviewEnforcement(repoId, "master");
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryContext.RepositoryId;
|
||||
var requiredReviews = await _client.GetReviewEnforcement(repoId, "main");
|
||||
|
||||
Assert.Equal(1, requiredReviews.DismissalRestrictions.Teams.Count);
|
||||
Assert.Equal(0, requiredReviews.DismissalRestrictions.Users.Count);
|
||||
Assert.True(requiredReviews.DismissStaleReviews);
|
||||
Assert.True(requiredReviews.RequireCodeOwnerReviews);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_userRepoContext != null)
|
||||
_userRepoContext.Dispose();
|
||||
|
||||
if (_orgRepoContext != null)
|
||||
_orgRepoContext.Dispose();
|
||||
Assert.Equal(1, requiredReviews.DismissalRestrictions.Teams.Count);
|
||||
Assert.Equal(0, requiredReviews.DismissalRestrictions.Users.Count);
|
||||
Assert.True(requiredReviews.DismissStaleReviews);
|
||||
Assert.True(requiredReviews.RequireCodeOwnerReviews);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class TheUpdateReviewEnforcementMethod : IDisposable
|
||||
public class TheUpdateReviewEnforcementMethod
|
||||
{
|
||||
IGitHubClient _github;
|
||||
IObservableRepositoryBranchesClient _client;
|
||||
RepositoryContext _userRepoContext;
|
||||
OrganizationRepositoryWithTeamContext _orgRepoContext;
|
||||
|
||||
public TheUpdateReviewEnforcementMethod()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
_client = new ObservableRepositoryBranchesClient(github);
|
||||
|
||||
_userRepoContext = github.CreateRepositoryWithProtectedBranch().Result;
|
||||
_orgRepoContext = github.CreateOrganizationRepositoryWithProtectedBranch().Result;
|
||||
_github = Helper.GetAuthenticatedClient();
|
||||
_client = new ObservableRepositoryBranchesClient(_github);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task UpdatesReviewEnforcement()
|
||||
{
|
||||
var repoOwner = _userRepoContext.RepositoryOwner;
|
||||
var repoName = _userRepoContext.RepositoryName;
|
||||
var update = new BranchProtectionRequiredReviewsUpdate(false, true, 2);
|
||||
using (var context = await _github.CreateRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoOwner = context.RepositoryOwner;
|
||||
var repoName = context.RepositoryName;
|
||||
var update = new BranchProtectionRequiredReviewsUpdate(false, true, 2);
|
||||
|
||||
var requiredReviews = await _client.UpdateReviewEnforcement(repoOwner, repoName, "master", update);
|
||||
var requiredReviews = await _client.UpdateReviewEnforcement(repoOwner, repoName, "main", update);
|
||||
|
||||
Assert.Null(requiredReviews.DismissalRestrictions);
|
||||
Assert.False(requiredReviews.DismissStaleReviews);
|
||||
Assert.True(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, requiredReviews.RequiredApprovingReviewCount);
|
||||
Assert.Null(requiredReviews.DismissalRestrictions);
|
||||
Assert.False(requiredReviews.DismissStaleReviews);
|
||||
Assert.True(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, requiredReviews.RequiredApprovingReviewCount);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task UpdatesReviewEnforcementWithRepositoryId()
|
||||
{
|
||||
var repoId = _userRepoContext.RepositoryId;
|
||||
var update = new BranchProtectionRequiredReviewsUpdate(false, true, 2);
|
||||
using (var context = await _github.CreateRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryId;
|
||||
var update = new BranchProtectionRequiredReviewsUpdate(false, true, 2);
|
||||
|
||||
var requiredReviews = await _client.UpdateReviewEnforcement(repoId, "master", update);
|
||||
var requiredReviews = await _client.UpdateReviewEnforcement(repoId, "main", update);
|
||||
|
||||
Assert.Null(requiredReviews.DismissalRestrictions);
|
||||
Assert.False(requiredReviews.DismissStaleReviews);
|
||||
Assert.True(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, requiredReviews.RequiredApprovingReviewCount);
|
||||
Assert.Null(requiredReviews.DismissalRestrictions);
|
||||
Assert.False(requiredReviews.DismissStaleReviews);
|
||||
Assert.True(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, requiredReviews.RequiredApprovingReviewCount);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
[OrganizationTest]
|
||||
public async Task UpdatesReviewEnforcementForOrgRepo()
|
||||
{
|
||||
var repoOwner = _orgRepoContext.RepositoryContext.RepositoryOwner;
|
||||
var repoName = _orgRepoContext.RepositoryContext.RepositoryName;
|
||||
var update = new BranchProtectionRequiredReviewsUpdate(
|
||||
new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(false),
|
||||
false,
|
||||
false,
|
||||
2);
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoOwner = context.RepositoryContext.RepositoryOwner;
|
||||
var repoName = context.RepositoryContext.RepositoryName;
|
||||
var update = new BranchProtectionRequiredReviewsUpdate(
|
||||
new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(false),
|
||||
false,
|
||||
false,
|
||||
2);
|
||||
|
||||
var requiredReviews = await _client.UpdateReviewEnforcement(repoOwner, repoName, "master", update);
|
||||
var requiredReviews = await _client.UpdateReviewEnforcement(repoOwner, repoName, "main", update);
|
||||
|
||||
Assert.Null(requiredReviews.DismissalRestrictions);
|
||||
Assert.False(requiredReviews.DismissStaleReviews);
|
||||
Assert.False(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, requiredReviews.RequiredApprovingReviewCount);
|
||||
Assert.Null(requiredReviews.DismissalRestrictions);
|
||||
Assert.False(requiredReviews.DismissStaleReviews);
|
||||
Assert.False(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, requiredReviews.RequiredApprovingReviewCount);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
[OrganizationTest]
|
||||
public async Task UpdatesReviewEnforcementForOrgRepoWithRepositoryId()
|
||||
{
|
||||
var repoId = _orgRepoContext.RepositoryContext.RepositoryId;
|
||||
var update = new BranchProtectionRequiredReviewsUpdate(
|
||||
new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(false),
|
||||
false,
|
||||
false,
|
||||
2);
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryContext.RepositoryId;
|
||||
var update = new BranchProtectionRequiredReviewsUpdate(
|
||||
new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(false),
|
||||
false,
|
||||
false,
|
||||
2);
|
||||
|
||||
var requiredReviews = await _client.UpdateReviewEnforcement(repoId, "master", update);
|
||||
var requiredReviews = await _client.UpdateReviewEnforcement(repoId, "main", update);
|
||||
|
||||
Assert.Null(requiredReviews.DismissalRestrictions);
|
||||
Assert.False(requiredReviews.DismissStaleReviews);
|
||||
Assert.False(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, requiredReviews.RequiredApprovingReviewCount);
|
||||
Assert.Null(requiredReviews.DismissalRestrictions);
|
||||
Assert.False(requiredReviews.DismissStaleReviews);
|
||||
Assert.False(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, requiredReviews.RequiredApprovingReviewCount);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
[OrganizationTest]
|
||||
public async Task UpdatesReviewEnforcementForOrgRepoWithAdminOnly()
|
||||
{
|
||||
var repoOwner = _orgRepoContext.RepositoryContext.RepositoryOwner;
|
||||
var repoName = _orgRepoContext.RepositoryContext.RepositoryName;
|
||||
var update = new BranchProtectionRequiredReviewsUpdate(
|
||||
new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(true),
|
||||
false,
|
||||
false,
|
||||
2);
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoOwner = context.RepositoryContext.RepositoryOwner;
|
||||
var repoName = context.RepositoryContext.RepositoryName;
|
||||
var update = new BranchProtectionRequiredReviewsUpdate(
|
||||
new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(true),
|
||||
false,
|
||||
false,
|
||||
2);
|
||||
|
||||
var requiredReviews = await _client.UpdateReviewEnforcement(repoOwner, repoName, "master", update);
|
||||
var requiredReviews = await _client.UpdateReviewEnforcement(repoOwner, repoName, "main", update);
|
||||
|
||||
Assert.Empty(requiredReviews.DismissalRestrictions.Teams);
|
||||
Assert.Empty(requiredReviews.DismissalRestrictions.Users);
|
||||
Assert.False(requiredReviews.DismissStaleReviews);
|
||||
Assert.False(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Empty(requiredReviews.DismissalRestrictions.Teams);
|
||||
Assert.Empty(requiredReviews.DismissalRestrictions.Users);
|
||||
Assert.False(requiredReviews.DismissStaleReviews);
|
||||
Assert.False(requiredReviews.RequireCodeOwnerReviews);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
[OrganizationTest]
|
||||
public async Task UpdatesReviewEnforcementForOrgRepoWithAdminOnlyWithRepositoryId()
|
||||
{
|
||||
var repoId = _orgRepoContext.RepositoryContext.RepositoryId;
|
||||
var update = new BranchProtectionRequiredReviewsUpdate(
|
||||
new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(true),
|
||||
false,
|
||||
false,
|
||||
2);
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryContext.RepositoryId;
|
||||
var update = new BranchProtectionRequiredReviewsUpdate(
|
||||
new BranchProtectionRequiredReviewsDismissalRestrictionsUpdate(true),
|
||||
false,
|
||||
false,
|
||||
2);
|
||||
|
||||
var requiredReviews = await _client.UpdateReviewEnforcement(repoId, "master", update);
|
||||
var requiredReviews = await _client.UpdateReviewEnforcement(repoId, "main", update);
|
||||
|
||||
Assert.Empty(requiredReviews.DismissalRestrictions.Teams);
|
||||
Assert.Empty(requiredReviews.DismissalRestrictions.Users);
|
||||
Assert.False(requiredReviews.DismissStaleReviews);
|
||||
Assert.False(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, requiredReviews.RequiredApprovingReviewCount);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_userRepoContext != null)
|
||||
_userRepoContext.Dispose();
|
||||
|
||||
if (_orgRepoContext != null)
|
||||
_orgRepoContext.Dispose();
|
||||
Assert.Empty(requiredReviews.DismissalRestrictions.Teams);
|
||||
Assert.Empty(requiredReviews.DismissalRestrictions.Users);
|
||||
Assert.False(requiredReviews.DismissStaleReviews);
|
||||
Assert.False(requiredReviews.RequireCodeOwnerReviews);
|
||||
Assert.Equal(2, requiredReviews.RequiredApprovingReviewCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -561,7 +546,7 @@ namespace Octokit.Tests.Integration
|
||||
{
|
||||
var repoOwner = context.RepositoryOwner;
|
||||
var repoName = context.RepositoryName;
|
||||
var deleted = await _client.RemoveReviewEnforcement(repoOwner, repoName, "master");
|
||||
var deleted = await _client.RemoveReviewEnforcement(repoOwner, repoName, "main");
|
||||
|
||||
Assert.True(deleted);
|
||||
}
|
||||
@@ -573,32 +558,32 @@ namespace Octokit.Tests.Integration
|
||||
using (var context = await _github.CreateRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryId;
|
||||
var deleted = await _client.RemoveReviewEnforcement(repoId, "master");
|
||||
var deleted = await _client.RemoveReviewEnforcement(repoId, "main");
|
||||
|
||||
Assert.True(deleted);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
[OrganizationTest]
|
||||
public async Task RemovesReviewEnforcementForOrgRepo()
|
||||
{
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoOwner = context.RepositoryContext.RepositoryOwner;
|
||||
var repoName = context.RepositoryContext.RepositoryName;
|
||||
var deleted = await _client.RemoveReviewEnforcement(repoOwner, repoName, "master");
|
||||
var deleted = await _client.RemoveReviewEnforcement(repoOwner, repoName, "main");
|
||||
|
||||
Assert.True(deleted);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
[OrganizationTest]
|
||||
public async Task RemovesReviewEnforcementForOrgRepoWithRepositoryId()
|
||||
{
|
||||
using (var context = await _github.CreateOrganizationRepositoryWithProtectedBranch())
|
||||
{
|
||||
var repoId = context.RepositoryContext.RepositoryId;
|
||||
var deleted = await _client.RemoveReviewEnforcement(repoId, "master");
|
||||
var deleted = await _client.RemoveReviewEnforcement(repoId, "main");
|
||||
|
||||
Assert.True(deleted);
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ public class ObservableTeamsClientTests
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
var client = new ObservableTeamsClient(github);
|
||||
|
||||
using (var repositoryContext = await github.CreateRepositoryContext(Helper.Organization, new NewRepository(Helper.MakeNameWithTimestamp("teamrepo"))))
|
||||
using (var repositoryContext = await github.CreateOrganizationRepositoryContext(Helper.Organization, new NewRepository(Helper.MakeNameWithTimestamp("teamrepo"))))
|
||||
{
|
||||
client.AddRepository(_team.Id, Helper.Organization, repositoryContext.RepositoryName);
|
||||
|
||||
|
||||
@@ -15,4 +15,14 @@ namespace Octokit.Tests.Integration
|
||||
Assert.Equal("", errors);
|
||||
}
|
||||
}
|
||||
|
||||
public class GitHubClientTestBase
|
||||
{
|
||||
protected readonly IGitHubClient _github;
|
||||
|
||||
public GitHubClientTestBase()
|
||||
{
|
||||
_github = Helper.GetAuthenticatedClient();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -637,7 +637,7 @@ namespace Octokit.Tests.Clients
|
||||
{
|
||||
"payload", new
|
||||
{
|
||||
@ref = "master",
|
||||
@ref = GitHubConstants.DefaultBranchName,
|
||||
ref_type = "branch",
|
||||
}
|
||||
}
|
||||
@@ -648,7 +648,7 @@ namespace Octokit.Tests.Clients
|
||||
Assert.Equal(1, activities.Count);
|
||||
|
||||
var payload = activities.FirstOrDefault().Payload as CreateEventPayload;
|
||||
Assert.Equal("master", payload.Ref);
|
||||
Assert.Equal(GitHubConstants.DefaultBranchName, payload.Ref);
|
||||
Assert.Equal(RefType.Branch, payload.RefType);
|
||||
}
|
||||
|
||||
@@ -661,7 +661,7 @@ namespace Octokit.Tests.Clients
|
||||
{
|
||||
"payload", new
|
||||
{
|
||||
@ref = "master",
|
||||
@ref = GitHubConstants.DefaultBranchName,
|
||||
ref_type = "branch",
|
||||
}
|
||||
}
|
||||
@@ -672,7 +672,7 @@ namespace Octokit.Tests.Clients
|
||||
Assert.Equal(1, activities.Count);
|
||||
|
||||
var payload = activities.FirstOrDefault().Payload as DeleteEventPayload;
|
||||
Assert.Equal("master", payload.Ref);
|
||||
Assert.Equal(GitHubConstants.DefaultBranchName, payload.Ref);
|
||||
Assert.Equal(RefType.Branch, payload.RefType);
|
||||
}
|
||||
|
||||
@@ -955,7 +955,7 @@ namespace Octokit.Tests.Clients
|
||||
{
|
||||
new
|
||||
{
|
||||
name = "master",
|
||||
name = GitHubConstants.DefaultBranchName,
|
||||
commit = new
|
||||
{
|
||||
sha = "9049f1265b7d61be4a8904a9a27120d2064dab3b",
|
||||
|
||||
@@ -261,9 +261,9 @@ namespace Octokit.Tests.Clients
|
||||
connection.GetAll<RepositoryContent>(Args.Uri).Returns(Task.FromResult(result.AsReadOnly() as IReadOnlyList<RepositoryContent>));
|
||||
var contentsClient = new RepositoryContentsClient(connection);
|
||||
|
||||
var contents = await contentsClient.GetAllContentsByRef("fake", "repo", "readme.md", "master");
|
||||
var contents = await contentsClient.GetAllContentsByRef("fake", "repo", "readme.md", GitHubConstants.DefaultBranchName);
|
||||
|
||||
connection.Received().GetAll<RepositoryContent>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/contents/readme.md?ref=master"));
|
||||
connection.Received().GetAll<RepositoryContent>(Arg.Is<Uri>(u => u.ToString() == $"repos/fake/repo/contents/readme.md?ref={GitHubConstants.DefaultBranchName}"));
|
||||
Assert.Equal(1, contents.Count);
|
||||
}
|
||||
|
||||
@@ -276,9 +276,9 @@ namespace Octokit.Tests.Clients
|
||||
connection.GetAll<RepositoryContent>(Args.Uri).Returns(Task.FromResult(result.AsReadOnly() as IReadOnlyList<RepositoryContent>));
|
||||
var contentsClient = new RepositoryContentsClient(connection);
|
||||
|
||||
var contents = await contentsClient.GetAllContentsByRef(1, "readme.md", "master");
|
||||
var contents = await contentsClient.GetAllContentsByRef(1, "readme.md", GitHubConstants.DefaultBranchName);
|
||||
|
||||
connection.Received().GetAll<RepositoryContent>(Arg.Is<Uri>(u => u.ToString() == "repositories/1/contents/readme.md?ref=master"));
|
||||
connection.Received().GetAll<RepositoryContent>(Arg.Is<Uri>(u => u.ToString() == $"repositories/1/contents/readme.md?ref={GitHubConstants.DefaultBranchName}"));
|
||||
Assert.Equal(1, contents.Count);
|
||||
}
|
||||
|
||||
@@ -291,9 +291,9 @@ namespace Octokit.Tests.Clients
|
||||
connection.GetAll<RepositoryContent>(Args.Uri).Returns(Task.FromResult(result.AsReadOnly() as IReadOnlyList<RepositoryContent>));
|
||||
var contentsClient = new RepositoryContentsClient(connection);
|
||||
|
||||
var contents = await contentsClient.GetAllContentsByRef("fake", "repo", "master");
|
||||
var contents = await contentsClient.GetAllContentsByRef("fake", "repo", GitHubConstants.DefaultBranchName);
|
||||
|
||||
connection.Received().GetAll<RepositoryContent>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/contents/?ref=master"));
|
||||
connection.Received().GetAll<RepositoryContent>(Arg.Is<Uri>(u => u.ToString() == $"repos/fake/repo/contents/?ref={GitHubConstants.DefaultBranchName}"));
|
||||
Assert.Equal(1, contents.Count);
|
||||
}
|
||||
|
||||
@@ -306,9 +306,9 @@ namespace Octokit.Tests.Clients
|
||||
connection.GetAll<RepositoryContent>(Args.Uri).Returns(Task.FromResult(result.AsReadOnly() as IReadOnlyList<RepositoryContent>));
|
||||
var contentsClient = new RepositoryContentsClient(connection);
|
||||
|
||||
var contents = await contentsClient.GetAllContentsByRef(1, "master");
|
||||
var contents = await contentsClient.GetAllContentsByRef(1, GitHubConstants.DefaultBranchName);
|
||||
|
||||
connection.Received().GetAll<RepositoryContent>(Arg.Is<Uri>(u => u.ToString() == "repositories/1/contents/?ref=master"));
|
||||
connection.Received().GetAll<RepositoryContent>(Arg.Is<Uri>(u => u.ToString() == $"repositories/1/contents/?ref={GitHubConstants.DefaultBranchName}"));
|
||||
Assert.Equal(1, contents.Count);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"upload_url": "https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name}",
|
||||
"id": 1,
|
||||
"tag_name": "v1.0.0",
|
||||
"target_commitish": "master",
|
||||
"target_commitish": "main",
|
||||
"name": "v1.0.0",
|
||||
"body": "Description of the release",
|
||||
"draft": false,
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"html_url": "https://github.com/git-tfs/git-tfs/releases/v0.18.0",
|
||||
"id": 16259,
|
||||
"tag_name": "v0.18.0",
|
||||
"target_commitish": "master",
|
||||
"target_commitish": "main",
|
||||
"name": "0.18.0",
|
||||
"body": "* Improve unshelve (#351)\r\n* Better support for running git-tfs in bare repositories (#353)\r\n* Use the saved author file for `rcheckin` (#366)\r\n* Add \"except\" to include an otherwise \"ignored\" file (#377)\r\n* Update libgit2sharp (#387)\r\n* Add a `--nofetch` option to the `branch` (#392) and `init-branch` (#379) commands\r\n* Reduce memory consumption during a fetch (#394)\r\n* Use only one workspace per fetch (rather than one workspace per changeset fetched) (#414)\r\n* Other fixes (#367, #376, #385, #389, #390, #397, #398, #400, #416)\r\n\r\n[Full diff](https://github.com/git-tfs/git-tfs/compare/v0.17.2...v0.18.0)",
|
||||
"draft": false,
|
||||
@@ -35,7 +35,7 @@
|
||||
"html_url": "https://github.com/git-tfs/git-tfs/releases/v0.12.1",
|
||||
"id": 10541,
|
||||
"tag_name": "v0.12.1",
|
||||
"target_commitish": "master",
|
||||
"target_commitish": "main",
|
||||
"name": "",
|
||||
"body": "- Fixed: 'TF14045: The identity MYDOMAIN\\John Doe is not a recognized identity' (#76, #81)\r\n- Fixed: exception on unshelve if some items was renamed (#77)\r\n- Fixed: rare problem when TFS' mixed mode assemblies cannot be loaded correctly (#93)\r\n- Some fixes for Unicode filenames and TFS usernames (#80)\r\n- git-tfs exit codes are now positive\r\n- git-tfs cleans up files if clone command resulted in exception (#94)\r\n- Restored VS2008 functionality (#99)",
|
||||
"draft": false,
|
||||
@@ -53,7 +53,7 @@
|
||||
"html_url": "https://github.com/git-tfs/git-tfs/releases/v0.14.0",
|
||||
"id": 10540,
|
||||
"tag_name": "v0.14.0",
|
||||
"target_commitish": "master",
|
||||
"target_commitish": "main",
|
||||
"name": "",
|
||||
"body": "- Fixed a bug in shelve (#133).\r\n- Fixed rename problem in checkintool (#148).\r\n- Fixed shelve -f (#157).\r\n- Fixed (or unfixed) case sensitivity (#159).\r\n- When a git subprocess exits with error, show the return/error code (#151).\r\n- Add support for VS11.",
|
||||
"draft": false,
|
||||
@@ -71,7 +71,7 @@
|
||||
"html_url": "https://github.com/git-tfs/git-tfs/releases/v0.15.0",
|
||||
"id": 10539,
|
||||
"tag_name": "v0.15.0",
|
||||
"target_commitish": "master",
|
||||
"target_commitish": "main",
|
||||
"name": "",
|
||||
"body": "- Use [libgit2sharp](https://github.com/libgit2/libgit2sharp).\r\n- Add default comment for shelves (#187)\r\n- Add support for files with international characters (#200)\r\n- Fix the mixed case problem (once and for all?) (#213)\r\n- Add support for authors file\r\n- Set up CI with [travis](http://travis-ci.org/git-tfs/git-tfs) and [teamcity](http://teamcity.codebetter.com/)",
|
||||
"draft": false,
|
||||
@@ -89,7 +89,7 @@
|
||||
"html_url": "https://github.com/git-tfs/git-tfs/releases/v0.17.2",
|
||||
"id": 277,
|
||||
"tag_name": "v0.17.2",
|
||||
"target_commitish": "master",
|
||||
"target_commitish": "main",
|
||||
"name": "0.17.2",
|
||||
"body": "* Use the git author as the TFS committer during `git tfs rcheckin` (#336) and `git tfs rcheckin --quick` (#357)\r\n* Improve temporary workspace handling (#328, #372)\r\n* Use libgit2sharp more and git-core less (#361)\r\n* Bug fix for bare repositories (#352)\r\n* Bug fix for crash during `git tfs clone` (#349)\r\n* Bug fix for VS2008 (#362)\r\n* Update libgit2sharp\r\n* Improved release process (#333, #340)\r\n\r\n[Full diff](https://github.com/git-tfs/git-tfs/compare/v0.17.1...v0.17.2)",
|
||||
"draft": false,
|
||||
@@ -118,7 +118,7 @@
|
||||
"html_url": "https://github.com/git-tfs/git-tfs/releases/v0.17.1",
|
||||
"id": 203,
|
||||
"tag_name": "v0.17.1",
|
||||
"target_commitish": "master",
|
||||
"target_commitish": "main",
|
||||
"name": "v0.17.1",
|
||||
"body": "- Fixed `git tfs clone` broken in some cases in 0.17 (#330)",
|
||||
"draft": false,
|
||||
@@ -147,7 +147,7 @@
|
||||
"html_url": "https://github.com/git-tfs/git-tfs/releases/v0.17.0",
|
||||
"id": 198,
|
||||
"tag_name": "v0.17.0",
|
||||
"target_commitish": "master",
|
||||
"target_commitish": "main",
|
||||
"name": "0.17.0",
|
||||
"body": "- [branch](commands/branch.md)\r\n- [labels](commands/labels.md) (#256)\r\n- git tfs pull --rebase (#254)\r\n- git tfs clone --with-branches (#255)\r\n- unicode support (#204)\r\n- Use a custom workspace (#266)\r\n- Clean workspaces directory (#269)\r\n- Add a note on the commit to keep trace of the workitems (#276)\r\n- Remove orphan folders (except in specific cases) (#323)",
|
||||
"draft": false,
|
||||
@@ -176,7 +176,7 @@
|
||||
"html_url": "https://github.com/git-tfs/git-tfs/releases/v0.16.0",
|
||||
"id": 171,
|
||||
"tag_name": "v0.16.0",
|
||||
"target_commitish": "master",
|
||||
"target_commitish": "main",
|
||||
"name": "0.16.0",
|
||||
"body": "- [init-branch](commands/init-branch.md)!! (#232)\r\n- Faster clone (#226) and quick-clone.\r\n- Add `git tfs info` (#219)\r\n- Better metadata processing during rcheckin: remove the flags (#237), ignore whitespace (#238), add `git-tfs-force:` reason (#219).\r\n- Always use CRLF in TFS checkin comments (#239)\r\n- Checkin notes (#245)\r\n- Use authors file more, and save it so you don't have to tell git-tfs about it every time you need it. (#252)",
|
||||
"draft": false,
|
||||
@@ -205,7 +205,7 @@
|
||||
"html_url": "https://github.com/git-tfs/git-tfs/releases/v0.16.1",
|
||||
"id": 110,
|
||||
"tag_name": "v0.16.1",
|
||||
"target_commitish": "master",
|
||||
"target_commitish": "main",
|
||||
"name": "0.16.1",
|
||||
"body": "- Fixed `git tfs unshelve` (broken in 0.16.0) (#253).",
|
||||
"draft": false,
|
||||
|
||||
Binary file not shown.
Binary file not shown.
7
Octokit.Tests/GitHubConstants.cs
Normal file
7
Octokit.Tests/GitHubConstants.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace Octokit.Tests
|
||||
{
|
||||
public class GitHubConstants
|
||||
{
|
||||
public const string DefaultBranchName = "main";
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@ namespace Octokit.Tests.Models
|
||||
""name"": ""randscape"",
|
||||
""check_suite"": {
|
||||
""id"": 5,
|
||||
""head_branch"": ""master"",
|
||||
""head_branch"": ""main"",
|
||||
""head_sha"": ""d6fde92930d4715a2b49857d24b940956b26d2d3"",
|
||||
""status"": ""completed"",
|
||||
""conclusion"": ""neutral"",
|
||||
@@ -201,7 +201,7 @@ namespace Octokit.Tests.Models
|
||||
""forks"": 0,
|
||||
""open_issues"": 3,
|
||||
""watchers"": 0,
|
||||
""default_branch"": ""master""
|
||||
""default_branch"": ""main""
|
||||
},
|
||||
""organization"": {
|
||||
""login"": ""github"",
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -92,7 +92,7 @@ namespace Octokit.Tests.Models
|
||||
""stargazers_count"": 80,
|
||||
""watchers_count"": 80,
|
||||
""size"": 108,
|
||||
""default_branch"": ""master"",
|
||||
""default_branch"": ""main"",
|
||||
""open_issues_count"": 0,
|
||||
""has_issues"": true,
|
||||
""has_wiki"": true,
|
||||
|
||||
@@ -39,8 +39,8 @@ public class SearchRepositoryResultTests
|
||||
""language"": ""Assembly"",
|
||||
""forks_count"": 0,
|
||||
""open_issues_count"": 0,
|
||||
""master_branch"": ""master"",
|
||||
""default_branch"": ""master"",
|
||||
""master_branch"": ""main"",
|
||||
""default_branch"": ""main"",
|
||||
""score"": 10.309712
|
||||
}
|
||||
]
|
||||
|
||||
@@ -312,9 +312,9 @@ namespace Octokit.Tests.Reactive
|
||||
connection.Get<List<RepositoryContent>>(Args.Uri, null, null)
|
||||
.Returns(Task.FromResult(response));
|
||||
|
||||
var contents = await contentsClient.GetAllContentsByRef("fake", "repo", "master", "readme.md").ToList();
|
||||
var contents = await contentsClient.GetAllContentsByRef("fake", "repo", GitHubConstants.DefaultBranchName, "readme.md").ToList();
|
||||
|
||||
connection.Received().Get<List<RepositoryContent>>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/contents/readme.md?ref=master"), null, null);
|
||||
connection.Received().Get<List<RepositoryContent>>(Arg.Is<Uri>(u => u.ToString() == $"repos/fake/repo/contents/readme.md?ref={GitHubConstants.DefaultBranchName}"), null, null);
|
||||
Assert.Equal(1, contents.Count);
|
||||
}
|
||||
|
||||
@@ -330,9 +330,9 @@ namespace Octokit.Tests.Reactive
|
||||
connection.Get<List<RepositoryContent>>(Args.Uri, null, null)
|
||||
.Returns(Task.FromResult(response));
|
||||
|
||||
var contents = await contentsClient.GetAllContentsByRef(1, "master", "readme.md").ToList();
|
||||
var contents = await contentsClient.GetAllContentsByRef(1, GitHubConstants.DefaultBranchName, "readme.md").ToList();
|
||||
|
||||
connection.Received().Get<List<RepositoryContent>>(Arg.Is<Uri>(u => u.ToString() == "repositories/1/contents/readme.md?ref=master"), null, null);
|
||||
connection.Received().Get<List<RepositoryContent>>(Arg.Is<Uri>(u => u.ToString() == $"repositories/1/contents/readme.md?ref={GitHubConstants.DefaultBranchName}"), null, null);
|
||||
Assert.Equal(1, contents.Count);
|
||||
}
|
||||
|
||||
@@ -348,9 +348,9 @@ namespace Octokit.Tests.Reactive
|
||||
connection.Get<List<RepositoryContent>>(Args.Uri, null, null)
|
||||
.Returns(Task.FromResult(response));
|
||||
|
||||
var contents = await contentsClient.GetAllContentsByRef("fake", "repo", "master").ToList();
|
||||
var contents = await contentsClient.GetAllContentsByRef("fake", "repo", GitHubConstants.DefaultBranchName).ToList();
|
||||
|
||||
connection.Received().Get<List<RepositoryContent>>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/contents/?ref=master"), null, null);
|
||||
connection.Received().Get<List<RepositoryContent>>(Arg.Is<Uri>(u => u.ToString() == $"repos/fake/repo/contents/?ref={GitHubConstants.DefaultBranchName}"), null, null);
|
||||
Assert.Equal(1, contents.Count);
|
||||
}
|
||||
|
||||
@@ -366,9 +366,9 @@ namespace Octokit.Tests.Reactive
|
||||
connection.Get<List<RepositoryContent>>(Args.Uri, null, null)
|
||||
.Returns(Task.FromResult(response));
|
||||
|
||||
var contents = await contentsClient.GetAllContentsByRef(1, "master").ToList();
|
||||
var contents = await contentsClient.GetAllContentsByRef(1, GitHubConstants.DefaultBranchName).ToList();
|
||||
|
||||
connection.Received().Get<List<RepositoryContent>>(Arg.Is<Uri>(u => u.ToString() == "repositories/1/contents/?ref=master"), null, null);
|
||||
connection.Received().Get<List<RepositoryContent>>(Arg.Is<Uri>(u => u.ToString() == $"repositories/1/contents/?ref={GitHubConstants.DefaultBranchName}"), null, null);
|
||||
Assert.Equal(1, contents.Count);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,9 +23,9 @@ namespace Octokit
|
||||
/// <param name="reference">The reference name</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get",
|
||||
Justification = "Method makes a network request")]
|
||||
@@ -41,9 +41,9 @@ namespace Octokit
|
||||
/// <param name="reference">The reference name</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get",
|
||||
Justification = "Method makes a network request")]
|
||||
@@ -104,9 +104,9 @@ namespace Octokit
|
||||
/// <param name="subNamespace">The sub-namespace to get references for</param>
|
||||
/// <remarks>
|
||||
/// The subNamespace parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
Task<IReadOnlyList<Reference>> GetAllForSubNamespace(string owner, string name, string subNamespace);
|
||||
|
||||
@@ -122,9 +122,9 @@ namespace Octokit
|
||||
/// <param name="options">Options for changing the API response</param>
|
||||
/// <remarks>
|
||||
/// The subNamespace parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
Task<IReadOnlyList<Reference>> GetAllForSubNamespace(string owner, string name, string subNamespace, ApiOptions options);
|
||||
|
||||
@@ -138,9 +138,9 @@ namespace Octokit
|
||||
/// <param name="subNamespace">The sub-namespace to get references for</param>
|
||||
/// <remarks>
|
||||
/// The subNamespace parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
Task<IReadOnlyList<Reference>> GetAllForSubNamespace(long repositoryId, string subNamespace);
|
||||
|
||||
@@ -155,9 +155,9 @@ namespace Octokit
|
||||
/// <param name="options">Options for changing the API response</param>
|
||||
/// <remarks>
|
||||
/// The subNamespace parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
Task<IReadOnlyList<Reference>> GetAllForSubNamespace(long repositoryId, string subNamespace, ApiOptions options);
|
||||
|
||||
@@ -172,9 +172,9 @@ namespace Octokit
|
||||
/// <param name="reference">The reference to create</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
Task<Reference> Create(string owner, string name, NewReference reference);
|
||||
|
||||
@@ -201,9 +201,9 @@ namespace Octokit
|
||||
/// <param name="referenceUpdate">The updated reference data</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
Task<Reference> Update(string owner, string name, string reference, ReferenceUpdate referenceUpdate);
|
||||
|
||||
@@ -218,9 +218,9 @@ namespace Octokit
|
||||
/// <param name="referenceUpdate">The updated reference data</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
Task<Reference> Update(long repositoryId, string reference, ReferenceUpdate referenceUpdate);
|
||||
|
||||
@@ -235,9 +235,9 @@ namespace Octokit
|
||||
/// <param name="reference">The reference name</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
Task Delete(string owner, string name, string reference);
|
||||
|
||||
@@ -251,9 +251,9 @@ namespace Octokit
|
||||
/// <param name="reference">The reference name</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
Task Delete(long repositoryId, string reference);
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ namespace Octokit
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="path">The content path</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
[ExcludeFromPaginationApiOptionsConventionTest("Pagination not supported by GitHub API (tested 29/08/2017)")]
|
||||
Task<IReadOnlyList<RepositoryContent>> GetAllContentsByRef(string owner, string name, string path, string reference);
|
||||
|
||||
@@ -101,7 +101,7 @@ namespace Octokit
|
||||
/// </remarks>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="path">The content path</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
[ExcludeFromPaginationApiOptionsConventionTest("Pagination not supported by GitHub API (tested 29/08/2017)")]
|
||||
Task<IReadOnlyList<RepositoryContent>> GetAllContentsByRef(long repositoryId, string path, string reference);
|
||||
|
||||
@@ -114,7 +114,7 @@ namespace Octokit
|
||||
/// </remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
[ExcludeFromPaginationApiOptionsConventionTest("Pagination not supported by GitHub API (tested 29/08/2017)")]
|
||||
Task<IReadOnlyList<RepositoryContent>> GetAllContentsByRef(string owner, string name, string reference);
|
||||
|
||||
@@ -126,7 +126,7 @@ namespace Octokit
|
||||
/// See the <a href="https://developer.github.com/v3/repos/contents/#get-contents">API documentation</a> for more information.
|
||||
/// </remarks>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
[ExcludeFromPaginationApiOptionsConventionTest("Pagination not supported by GitHub API (tested 29/08/2017)")]
|
||||
Task<IReadOnlyList<RepositoryContent>> GetAllContentsByRef(long repositoryId, string reference);
|
||||
|
||||
|
||||
@@ -31,9 +31,9 @@ namespace Octokit
|
||||
/// <param name="reference">The reference name</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
[ManualRoute("GET", "/repos/{owner}/{repo}/git/refs/{ref}")]
|
||||
public Task<Reference> Get(string owner, string name, string reference)
|
||||
@@ -60,9 +60,9 @@ namespace Octokit
|
||||
/// <param name="reference">The reference name</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
[ManualRoute("GET", "/repositories/{id}/git/refs/{ref}")]
|
||||
public Task<Reference> Get(long repositoryId, string reference)
|
||||
@@ -171,9 +171,9 @@ namespace Octokit
|
||||
/// <param name="options">Options for changing the API response</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
[ManualRoute("GET", "/repos/{owner}/{repo}/git/refs/{ref}")]
|
||||
public Task<IReadOnlyList<Reference>> GetAllForSubNamespace(string owner, string name, string subNamespace, ApiOptions options)
|
||||
@@ -217,9 +217,9 @@ namespace Octokit
|
||||
/// <param name="options">Options for changing the API response</param>
|
||||
/// <remarks>
|
||||
/// The subNamespace parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
[ManualRoute("GET", "/repositories/{id}/git/refs/{ref}")]
|
||||
public Task<IReadOnlyList<Reference>> GetAllForSubNamespace(long repositoryId, string subNamespace, ApiOptions options)
|
||||
@@ -284,9 +284,9 @@ namespace Octokit
|
||||
/// <param name="referenceUpdate">The updated reference data</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
[ManualRoute("PATCH", "/repos/{owner}/{repo}/git/refs/{ref}")]
|
||||
public Task<Reference> Update(string owner, string name, string reference, ReferenceUpdate referenceUpdate)
|
||||
@@ -315,9 +315,9 @@ namespace Octokit
|
||||
/// <param name="referenceUpdate">The updated reference data</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
[ManualRoute("PATCH", "/repositories/{id}/git/refs/{ref}")]
|
||||
public Task<Reference> Update(long repositoryId, string reference, ReferenceUpdate referenceUpdate)
|
||||
@@ -344,9 +344,9 @@ namespace Octokit
|
||||
/// <param name="reference">The reference name</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
[ManualRoute("PATCH", "/repos/{owner}/{repo}/git/refs/{ref}")]
|
||||
public Task Delete(string owner, string name, string reference)
|
||||
@@ -373,9 +373,9 @@ namespace Octokit
|
||||
/// <param name="reference">The reference name</param>
|
||||
/// <remarks>
|
||||
/// The reference parameter supports either the fully-qualified ref
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/master" or
|
||||
/// (prefixed with "refs/", e.g. "refs/heads/main" or
|
||||
/// "refs/tags/release-1") or the shortened form (omitting "refs/", e.g.
|
||||
/// "heads/master" or "tags/release-1")
|
||||
/// "heads/main" or "tags/release-1")
|
||||
/// </remarks>
|
||||
[ManualRoute("DELETE", "/repositories/{id}/git/refs/{ref}")]
|
||||
public Task Delete(long repositoryId, string reference)
|
||||
|
||||
@@ -124,7 +124,7 @@ namespace Octokit
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="path">The content path</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository<72>s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository<72>s default branch (usually main)</param>
|
||||
[ManualRoute("GET", "/repos/{owner}/{repo}/contents/{path}?ref={ref}")]
|
||||
public Task<IReadOnlyList<RepositoryContent>> GetAllContentsByRef(string owner, string name, string path, string reference)
|
||||
{
|
||||
@@ -167,7 +167,7 @@ namespace Octokit
|
||||
/// </remarks>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="path">The content path</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
[ManualRoute("GET", "/repositories/{id}/contents/{path}?ref={ref}")]
|
||||
public Task<IReadOnlyList<RepositoryContent>> GetAllContentsByRef(long repositoryId, string path, string reference)
|
||||
{
|
||||
@@ -187,7 +187,7 @@ namespace Octokit
|
||||
/// </remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository<72>s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository<72>s default branch (usually main)</param>
|
||||
[ManualRoute("GET", "/repos/{owner}/{repo}/contents/{path}?ref={ref}")]
|
||||
public Task<IReadOnlyList<RepositoryContent>> GetAllContentsByRef(string owner, string name, string reference)
|
||||
{
|
||||
@@ -208,7 +208,7 @@ namespace Octokit
|
||||
/// See the <a href="https://developer.github.com/v3/repos/contents/#get-contents">API documentation</a> for more information.
|
||||
/// </remarks>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
[ManualRoute("GET", "/repositories/{id}/contents/{path}?ref={ref}")]
|
||||
public Task<IReadOnlyList<RepositoryContent>> GetAllContentsByRef(long repositoryId, string reference)
|
||||
{
|
||||
|
||||
@@ -2441,7 +2441,7 @@ namespace Octokit
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="path">The path of the contents to get</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
/// <returns>The <see cref="Uri"/> for getting the contents of the specified repository and path</returns>
|
||||
public static Uri RepositoryContent(string owner, string name, string path, string reference)
|
||||
{
|
||||
@@ -3447,7 +3447,7 @@ namespace Octokit
|
||||
/// </summary>
|
||||
/// <param name="repositoryId">The Id of the repository</param>
|
||||
/// <param name="path">The path of the contents to get</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually master)</param>
|
||||
/// <param name="reference">The name of the commit/branch/tag. Default: the repository’s default branch (usually main)</param>
|
||||
/// <returns>The <see cref="Uri"/> for getting the contents of the specified repository and path</returns>
|
||||
public static Uri RepositoryContent(long repositoryId, string path, string reference)
|
||||
{
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace Octokit.Helpers
|
||||
/// <param name="owner">The owner of the repository.</param>
|
||||
/// <param name="name">The name of the repository.</param>
|
||||
/// <param name="branchName">The new branch name</param>
|
||||
[Obsolete("This function is hard-coded to master branch, which is no longer a valid assumption for the base branch. Instead of making a second request to figure out the default branch, this extension method will be removed in a future release. Please check the default branch on the repository and use a different overload")]
|
||||
[Obsolete("This function is hard-coded to master branch, which is no longer a valid assumption for the base branch. Instead of making a second request to figure out the default branch, this extension method will be removed in a future release. Please check the default branch on the repository and use the overload passing in the default branch name")]
|
||||
public static async Task<Reference> CreateBranch(this IReferencesClient referencesClient, string owner, string name, string branchName)
|
||||
{
|
||||
Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner));
|
||||
@@ -57,5 +57,29 @@ namespace Octokit.Helpers
|
||||
var newReference = new NewReference("refs/heads/" + branchName, baseBranch.Object.Sha);
|
||||
return await referencesClient.Create(owner, name, newReference).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a branch, based off the default branch.
|
||||
/// </summary>
|
||||
/// <param name="referencesClient">The <see cref="IReferencesClient" /> this method extends</param>
|
||||
/// <param name="owner">The owner of the repository.</param>
|
||||
/// <param name="name">The name of the repository.</param>
|
||||
/// <param name="branchName">The new branch name</param>
|
||||
/// <param name="defaultBranchName">The repository's default branch name</param>
|
||||
public static async Task<Reference> CreateBranch(this IReferencesClient referencesClient, string owner, string name, string branchName, string defaultBranchName)
|
||||
{
|
||||
Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner));
|
||||
Ensure.ArgumentNotNullOrEmptyString(name, nameof(name));
|
||||
Ensure.ArgumentNotNullOrEmptyString(branchName, nameof(branchName));
|
||||
|
||||
if (branchName.StartsWith("refs/heads"))
|
||||
{
|
||||
throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, "The specified branch name '{0}' appears to be a ref name and not a branch name because it starts with the string 'refs/heads'. Either specify just the branch name or use the Create method if you need to specify the full ref name", branchName), "branchName");
|
||||
}
|
||||
|
||||
var baseBranch = await referencesClient.Get(owner, name, $"heads/{defaultBranchName}").ConfigureAwait(false);
|
||||
var newReference = new NewReference("refs/heads/" + branchName, baseBranch.Object.Sha);
|
||||
return await referencesClient.Create(owner, name, newReference).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace Octokit
|
||||
public string Message { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// The branch name. If null, this defaults to the default branch which is usually "master".
|
||||
/// The branch name. If null, this defaults to the default branch which is usually "main".
|
||||
/// </summary>
|
||||
public string Branch { get; set; }
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace Octokit
|
||||
/// Initializes a new instance of the <see cref="NewReference"/> class.
|
||||
/// </summary>
|
||||
/// <param name="reference">
|
||||
/// The name of the fully qualified reference (ie: refs/heads/master). If it doesn’t start with ‘refs’ and
|
||||
/// The name of the fully qualified reference (ie: refs/heads/main). If it doesn’t start with ‘refs’ and
|
||||
/// have at least two slashes, it will be rejected.
|
||||
/// </param>
|
||||
/// <param name="sha">The SHA1 value to set this reference to</param>
|
||||
@@ -32,7 +32,7 @@ namespace Octokit
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The name of the fully qualified reference (ie: refs/heads/master). If it doesn’t start with ‘refs’ and
|
||||
/// The name of the fully qualified reference (ie: refs/heads/main). If it doesn’t start with ‘refs’ and
|
||||
/// have at least two slashes, it will be rejected.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace Octokit
|
||||
/// <summary>
|
||||
/// Specifies the commitish value that determines where the Git tag is created from. Can be any branch or
|
||||
/// commit SHA. Unused if the Git tag already exists. Default: the repository’s default branch
|
||||
/// (usually master).
|
||||
/// (usually main).
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The target commitish.
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Octokit
|
||||
/// <summary>
|
||||
/// Specifies the commitish value that determines where the Git tag is created from. Can be any branch or
|
||||
/// commit SHA. Unused if the Git tag already exists. Default: the repository’s default branch
|
||||
/// (usually master).
|
||||
/// (usually main).
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The target commitish.
|
||||
|
||||
Reference in New Issue
Block a user