Skip to content

Commit

Permalink
maint: Removes private repositories limit exception (#2514)
Browse files Browse the repository at this point in the history
  • Loading branch information
JonruAlveus authored Jul 27, 2022
1 parent 6892df8 commit 840935a
Show file tree
Hide file tree
Showing 4 changed files with 0 additions and 136 deletions.
38 changes: 0 additions & 38 deletions Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -408,44 +408,6 @@ public async Task ThrowsRepositoryExistsExceptionForExistingRepository()
Assert.False(thrown.OwnerIsOrganization);
}
}

[PaidAccountTest(Skip = "Paid plans now have unlimited repositories. We shouldn't test this now.")]
public async Task ThrowsPrivateRepositoryQuotaExceededExceptionWhenOverQuota()
{
var github = Helper.GetAuthenticatedClient();

var userDetails = await github.User.Current();
var freePrivateSlots = userDetails.Plan.PrivateRepos - userDetails.OwnedPrivateRepos;

if (userDetails.Plan.PrivateRepos == 0)
{
throw new Exception("Test cannot complete, account is on free plan");
}

var createRepoTasks =
Enumerable.Range(0, (int)freePrivateSlots)
.Select(x =>
{
var repoName = Helper.MakeNameWithTimestamp("private-repo-" + x);
var repository = new NewRepository(repoName) { Private = true };
return github.Repository.Create(repository);
});

var createdRepositories = await Task.WhenAll(createRepoTasks);

try
{
await Assert.ThrowsAsync<PrivateRepositoryQuotaExceededException>(
() => github.Repository.Create(new NewRepository("x-private") { Private = true }));
}
finally
{
var deleteRepos = createdRepositories
.Select(repo => github.Repository.Delete(repo.Owner.Login, repo.Name));

Task.WhenAll(deleteRepos).Wait();
}
}
}

public class TheCreateMethodForOrganization
Expand Down
24 changes: 0 additions & 24 deletions Octokit.Tests/Clients/RepositoriesClientTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,30 +85,6 @@ public async Task ThrowsRepositoryExistsExceptionWhenRepositoryExistsForCurrentU
Assert.Equal("aName", exception.RepositoryName);
Assert.Null(exception.ExistingRepositoryWebUrl);
}

[Fact]
public async Task ThrowsExceptionWhenPrivateRepositoryQuotaExceeded()
{
var newRepository = new NewRepository("aName") { Private = true };
var response = Substitute.For<IResponse>();
response.StatusCode.Returns((HttpStatusCode)422);
response.Body.Returns(@"{""message"":""Validation Failed"",""documentation_url"":"
+ @"""http://developer.github.com/v3/repos/#create"",""errors"":[{""resource"":""Repository"","
+ @"""code"":""custom"",""field"":""name"",""message"":"
+ @"""name can't be private. You are over your quota.""}]}");
var credentials = new Credentials("haacked", "pwd");
var connection = Substitute.For<IApiConnection>();
connection.Connection.BaseAddress.Returns(GitHubClient.GitHubApiUrl);
connection.Connection.Credentials.Returns(credentials);
connection.Post<Repository>(Args.Uri, newRepository, "application/vnd.github.nebula-preview+json,application/vnd.github.baptiste-preview+json")
.Returns<Task<Repository>>(_ => { throw new ApiValidationException(response); });
var client = new RepositoriesClient(connection);

var exception = await Assert.ThrowsAsync<PrivateRepositoryQuotaExceededException>(
() => client.Create(newRepository));

Assert.NotNull(exception);
}
}

public class TheCreateMethodForOrganization
Expand Down
16 changes: 0 additions & 16 deletions Octokit/Clients/RepositoriesClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -131,22 +131,6 @@ async Task<Repository> Create(Uri url, string organizationLogin, NewRepository n
baseAddress, e);
}

if (string.Equals(
"please upgrade your plan to create a new private repository.",
errorMessage,
StringComparison.OrdinalIgnoreCase))
{
throw new PrivateRepositoryQuotaExceededException(e);
}

if (string.Equals(
"name can't be private. You are over your quota.",
errorMessage,
StringComparison.OrdinalIgnoreCase))
{
throw new PrivateRepositoryQuotaExceededException(e);
}

if (errorMessage != null && errorMessage.EndsWith("is an unknown gitignore template.", StringComparison.OrdinalIgnoreCase))
{
throw new InvalidGitIgnoreTemplateException(e);
Expand Down
58 changes: 0 additions & 58 deletions Octokit/Exceptions/PrivateRepositoryQuotaExceededException.cs

This file was deleted.

0 comments on commit 840935a

Please sign in to comment.