Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 0 additions & 38 deletions Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -407,44 +407,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.