Refactors the remaining test classes

This commit is contained in:
William Barbosa
2015-09-28 23:45:53 -03:00
parent 1cb1258eb6
commit e6ccb70fc0
6 changed files with 119 additions and 141 deletions
@@ -5,23 +5,21 @@ using Octokit;
using Octokit.Tests.Helpers;
using Octokit.Tests.Integration;
using Xunit;
using Octokit.Tests.Integration.Helpers;
public class ReferencesClientTests : IDisposable
{
readonly IReferencesClient _fixture;
readonly Repository _repository;
readonly IGitHubClient _client;
readonly string _owner;
private readonly IGitHubClient _github;
private readonly IReferencesClient _fixture;
private readonly RepositoryContext _context;
public ReferencesClientTests()
{
_client = Helper.GetAuthenticatedClient();
_github = Helper.GetAuthenticatedClient();
_fixture = _client.GitDatabase.Reference;
_fixture = _github.GitDatabase.Reference;
var repoName = Helper.MakeNameWithTimestamp("public-repo");
_repository = _client.Repository.Create(new NewRepository(repoName) { AutoInit = true }).Result;
_owner = _repository.Owner.Login;
_context = _github.CreateRepositoryContext("public-repo").Result;
}
[IntegrationTest]
@@ -79,7 +77,7 @@ public class ReferencesClientTests : IDisposable
Content = "Hello World!",
Encoding = EncodingType.Utf8
};
var blobResult = await _client.GitDatabase.Blob.Create(_owner, _repository.Name, blob);
var blobResult = await _github.GitDatabase.Blob.Create(_context.RepositoryOwner, _context.RepositoryName, blob);
var newTree = new NewTree();
newTree.Tree.Add(new NewTreeItem
@@ -90,14 +88,14 @@ public class ReferencesClientTests : IDisposable
Sha = blobResult.Sha
});
var treeResult = await _client.GitDatabase.Tree.Create(_owner, _repository.Name, newTree);
var treeResult = await _github.GitDatabase.Tree.Create(_context.RepositoryOwner, _context.RepositoryName, newTree);
var newCommit = new NewCommit("This is a new commit", treeResult.Sha);
var commitResult = await _client.GitDatabase.Commit.Create(_owner, _repository.Name, newCommit);
var commitResult = await _github.GitDatabase.Commit.Create(_context.RepositoryOwner, _context.RepositoryName, newCommit);
var newReference = new NewReference("heads/develop", commitResult.Sha);
var result = await _fixture.Create(_owner, _repository.Name, newReference);
var result = await _fixture.Create(_context.RepositoryOwner, _context.RepositoryName, newReference);
Assert.Equal(commitResult.Sha, result.Object.Sha);
}
@@ -110,13 +108,13 @@ public class ReferencesClientTests : IDisposable
Content = "Hello World!",
Encoding = EncodingType.Utf8
};
var firstBlobResult = await _client.GitDatabase.Blob.Create(_owner, _repository.Name, firstBlob);
var firstBlobResult = await _github.GitDatabase.Blob.Create(_context.RepositoryOwner, _context.RepositoryName, firstBlob);
var secondBlob = new NewBlob
{
Content = "This is a test!",
Encoding = EncodingType.Utf8
};
var secondBlobResult = await _client.GitDatabase.Blob.Create(_owner, _repository.Name, secondBlob);
var secondBlobResult = await _github.GitDatabase.Blob.Create(_context.RepositoryOwner, _context.RepositoryName, secondBlob);
var firstTree = new NewTree();
firstTree.Tree.Add(new NewTreeItem
@@ -127,12 +125,12 @@ public class ReferencesClientTests : IDisposable
Sha = firstBlobResult.Sha
});
var firstTreeResult = await _client.GitDatabase.Tree.Create(_owner, _repository.Name, firstTree);
var firstTreeResult = await _github.GitDatabase.Tree.Create(_context.RepositoryOwner, _context.RepositoryName, firstTree);
var firstCommit = new NewCommit("This is a new commit", firstTreeResult.Sha);
var firstCommitResult = await _client.GitDatabase.Commit.Create(_owner, _repository.Name, firstCommit);
var firstCommitResult = await _github.GitDatabase.Commit.Create(_context.RepositoryOwner, _context.RepositoryName, firstCommit);
var newReference = new NewReference("heads/develop", firstCommitResult.Sha);
await _fixture.Create(_owner, _repository.Name, newReference);
await _fixture.Create(_context.RepositoryOwner, _context.RepositoryName, newReference);
var secondTree = new NewTree();
secondTree.Tree.Add(new NewTreeItem
@@ -143,14 +141,14 @@ public class ReferencesClientTests : IDisposable
Sha = secondBlobResult.Sha
});
var secondTreeResult = await _client.GitDatabase.Tree.Create(_owner, _repository.Name, secondTree);
var secondTreeResult = await _github.GitDatabase.Tree.Create(_context.RepositoryOwner, _context.RepositoryName, secondTree);
var secondCommit = new NewCommit("This is a new commit", secondTreeResult.Sha, firstCommitResult.Sha);
var secondCommitResult = await _client.GitDatabase.Commit.Create(_owner, _repository.Name, secondCommit);
var secondCommitResult = await _github.GitDatabase.Commit.Create(_context.RepositoryOwner, _context.RepositoryName, secondCommit);
var referenceUpdate = new ReferenceUpdate(secondCommitResult.Sha);
var result = await _fixture.Update(_owner, _repository.Name, "heads/develop", referenceUpdate);
var result = await _fixture.Update(_context.RepositoryOwner, _context.RepositoryName, "heads/develop", referenceUpdate);
Assert.Equal(secondCommitResult.Sha, result.Object.Sha);
}
@@ -163,7 +161,7 @@ public class ReferencesClientTests : IDisposable
Content = "Hello World!",
Encoding = EncodingType.Utf8
};
var blobResult = await _client.GitDatabase.Blob.Create(_owner, _repository.Name, blob);
var blobResult = await _github.GitDatabase.Blob.Create(_context.RepositoryOwner, _context.RepositoryName, blob);
var newTree = new NewTree();
newTree.Tree.Add(new NewTreeItem
@@ -174,24 +172,24 @@ public class ReferencesClientTests : IDisposable
Sha = blobResult.Sha
});
var treeResult = await _client.GitDatabase.Tree.Create(_owner, _repository.Name, newTree);
var treeResult = await _github.GitDatabase.Tree.Create(_context.RepositoryOwner, _context.RepositoryName, newTree);
var newCommit = new NewCommit("This is a new commit", treeResult.Sha);
var commitResult = await _client.GitDatabase.Commit.Create(_owner, _repository.Name, newCommit);
var commitResult = await _github.GitDatabase.Commit.Create(_context.RepositoryOwner, _context.RepositoryName, newCommit);
var newReference = new NewReference("heads/develop", commitResult.Sha);
await _fixture.Create(_owner, _repository.Name, newReference);
await _fixture.Delete(_owner, _repository.Name, "heads/develop");
await _fixture.Create(_context.RepositoryOwner, _context.RepositoryName, newReference);
await _fixture.Delete(_context.RepositoryOwner, _context.RepositoryName, "heads/develop");
var all = await _fixture.GetAll(_owner, _repository.Name);
var all = await _fixture.GetAll(_context.RepositoryOwner, _context.RepositoryName);
Assert.Empty(all.Where(r => r.Ref == "heads/develop"));
}
public void Dispose()
{
Helper.DeleteRepo(_repository);
_context.Dispose();
}
}
@@ -11,20 +11,15 @@ public class ReleasesClientTests
{
public class TheGetReleasesMethod : IDisposable
{
readonly IReleasesClient _releaseClient;
readonly Repository _repository;
readonly string _repositoryOwner;
readonly string _repositoryName;
private readonly IReleasesClient _releaseClient;
private readonly RepositoryContext _context;
public TheGetReleasesMethod()
{
var github = Helper.GetAuthenticatedClient();
_releaseClient = github.Release;
var repoName = Helper.MakeNameWithTimestamp("public-repo");
_repository = github.Repository.Create(new NewRepository(repoName) { AutoInit = true }).Result;
_repositoryOwner = _repository.Owner.Login;
_repositoryName = _repository.Name;
_context = github.CreateRepositoryContext("public-repo").Result;
}
[IntegrationTest]
@@ -41,9 +36,9 @@ public class ReleasesClientTests
{
// create a release without a publish date
var releaseWithNoUpdate = new NewRelease("0.1") { Draft = true };
await _releaseClient.Create(_repositoryOwner, _repositoryName, releaseWithNoUpdate);
await _releaseClient.Create(_context.RepositoryOwner, _context.RepositoryName, releaseWithNoUpdate);
var releases = await _releaseClient.GetAll(_repositoryOwner, _repositoryName);
var releases = await _releaseClient.GetAll(_context.RepositoryOwner, _context.RepositoryName);
Assert.True(releases.Count == 1);
Assert.False(releases.First().PublishedAt.HasValue);
@@ -51,40 +46,36 @@ public class ReleasesClientTests
public void Dispose()
{
Helper.DeleteRepo(_repository);
_context.Dispose();
}
}
public class TheEditMethod : IDisposable
{
readonly IReleasesClient _releaseClient;
readonly Repository _repository;
readonly string _repositoryOwner;
readonly string _repositoryName;
readonly IGitHubClient github;
private readonly IGitHubClient _github;
private readonly RepositoryContext _context;
private readonly IReleasesClient _releaseClient;
public TheEditMethod()
{
github = Helper.GetAuthenticatedClient();
_releaseClient = github.Release;
_github = Helper.GetAuthenticatedClient();
_releaseClient = _github.Release;
_context = _github.CreateRepositoryContext("public-repo").Result;
var repoName = Helper.MakeNameWithTimestamp("public-repo");
_repository = github.Repository.Create(new NewRepository(repoName) { AutoInit = true }).Result;
_repositoryOwner = _repository.Owner.Login;
_repositoryName = _repository.Name;
}
[IntegrationTest]
public async Task CanChangeBodyOfRelease()
{
var releaseWithNoUpdate = new NewRelease("0.1") { Draft = true };
var release = await _releaseClient.Create(_repositoryOwner, _repositoryName, releaseWithNoUpdate);
var release = await _releaseClient.Create(_context.RepositoryOwner, _context.RepositoryName, releaseWithNoUpdate);
var editRelease = release.ToUpdate();
editRelease.Body = "**This is an updated release";
editRelease.Draft = false;
var updatedRelease = await _releaseClient.Edit(_repositoryOwner, _repositoryName, release.Id, editRelease);
var updatedRelease = await _releaseClient.Edit(_context.RepositoryOwner, _context.RepositoryName, release.Id, editRelease);
Assert.Equal(release.Id, updatedRelease.Id);
Assert.False(updatedRelease.Draft);
@@ -96,17 +87,17 @@ public class ReleasesClientTests
public async Task CanChangeCommitIshOfRelease()
{
var releaseWithNoUpdate = new NewRelease("0.1") { Draft = true };
var release = await _releaseClient.Create(_repositoryOwner, _repositoryName, releaseWithNoUpdate);
var release = await _releaseClient.Create(_context.RepositoryOwner, _context.RepositoryName, releaseWithNoUpdate);
Assert.Equal("master", release.TargetCommitish);
var newHead = await github.CreateTheWorld(_repository);
var newHead = await _github.CreateTheWorld(_context.Repository);
var editRelease = release.ToUpdate();
editRelease.Draft = false;
editRelease.TargetCommitish = newHead.Object.Sha;
var updatedRelease = await _releaseClient.Edit(_repositoryOwner, _repositoryName, release.Id, editRelease);
var updatedRelease = await _releaseClient.Edit(_context.RepositoryOwner, _context.RepositoryName, release.Id, editRelease);
Assert.Equal(release.Id, updatedRelease.Id);
Assert.False(updatedRelease.Draft);
@@ -115,34 +106,29 @@ public class ReleasesClientTests
public void Dispose()
{
Helper.DeleteRepo(_repository);
_context.Dispose();
}
}
public class TheUploadAssetMethod : IDisposable
{
readonly IReleasesClient _releaseClient;
readonly Repository _repository;
readonly string _repositoryOwner;
readonly string _repositoryName;
readonly IGitHubClient _github;
readonly RepositoryContext _context;
readonly IReleasesClient _releaseClient;
public TheUploadAssetMethod()
{
_github = Helper.GetAuthenticatedClient();
_releaseClient = _github.Release;
var repoName = Helper.MakeNameWithTimestamp("public-repo");
_repository = _github.Repository.Create(new NewRepository(repoName) { AutoInit = true }).Result;
_repositoryOwner = _repository.Owner.Login;
_repositoryName = _repository.Name;
_context = _github.CreateRepositoryContext("public-repo").Result;
}
[IntegrationTest]
public async Task CanUploadAndRetrieveAnAsset()
{
var releaseWithNoUpdate = new NewRelease("0.1") { Draft = true };
var release = await _releaseClient.Create(_repositoryOwner, _repositoryName, releaseWithNoUpdate);
var release = await _releaseClient.Create(_context.RepositoryOwner, _context.RepositoryName, releaseWithNoUpdate);
var stream = Helper.LoadFixture("hello-world.txt");
@@ -152,7 +138,7 @@ public class ReleasesClientTests
Assert.True(result.Id > 0);
var assets = await _releaseClient.GetAllAssets(_repositoryOwner, _repositoryName, release.Id);
var assets = await _releaseClient.GetAllAssets(_context.RepositoryOwner, _context.RepositoryName, release.Id);
Assert.Equal(1, assets.Count);
var asset = assets[0];
@@ -165,19 +151,19 @@ public class ReleasesClientTests
public async Task CanEditAnAssetLabel()
{
var releaseWithNoUpdate = new NewRelease("0.1") { Draft = true };
var release = await _releaseClient.Create(_repositoryOwner, _repositoryName, releaseWithNoUpdate);
var release = await _releaseClient.Create(_context.RepositoryOwner, _context.RepositoryName, releaseWithNoUpdate);
var stream = Helper.LoadFixture("hello-world.txt");
var newAsset = new ReleaseAssetUpload("hello-world.txt", "text/plain", stream, null);
var result = await _releaseClient.UploadAsset(release, newAsset);
var asset = await _releaseClient.GetAsset(_repositoryOwner, _repositoryName, result.Id);
var asset = await _releaseClient.GetAsset(_context.RepositoryOwner, _context.RepositoryName, result.Id);
var updateAsset = asset.ToUpdate();
updateAsset.Label = "some other thing";
var updatedAsset = await _releaseClient.EditAsset(_repositoryOwner, _repositoryName, result.Id, updateAsset);
var updatedAsset = await _releaseClient.EditAsset(_context.RepositoryOwner, _context.RepositoryName, result.Id, updateAsset);
Assert.Equal("some other thing", updatedAsset.Label);
}
@@ -186,7 +172,7 @@ public class ReleasesClientTests
public async Task CanDownloadAnAsset()
{
var releaseWithNoUpdate = new NewRelease("0.1") { Draft = true };
var release = await _releaseClient.Create(_repositoryOwner, _repositoryName, releaseWithNoUpdate);
var release = await _releaseClient.Create(_context.RepositoryOwner, _context.RepositoryName, releaseWithNoUpdate);
var stream = Helper.LoadFixture("hello-world.txt");
@@ -196,7 +182,7 @@ public class ReleasesClientTests
Assert.True(result.Id > 0);
var asset = await _releaseClient.GetAsset(_repositoryOwner, _repositoryName, result.Id);
var asset = await _releaseClient.GetAsset(_context.RepositoryOwner, _context.RepositoryName, result.Id);
Assert.Equal(result.Id, asset.Id);
@@ -207,7 +193,7 @@ public class ReleasesClientTests
public void Dispose()
{
Helper.DeleteRepo(_repository);
_context.Dispose();
}
}
}
@@ -5,6 +5,7 @@ using System.Threading.Tasks;
using Octokit;
using Octokit.Tests.Integration;
using Xunit;
using Octokit.Tests.Integration.Helpers;
public class RepositoryCommitsClientTests
{
@@ -90,19 +91,17 @@ public class RepositoryCommitsClientTests
public class TestsWithNewRepository : IDisposable
{
readonly IGitHubClient _client;
readonly IRepositoryCommitsClient _fixture;
readonly Repository _repository;
private readonly IGitHubClient _github;
private readonly IRepositoryCommitsClient _fixture;
private readonly RepositoryContext _context;
public TestsWithNewRepository()
{
_client = Helper.GetAuthenticatedClient();
_github = Helper.GetAuthenticatedClient();
_fixture = _client.Repository.Commits;
_fixture = _github.Repository.Commits;
var repoName = Helper.MakeNameWithTimestamp("source-repo");
_repository = _client.Repository.Create(new NewRepository(repoName) { AutoInit = true }).Result;
_context = _github.CreateRepositoryContext("source-repo").Result;
}
[IntegrationTest]
@@ -110,7 +109,7 @@ public class RepositoryCommitsClientTests
{
await CreateTheWorld();
var result = await _fixture.Compare(Helper.UserName, _repository.Name, "master", "my-branch");
var result = await _fixture.Compare(Helper.UserName, _context.RepositoryName, "master", "my-branch");
Assert.Equal(1, result.TotalCommits);
Assert.Equal(1, result.Commits.Count);
@@ -123,7 +122,7 @@ public class RepositoryCommitsClientTests
{
await CreateTheWorld();
var result = await _fixture.Compare(Helper.UserName, _repository.Name, "my-branch", "master");
var result = await _fixture.Compare(Helper.UserName, _context.RepositoryName, "my-branch", "master");
Assert.Equal(0, result.TotalCommits);
Assert.Equal(0, result.Commits.Count);
@@ -136,7 +135,7 @@ public class RepositoryCommitsClientTests
{
await CreateTheWorld();
var result = await _fixture.Compare(Helper.UserName, _repository.Name, "my-branch", "master");
var result = await _fixture.Compare(Helper.UserName, _context.RepositoryName, "my-branch", "master");
Assert.NotNull(result.DiffUrl);
Assert.NotNull(result.HtmlUrl);
@@ -149,10 +148,10 @@ public class RepositoryCommitsClientTests
{
await CreateTheWorld();
var master = await _client.GitDatabase.Reference.Get(Helper.UserName, _repository.Name, "heads/master");
var branch = await _client.GitDatabase.Reference.Get(Helper.UserName, _repository.Name, "heads/my-branch");
var master = await _github.GitDatabase.Reference.Get(Helper.UserName, _context.RepositoryName, "heads/master");
var branch = await _github.GitDatabase.Reference.Get(Helper.UserName, _context.RepositoryName, "heads/my-branch");
var result = await _fixture.Compare(Helper.UserName, _repository.Name, master.Object.Sha, branch.Object.Sha);
var result = await _fixture.Compare(Helper.UserName, _context.RepositoryName, master.Object.Sha, branch.Object.Sha);
Assert.Equal(1, result.Commits.Count);
Assert.Equal(1, result.AheadBy);
@@ -161,21 +160,21 @@ public class RepositoryCommitsClientTests
async Task CreateTheWorld()
{
var master = await _client.GitDatabase.Reference.Get(Helper.UserName, _repository.Name, "heads/master");
var master = await _github.GitDatabase.Reference.Get(Helper.UserName, _context.RepositoryName, "heads/master");
// create new commit for master branch
var newMasterTree = await CreateTree(new Dictionary<string, string> { { "README.md", "Hello World!" } });
var newMaster = await CreateCommit("baseline for pull request", newMasterTree.Sha, master.Object.Sha);
// update master
await _client.GitDatabase.Reference.Update(Helper.UserName, _repository.Name, "heads/master", new ReferenceUpdate(newMaster.Sha));
await _github.GitDatabase.Reference.Update(Helper.UserName, _context.RepositoryName, "heads/master", new ReferenceUpdate(newMaster.Sha));
// create new commit for feature branch
var featureBranchTree = await CreateTree(new Dictionary<string, string> { { "README.md", "I am overwriting this blob with something new" } });
var newFeature = await CreateCommit("this is the commit to merge into the pull request", featureBranchTree.Sha, newMaster.Sha);
// create branch
await _client.GitDatabase.Reference.Create(Helper.UserName, _repository.Name, new NewReference("refs/heads/my-branch", newFeature.Sha));
await _github.GitDatabase.Reference.Create(Helper.UserName, _context.RepositoryName, new NewReference("refs/heads/my-branch", newFeature.Sha));
}
async Task<TreeResponse> CreateTree(IDictionary<string, string> treeContents)
@@ -189,7 +188,7 @@ public class RepositoryCommitsClientTests
Content = c.Value,
Encoding = EncodingType.Utf8
};
var baselineBlobResult = await _client.GitDatabase.Blob.Create(Helper.UserName, _repository.Name, baselineBlob);
var baselineBlobResult = await _github.GitDatabase.Blob.Create(Helper.UserName, _context.RepositoryName, baselineBlob);
collection.Add(new NewTreeItem
{
@@ -206,18 +205,18 @@ public class RepositoryCommitsClientTests
newTree.Tree.Add(item);
}
return await _client.GitDatabase.Tree.Create(Helper.UserName, _repository.Name, newTree);
return await _github.GitDatabase.Tree.Create(Helper.UserName, _context.RepositoryName, newTree);
}
async Task<Commit> CreateCommit(string message, string sha, string parent)
{
var newCommit = new NewCommit(message, sha, parent);
return await _client.GitDatabase.Commit.Create(Helper.UserName, _repository.Name, newCommit);
return await _github.GitDatabase.Commit.Create(Helper.UserName, _context.RepositoryName, newCommit);
}
public void Dispose()
{
_client.Repository.Delete(_repository.Owner.Login, _repository.Name);
_context.Dispose();
}
}
}
@@ -3,25 +3,22 @@ using System.Threading.Tasks;
using Octokit;
using Octokit.Tests.Integration;
using Xunit;
using Octokit.Tests.Integration.Helpers;
public class RepositoryDeployKeysClientTests : IDisposable
{
const string _key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDB8IE5+RppLpeW+6lqo0fpfvMunKg6W4bhYCfVJIOYbpKoHP95nTUMZPBT++9NLeB4/YsuNTCrrpnpjc4f2IVpGvloRiVXjAzoJk9QIL6uzn1zRFdvaxSJ3Urhe9LcLHcIgccgZgSdWGzaZI3xtMvGC4diwWNsPjvVc/RyDM/MPqAim0X5XVOQwEFsSsUSraezJ+VgYMYzLYBcKWW0B86HVVhL4ZtmcY/RN2544bljnzw2M3aQvXNPTvkuiUoqLOI+5/qzZ8PfkruO55YtweEd0lkY6oZvrBPMD6dLODEqMHb4tD6htx60wSipNqjPwpOMpzp0Bk3G909unVXi6Fw5";
const string _keyTitle = "octokit@github";
readonly IRepositoryDeployKeysClient _fixture;
readonly Repository _repository;
readonly string _owner;
private readonly RepositoryContext _context;
private readonly IRepositoryDeployKeysClient _fixture;
public RepositoryDeployKeysClientTests()
{
var client = Helper.GetAuthenticatedClient();
var repoName = Helper.MakeNameWithTimestamp("public-repo");
_fixture = client.Repository.DeployKeys;
_repository = client.Repository.Create(new NewRepository(repoName) { AutoInit = true }).Result;
_owner = _repository.Owner.Login;
var github = Helper.GetAuthenticatedClient();
_fixture = github.Repository.DeployKeys;
_context = github.CreateRepositoryContext("public-repo").Result;
}
[IntegrationTest(Skip = "see https://github.com/octokit/octokit.net/issues/533 for the resolution to this failing test")]
@@ -33,7 +30,7 @@ public class RepositoryDeployKeysClientTests : IDisposable
Title = _keyTitle
};
var deployKeyResult = await _fixture.Create(_owner, _repository.Name, deployKey);
var deployKeyResult = await _fixture.Create(_context.RepositoryOwner, _context.RepositoryName, deployKey);
Assert.NotNull(deployKeyResult);
Assert.Equal(_key, deployKeyResult.Key);
Assert.Equal(_keyTitle, deployKeyResult.Title);
@@ -43,7 +40,7 @@ public class RepositoryDeployKeysClientTests : IDisposable
[IntegrationTest]
public async Task CanRetrieveAllDeployKeys()
{
var deployKeys = await _fixture.GetAll(_owner, _repository.Name);
var deployKeys = await _fixture.GetAll(_context.RepositoryOwner, _context.RepositoryName);
Assert.Equal(0, deployKeys.Count);
var deployKey = new NewDeployKey()
@@ -52,9 +49,9 @@ public class RepositoryDeployKeysClientTests : IDisposable
Title = _keyTitle
};
await _fixture.Create(_owner, _repository.Name, deployKey);
await _fixture.Create(_context.RepositoryOwner, _context.RepositoryName, deployKey);
deployKeys = await _fixture.GetAll(_owner, _repository.Name);
deployKeys = await _fixture.GetAll(_context.RepositoryOwner, _context.RepositoryName);
Assert.Equal(1, deployKeys.Count);
Assert.Equal(_key, deployKeys[0].Key);
Assert.Equal(_keyTitle, deployKeys[0].Title);
@@ -68,9 +65,9 @@ public class RepositoryDeployKeysClientTests : IDisposable
Key = _key,
Title = _keyTitle
};
var deployKeyResult = await _fixture.Create(_owner, _repository.Name, newDeployKey);
var deployKeyResult = await _fixture.Create(_context.RepositoryOwner, _context.RepositoryName, newDeployKey);
var deployKey = await _fixture.Get(_owner, _repository.Name, deployKeyResult.Id);
var deployKey = await _fixture.Get(_context.RepositoryOwner, _context.RepositoryName, deployKeyResult.Id);
Assert.NotNull(deployKey);
Assert.Equal(deployKeyResult.Id, deployKey.Id);
Assert.Equal(_key, deployKey.Key);
@@ -86,20 +83,20 @@ public class RepositoryDeployKeysClientTests : IDisposable
Title = _keyTitle
};
await _fixture.Create(_owner, _repository.Name, newDeployKey);
await _fixture.Create(_context.RepositoryOwner, _context.RepositoryName, newDeployKey);
var deployKeys = await _fixture.GetAll(_owner, _repository.Name);
var deployKeys = await _fixture.GetAll(_context.RepositoryOwner, _context.RepositoryName);
Assert.Equal(1, deployKeys.Count);
Assert.Equal(_key, deployKeys[0].Key);
Assert.Equal(_keyTitle, deployKeys[0].Title);
await _fixture.Delete(_owner, _repository.Name, deployKeys[0].Id);
deployKeys = await _fixture.GetAll(_owner, _repository.Name);
await _fixture.Delete(_context.RepositoryOwner, _context.RepositoryName, deployKeys[0].Id);
deployKeys = await _fixture.GetAll(_context.RepositoryOwner, _context.RepositoryName);
Assert.Equal(0, deployKeys.Count);
}
public void Dispose()
{
Helper.DeleteRepo(_repository);
_context.Dispose();
}
}
@@ -3,23 +3,21 @@ using System.Threading.Tasks;
using Octokit;
using Octokit.Tests.Integration;
using Xunit;
using Octokit.Tests.Integration.Helpers;
public class TreeClientTests : IDisposable
{
readonly ITreesClient _fixture;
readonly Repository _repository;
readonly string _owner;
readonly IGitHubClient _client;
private readonly IGitHubClient _github;
private readonly ITreesClient _fixture;
private readonly RepositoryContext _context;
public TreeClientTests()
{
_client = Helper.GetAuthenticatedClient();
_github = Helper.GetAuthenticatedClient();
_fixture = _client.GitDatabase.Tree;
_fixture = _github.GitDatabase.Tree;
var repoName = Helper.MakeNameWithTimestamp("public-repo");
_repository = _client.Repository.Create(new NewRepository(repoName) { AutoInit = true }).Result;
_owner = _repository.Owner.Login;
_context = _github.CreateRepositoryContext("public-repo").Result;
}
[IntegrationTest]
@@ -31,7 +29,7 @@ public class TreeClientTests : IDisposable
Encoding = EncodingType.Utf8
};
var createdBlob = await _client.GitDatabase.Blob.Create(_owner, _repository.Name, blob);
var createdBlob = await _github.GitDatabase.Blob.Create(_context.RepositoryOwner, _context.RepositoryName, blob);
var newTree = new NewTree();
newTree.Tree.Add(new NewTreeItem
@@ -42,7 +40,7 @@ public class TreeClientTests : IDisposable
Mode = FileMode.File
});
var result = await _fixture.Create(_owner, _repository.Name, newTree);
var result = await _fixture.Create(_context.RepositoryOwner, _context.RepositoryName, newTree);
Assert.NotNull(result);
}
@@ -65,7 +63,7 @@ public class TreeClientTests : IDisposable
Encoding = EncodingType.Utf8
};
var blobResult = await _client.GitDatabase.Blob.Create(_owner, _repository.Name, blob);
var blobResult = await _github.GitDatabase.Blob.Create(_context.RepositoryOwner, _context.RepositoryName, blob);
var newTree = new NewTree();
newTree.Tree.Add(new NewTreeItem
@@ -76,9 +74,9 @@ public class TreeClientTests : IDisposable
Mode = FileMode.File
});
var tree = await _fixture.Create(_owner, _repository.Name, newTree);
var tree = await _fixture.Create(_context.RepositoryOwner, _context.RepositoryName, newTree);
var result = await _fixture.Get(_owner, _repository.Name, tree.Sha);
var result = await _fixture.Get(_context.RepositoryOwner, _context.RepositoryName, tree.Sha);
Assert.NotNull(result);
Assert.Equal(1, result.Tree.Count);
@@ -86,6 +84,6 @@ public class TreeClientTests : IDisposable
public void Dispose()
{
Helper.DeleteRepo(_repository);
_context.Dispose();
}
}
@@ -5,21 +5,21 @@ using System.Reactive.Linq;
using System.Threading.Tasks;
using Octokit.Tests.Integration;
using Xunit;
using Octokit.Tests.Integration.Helpers;
public class ObservableIssuesClientTests : IDisposable
{
readonly ObservableIssuesClient _client;
readonly string _repoName;
readonly Repository _createdRepository;
private readonly RepositoryContext _context;
private readonly ObservableIssuesClient _client;
public ObservableIssuesClientTests()
{
var github = Helper.GetAuthenticatedClient();
_client = new ObservableIssuesClient(github);
_repoName = Helper.MakeNameWithTimestamp("public-repo");
var result = github.Repository.Create(new NewRepository(_repoName)).Result;
_createdRepository = result;
var repoName = Helper.MakeNameWithTimestamp("public-repo");
_context = github.CreateRepositoryContext(new NewRepository(repoName)).Result;
}
[IntegrationTest]
@@ -43,8 +43,8 @@ public class ObservableIssuesClientTests : IDisposable
[IntegrationTest]
public async Task ReturnsAllIssuesForCurrentUser()
{
var newIssue = new NewIssue("Integration test issue") { Assignee = _createdRepository.Owner.Login };
await _client.Create(_createdRepository.Owner.Login, _repoName, newIssue);
var newIssue = new NewIssue("Integration test issue") { Assignee = _context.RepositoryOwner };
await _client.Create(_context.RepositoryOwner, _context.RepositoryName, newIssue);
var issues = await _client.GetAllForCurrent().ToList();
@@ -54,8 +54,8 @@ public class ObservableIssuesClientTests : IDisposable
[IntegrationTest]
public async Task ReturnsAllIssuesForOwnedAndMemberRepositories()
{
var newIssue = new NewIssue("Integration test issue") { Assignee = _createdRepository.Owner.Login };
await _client.Create(_createdRepository.Owner.Login, _repoName, newIssue);
var newIssue = new NewIssue("Integration test issue") { Assignee = _context.RepositoryOwner };
await _client.Create(_context.RepositoryOwner, _context.RepositoryName, newIssue);
var result = await _client.GetAllForOwnedAndMemberRepositories().ToList();
Assert.NotEmpty(result);
@@ -66,15 +66,15 @@ public class ObservableIssuesClientTests : IDisposable
{
var newIssue = new NewIssue("Integration test issue");
var createResult = await _client.Create(_createdRepository.Owner.Login, _repoName, newIssue);
var updateResult = await _client.Update(_createdRepository.Owner.Login, _repoName, createResult.Number, new IssueUpdate { Title = "Modified integration test issue" });
var createResult = await _client.Create(_context.RepositoryOwner, _context.RepositoryName, newIssue);
var updateResult = await _client.Update(_context.RepositoryOwner, _context.RepositoryName, createResult.Number, new IssueUpdate { Title = "Modified integration test issue" });
Assert.Equal("Modified integration test issue", updateResult.Title);
}
public void Dispose()
{
Helper.DeleteRepo(_createdRepository);
_context.Dispose();
}
}