mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-06-02 19:00:47 +00:00
Refactors the remaining test classes
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user