mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-06-03 03:01:31 +00:00
refactoring and improving Trees tests
This commit is contained in:
@@ -7,37 +7,82 @@ using Xunit;
|
||||
|
||||
public class TreeClientTests : IDisposable
|
||||
{
|
||||
ITreesClient _fixture;
|
||||
Repository _repository;
|
||||
string _owner;
|
||||
readonly ITreesClient _fixture;
|
||||
readonly Repository _repository;
|
||||
readonly string _owner;
|
||||
readonly GitHubClient _client;
|
||||
|
||||
public TreeClientTests()
|
||||
{
|
||||
var client = new GitHubClient(new ProductHeaderValue("OctokitTests"))
|
||||
_client = new GitHubClient(new ProductHeaderValue("OctokitTests"))
|
||||
{
|
||||
Credentials = Helper.Credentials
|
||||
};
|
||||
_fixture = client.GitDatabase.Tree;
|
||||
_fixture = _client.GitDatabase.Tree;
|
||||
|
||||
var repoName = Helper.MakeNameWithTimestamp("public-repo");
|
||||
_repository = client.Repository.Create(new NewRepository { Name = repoName, AutoInit = true }).Result;
|
||||
_repository = _client.Repository.Create(new NewRepository { Name = repoName, AutoInit = true }).Result;
|
||||
_owner = _repository.Owner.Login;
|
||||
}
|
||||
|
||||
[IntegrationTest(Skip="TODO")]
|
||||
[IntegrationTest]
|
||||
public async Task CanCreateATree()
|
||||
{
|
||||
// TODO: create a blob
|
||||
// TODO: create a tree
|
||||
var blob = new NewBlob
|
||||
{
|
||||
Content = "Hello World!",
|
||||
Encoding = EncodingType.Utf8
|
||||
};
|
||||
|
||||
var createdBlob = await _client.GitDatabase.Blob.Create(_owner, _repository.Name, blob);
|
||||
|
||||
var newTree = new NewTree();
|
||||
newTree.Tree.Add(new NewTreeItem
|
||||
{
|
||||
Type = TreeType.Blob,
|
||||
Path = "README.md",
|
||||
Sha = createdBlob.Sha
|
||||
});
|
||||
|
||||
var result = await _fixture.Create(_owner, _repository.Name, newTree);
|
||||
|
||||
Assert.NotNull(result);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task CanGetATree()
|
||||
{
|
||||
var tree = await _fixture.Get("octokit", "octokit.net", "master");
|
||||
var result = await _fixture.Get("octokit", "octokit.net", "master");
|
||||
|
||||
Assert.NotNull(tree);
|
||||
Assert.NotNull(result);
|
||||
Assert.NotEmpty(result.Tree);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task CanGetACreatedTree()
|
||||
{
|
||||
var blob = new NewBlob
|
||||
{
|
||||
Content = "Hello World!",
|
||||
Encoding = EncodingType.Utf8
|
||||
};
|
||||
|
||||
var blobResult = await _client.GitDatabase.Blob.Create(_owner, _repository.Name, blob);
|
||||
|
||||
var newTree = new NewTree();
|
||||
newTree.Tree.Add(new NewTreeItem
|
||||
{
|
||||
Type = TreeType.Blob,
|
||||
Path = "README.md",
|
||||
Sha = blobResult.Sha
|
||||
});
|
||||
|
||||
var tree = await _fixture.Create(_owner, _repository.Name, newTree);
|
||||
|
||||
var result = await _fixture.Get(_owner, _repository.Name, tree.Sha);
|
||||
|
||||
Assert.NotNull(result);
|
||||
Assert.Equal(1, result.Tree.Count);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
||||
Reference in New Issue
Block a user