From 2777a4a7090e048b1b40c44b0cc0c9b0fe09fc21 Mon Sep 17 00:00:00 2001 From: William Barbosa Date: Tue, 22 Sep 2015 23:03:34 -0300 Subject: [PATCH] Refactors RepositoriesClientTests Changes the tests in RepositoriesClientTests to use the new using block syntax --- .../Clients/RepositoriesClientTests.cs | 139 +++++------------- 1 file changed, 36 insertions(+), 103 deletions(-) diff --git a/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs b/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs index 0c6786b7..31273268 100644 --- a/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs +++ b/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Threading.Tasks; using Octokit; using Octokit.Tests.Integration; +using Octokit.Tests.Integration.Helpers; using Xunit; public class RepositoriesClientTests @@ -16,10 +17,10 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); - var createdRepository = await github.Repository.Create(new NewRepository(repoName)); - - try + using (var context = await github.CreateRepositoryContext(new NewRepository(repoName))) { + var createdRepository = context.Repository; + var cloneUrl = string.Format("https://github.com/{0}/{1}.git", Helper.UserName, repoName); Assert.Equal(repoName, createdRepository.Name); Assert.False(createdRepository.Private); @@ -34,10 +35,6 @@ public class RepositoriesClientTests Assert.Null(repository.Homepage); Assert.NotNull(repository.DefaultBranch); } - finally - { - Helper.DeleteRepo(createdRepository); - } } [PaidAccountTest] @@ -53,26 +50,14 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("private-repo"); - Repository createdRepository = null; - - try + using (var context = await github.CreateRepositoryContext(new NewRepository(repoName) { Private = true })) { - createdRepository = await github.Repository.Create(new NewRepository(repoName) - { - Private = true - }); + var createdRepository = context.Repository; Assert.True(createdRepository.Private); var repository = await github.Repository.Get(Helper.UserName, repoName); Assert.True(repository.Private); } - finally - { - if (createdRepository != null) - { - Helper.DeleteRepo(createdRepository); - } - } } [IntegrationTest] @@ -82,21 +67,16 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("repo-without-downloads"); - var createdRepository = await github.Repository.Create(new NewRepository(repoName) - { - HasDownloads = false - }); + var newRepository = new NewRepository(repoName) { HasDownloads = false }; - try + using (var context = await github.CreateRepositoryContext(newRepository)) { + var createdRepository = context.Repository; + Assert.False(createdRepository.HasDownloads); var repository = await github.Repository.Get(Helper.UserName, repoName); Assert.False(repository.HasDownloads); } - finally - { - Helper.DeleteRepo(createdRepository); - } } [IntegrationTest] @@ -106,21 +86,14 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("repo-without-issues"); - var createdRepository = await github.Repository.Create(new NewRepository(repoName) + using (var context = await github.CreateRepositoryContext(new NewRepository(repoName) { HasIssues = false })) { - HasIssues = false - }); + var createdRepository = context.Repository; - try - { Assert.False(createdRepository.HasIssues); var repository = await github.Repository.Get(Helper.UserName, repoName); Assert.False(repository.HasIssues); } - finally - { - Helper.DeleteRepo(createdRepository); - } } [IntegrationTest] @@ -130,21 +103,14 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("repo-without-wiki"); - var createdRepository = await github.Repository.Create(new NewRepository(repoName) + using (var context = await github.CreateRepositoryContext(new NewRepository(repoName) { HasWiki = false })) { - HasWiki = false - }); + var createdRepository = context.Repository; - try - { Assert.False(createdRepository.HasWiki); var repository = await github.Repository.Get(Helper.UserName, repoName); Assert.False(repository.HasWiki); } - finally - { - Helper.DeleteRepo(createdRepository); - } } [IntegrationTest] @@ -154,21 +120,14 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("repo-with-description"); - var createdRepository = await github.Repository.Create(new NewRepository(repoName) + using (var context = await github.CreateRepositoryContext(new NewRepository(repoName) { Description = "theDescription" })) { - Description = "theDescription" - }); + var createdRepository = context.Repository; - try - { Assert.Equal("theDescription", createdRepository.Description); var repository = await github.Repository.Get(Helper.UserName, repoName); Assert.Equal("theDescription", repository.Description); } - finally - { - Helper.DeleteRepo(createdRepository); - } } [IntegrationTest] @@ -178,21 +137,14 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("repo-with-homepage"); - var createdRepository = await github.Repository.Create(new NewRepository(repoName) + using (var context = await github.CreateRepositoryContext(new NewRepository(repoName) { Homepage = "http://aUrl.to/nowhere" })) { - Homepage = "http://aUrl.to/nowhere" - }); + var createdRepository = context.Repository; - try - { Assert.Equal("http://aUrl.to/nowhere", createdRepository.Homepage); var repository = await github.Repository.Get(Helper.UserName, repoName); Assert.Equal("http://aUrl.to/nowhere", repository.Homepage); } - finally - { - Helper.DeleteRepo(createdRepository); - } } [IntegrationTest] @@ -202,22 +154,15 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("repo-with-autoinit"); - var createdRepository = await github.Repository.Create(new NewRepository(repoName) + using (var context = await github.CreateRepositoryContext(new NewRepository(repoName) { AutoInit = true })) { - AutoInit = true - }); + var createdRepository = context.Repository; - try - { // TODO: Once the contents API has been added, check the actual files in the created repo Assert.Equal(repoName, createdRepository.Name); var repository = await github.Repository.Get(Helper.UserName, repoName); Assert.Equal(repoName, repository.Name); } - finally - { - Helper.DeleteRepo(createdRepository); - } } [IntegrationTest] @@ -226,23 +171,21 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("repo-with-gitignore"); - var createdRepository = await github.Repository.Create(new NewRepository(repoName) + var newRepository = new NewRepository(repoName) { AutoInit = true, GitignoreTemplate = "VisualStudio" - }); + }; - try + using (var context = await github.CreateRepositoryContext(newRepository)) { + var createdRepository = context.Repository; + // TODO: Once the contents API has been added, check the actual files in the created repo Assert.Equal(repoName, createdRepository.Name); var repository = await github.Repository.Get(Helper.UserName, repoName); Assert.Equal(repoName, repository.Name); } - finally - { - Helper.DeleteRepo(createdRepository); - } } [IntegrationTest] @@ -251,10 +194,11 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("existing-repo"); var repository = new NewRepository(repoName); - var createdRepository = await github.Repository.Create(repository); - try + using (var context = await github.CreateRepositoryContext(repository)) { + var createdRepository = context.Repository; + var message = string.Format(CultureInfo.InvariantCulture, "There is already a repository named '{0}' for the current account.", repoName); var thrown = await Assert.ThrowsAsync( @@ -265,10 +209,6 @@ public class RepositoriesClientTests Assert.Equal(message, thrown.Message); Assert.False(thrown.OwnerIsOrganization); } - finally - { - Helper.DeleteRepo(createdRepository); - } } [PaidAccountTest] @@ -284,7 +224,7 @@ public class RepositoriesClientTests throw new Exception("Test cannot complete, account is on free plan"); } - var createRepoTasks = + var createRepoTasks = Enumerable.Range(0, (int)freePrivateSlots) .Select(x => { @@ -319,10 +259,10 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("public-org-repo"); - var createdRepository = await github.Repository.Create(Helper.Organization, new NewRepository(repoName)); - - try + using (var context = await github.CreateRepositoryContext(Helper.Organization, new NewRepository(repoName))) { + var createdRepository = context.Repository; + var cloneUrl = string.Format("https://github.com/{0}/{1}.git", Helper.Organization, repoName); Assert.Equal(repoName, createdRepository.Name); Assert.False(createdRepository.Private); @@ -336,10 +276,6 @@ public class RepositoriesClientTests Assert.True(repository.HasWiki); Assert.Null(repository.Homepage); } - finally - { - Helper.DeleteRepo(createdRepository); - } } [OrganizationTest] @@ -350,10 +286,11 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("existing-org-repo"); var repository = new NewRepository(repoName); - var createdRepository = await github.Repository.Create(Helper.Organization, repository); - try + using (var context = await github.CreateRepositoryContext(Helper.Organization, repository)) { + var createdRepository = context.Repository; + var repositoryUrl = string.Format(CultureInfo.InvariantCulture, "https://github.com/{0}/{1}", Helper.Organization, repository.Name); var message = string.Format(CultureInfo.InvariantCulture, "There is already a repository named '{0}' in the organization '{1}'.", repository.Name, Helper.Organization); @@ -367,13 +304,9 @@ public class RepositoriesClientTests Assert.Equal(Helper.Organization, thrown.Organization); Assert.Equal(repositoryUrl, thrown.ExistingRepositoryWebUrl.ToString()); } - finally - { - Helper.DeleteRepo(createdRepository); - } } - // TODO: Add a test for the team_id param once an overload that takes an oranization is added + // TODO: Add a test for the team_id param once an overload that takes an organization is added } public class TheEditMethod : IDisposable