diff --git a/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs b/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs index 7efd1e57..0c6786b7 100644 --- a/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs +++ b/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs @@ -537,23 +537,8 @@ public class RepositoriesClientTests Assert.Equal("https://github.com/Haacked/libgit2sharp.git", repository.CloneUrl); Assert.True(repository.Fork); } - - [IntegrationTest] - public async Task ReturnsRedirectedRepository() - { - var github = Helper.GetAuthenticatedClient(); - - var repository = await github.Repository.Get("robconery", "massive"); - - Assert.Equal("https://github.com/FransBouma/Massive.git", repository.CloneUrl); - Assert.False(repository.Private); - Assert.False(repository.Fork); - Assert.Equal(AccountType.User, repository.Owner.Type); - } - } - public class TheGetAllPublicMethod { [IntegrationTest(Skip = "Takes too long to run.")] diff --git a/Octokit.Tests.Integration/Octokit.Tests.Integration.csproj b/Octokit.Tests.Integration/Octokit.Tests.Integration.csproj index 58c045a7..b587eb7d 100644 --- a/Octokit.Tests.Integration/Octokit.Tests.Integration.csproj +++ b/Octokit.Tests.Integration/Octokit.Tests.Integration.csproj @@ -120,6 +120,7 @@ + diff --git a/Octokit.Tests.Integration/RedirectTests.cs b/Octokit.Tests.Integration/RedirectTests.cs new file mode 100644 index 00000000..7b4210b2 --- /dev/null +++ b/Octokit.Tests.Integration/RedirectTests.cs @@ -0,0 +1,45 @@ +using System.Threading.Tasks; +using Xunit; + +namespace Octokit.Tests.Integration +{ + public class RedirectTests + { + [IntegrationTest] + public async Task ReturnsRedirectedRepository() + { + var github = Helper.GetAuthenticatedClient(); + + var repository = await github.Repository.Get("robconery", "massive"); + + Assert.Equal("https://github.com/FransBouma/Massive.git", repository.CloneUrl); + Assert.False(repository.Private); + Assert.False(repository.Fork); + Assert.Equal(AccountType.User, repository.Owner.Type); + } + + [IntegrationTest] + public async Task CanCreateIssueOnRedirectedRepository() + { + var client = Helper.GetAuthenticatedClient(); + + var owner = "shiftkey-tester"; + var oldRepoName = "repository-before-rename"; + var newRepoName = "repository-after-rename"; + + var newIssue = new NewIssue("a test issue") { Body = "A new unassigned issue" }; + var issue = await client.Issue.Create(owner, oldRepoName, newIssue); + Assert.NotNull(issue); + + Assert.True(issue.Url.AbsoluteUri.Contains("repository-after-rename")); + + var resolvedIssue = await client.Issue.Get(owner, newRepoName, issue.Number); + + Assert.NotNull(resolvedIssue); + + var update = resolvedIssue.ToUpdate(); + update.State = ItemState.Closed; + await client.Issue.Update(owner, oldRepoName, issue.Number, update); + } + } +}