Files
Tom Longhurst cd1835326b Fix xUnit Warnings (#2906)
* Fix xUnit Warnings

* Fix

* Fix formatting in AsyncPaginationExtensionGenerator.cs

---------

Co-authored-by: Keegan Campbell <me@kfcampbell.com>
2024-04-15 13:19:26 -07:00

152 lines
4.0 KiB
C#

using System;
using System.Threading.Tasks;
using Octokit;
using Octokit.Tests.Integration;
using Octokit.Tests.Integration.Helpers;
using Xunit;
public class TreeClientTests : IDisposable
{
private readonly IGitHubClient _github;
private readonly ITreesClient _fixture;
private readonly RepositoryContext _context;
public TreeClientTests()
{
_github = Helper.GetAuthenticatedClient();
_fixture = _github.Git.Tree;
_context = _github.CreateRepositoryContextWithAutoInit("public-repo").Result;
}
[IntegrationTest]
public async Task CanCreateATree()
{
var blob = new NewBlob
{
Content = "Hello World!",
Encoding = EncodingType.Utf8
};
var createdBlob = await _github.Git.Blob.Create(_context.RepositoryOwner, _context.RepositoryName, blob);
var newTree = new NewTree();
newTree.Tree.Add(new NewTreeItem
{
Type = TreeType.Blob,
Path = "README.md",
Sha = createdBlob.Sha,
Mode = FileMode.File
});
var result = await _fixture.Create(_context.RepositoryOwner, _context.RepositoryName, newTree);
Assert.NotNull(result);
}
[IntegrationTest]
public async Task CanCreateATreeWithRepositoryId()
{
var blob = new NewBlob
{
Content = "Hello World!",
Encoding = EncodingType.Utf8
};
var createdBlob = await _github.Git.Blob.Create(_context.RepositoryOwner, _context.RepositoryName, blob);
var newTree = new NewTree();
newTree.Tree.Add(new NewTreeItem
{
Type = TreeType.Blob,
Path = "README.md",
Sha = createdBlob.Sha,
Mode = FileMode.File
});
var result = await _fixture.Create(_context.Repository.Id, newTree);
Assert.NotNull(result);
}
[IntegrationTest]
public async Task CanGetATree()
{
var result = await _fixture.Get("octokit", "octokit.net", "main");
Assert.NotNull(result);
Assert.NotEmpty(result.Tree);
}
[IntegrationTest]
public async Task CanGetATreeWithRepositoryId()
{
var result = await _fixture.Get(1, "main");
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 _github.Git.Blob.Create(_context.RepositoryOwner, _context.RepositoryName, blob);
var newTree = new NewTree();
newTree.Tree.Add(new NewTreeItem
{
Type = TreeType.Blob,
Path = "README.md",
Sha = blobResult.Sha,
Mode = FileMode.File
});
var tree = await _fixture.Create(_context.RepositoryOwner, _context.RepositoryName, newTree);
var result = await _fixture.Get(_context.RepositoryOwner, _context.RepositoryName, tree.Sha);
Assert.NotNull(result);
Assert.Single(result.Tree);
}
[IntegrationTest]
public async Task CanGetACreatedTreeWithRepositoryId()
{
var blob = new NewBlob
{
Content = "Hello World!",
Encoding = EncodingType.Utf8
};
var blobResult = await _github.Git.Blob.Create(_context.RepositoryOwner, _context.RepositoryName, blob);
var newTree = new NewTree();
newTree.Tree.Add(new NewTreeItem
{
Type = TreeType.Blob,
Path = "README.md",
Sha = blobResult.Sha,
Mode = FileMode.File
});
var tree = await _fixture.Create(_context.Repository.Id, newTree);
var result = await _fixture.Get(_context.Repository.Id, tree.Sha);
Assert.NotNull(result);
Assert.Single(result.Tree);
}
public void Dispose()
{
_context.Dispose();
}
}