mirror of
https://github.com/zoriya/octokit.net.git
synced 2025-12-05 23:06:10 +00:00
* Fix xUnit Warnings * Fix * Fix formatting in AsyncPaginationExtensionGenerator.cs --------- Co-authored-by: Keegan Campbell <me@kfcampbell.com>
196 lines
8.7 KiB
C#
196 lines
8.7 KiB
C#
using System.Collections;
|
|
using System.Threading.Tasks;
|
|
using Xunit;
|
|
|
|
namespace Octokit.Tests.Integration.Clients
|
|
{
|
|
public class OrganizationClientTests
|
|
{
|
|
public class TheGetAllMethod
|
|
{
|
|
[GitHubEnterpriseTest]
|
|
public async Task CanListAllOrganizations()
|
|
{
|
|
var github = EnterpriseHelper.GetAuthenticatedClient();
|
|
var organizationsClient = github.Organization;
|
|
|
|
string orgLogin1 = Helper.MakeNameWithTimestamp("MyOrganization1");
|
|
string orgName1 = string.Concat(orgLogin1, " Display Name 1");
|
|
string orgLogin2 = Helper.MakeNameWithTimestamp("MyOrganization2");
|
|
string orgName2 = string.Concat(orgLogin2, " Display Name 2");
|
|
|
|
var newOrganization1 = new NewOrganization(orgLogin1, EnterpriseHelper.UserName, orgName1);
|
|
var newOrganization2 = new NewOrganization(orgLogin2, EnterpriseHelper.UserName, orgName2);
|
|
await github.Enterprise.Organization.Create(newOrganization1);
|
|
await github.Enterprise.Organization.Create(newOrganization2);
|
|
|
|
var organizations = await organizationsClient.GetAll();
|
|
|
|
Assert.Contains(organizations, (org => org.Login == orgLogin1));
|
|
Assert.Contains(organizations, (org => org.Login == orgLogin2));
|
|
}
|
|
|
|
[GitHubEnterpriseTest]
|
|
public async Task ReturnsCorrectOrganizationsWithSince()
|
|
{
|
|
var github = EnterpriseHelper.GetAuthenticatedClient();
|
|
var organizationsClient = github.Organization;
|
|
|
|
string orgLogin1 = Helper.MakeNameWithTimestamp("MyOrganization1");
|
|
string orgName1 = string.Concat(orgLogin1, " Display Name 1");
|
|
string orgLogin2 = Helper.MakeNameWithTimestamp("MyOrganization2");
|
|
string orgName2 = string.Concat(orgLogin2, " Display Name 2");
|
|
string orgLogin3 = Helper.MakeNameWithTimestamp("MyOrganization3");
|
|
string orgName3 = string.Concat(orgLogin3, " Display Name 3");
|
|
|
|
var newOrganization1 = new NewOrganization(orgLogin1, EnterpriseHelper.UserName, orgName1);
|
|
var newOrganization2 = new NewOrganization(orgLogin2, EnterpriseHelper.UserName, orgName2);
|
|
var newOrganization3 = new NewOrganization(orgLogin3, EnterpriseHelper.UserName, orgName3);
|
|
|
|
var createdOrganization1 = await github.Enterprise.Organization.Create(newOrganization1);
|
|
var createdOrganization2 = await github.Enterprise.Organization.Create(newOrganization2);
|
|
var createdOrganization3 = await github.Enterprise.Organization.Create(newOrganization3);
|
|
|
|
var requestParameter = new OrganizationRequest(createdOrganization1.Id);
|
|
|
|
var organizations = await organizationsClient.GetAll(requestParameter);
|
|
|
|
Assert.DoesNotContain(organizations, (org => org.Login == orgLogin1));
|
|
Assert.Contains(organizations, (org => org.Login == orgLogin2));
|
|
Assert.Contains(organizations, (org => org.Login == orgLogin3));
|
|
}
|
|
}
|
|
|
|
public class TheGetMethod
|
|
{
|
|
[IntegrationTest]
|
|
[PotentiallyFlakyTest]
|
|
public async Task GetFreeOrganization()
|
|
{
|
|
var github = Helper.GetAuthenticatedClient();
|
|
|
|
var organization = await
|
|
github.Organization.Get("snyrting6orggithub");
|
|
|
|
Assert.Equal(0, organization.Plan.Seats);
|
|
Assert.Equal(1, organization.Plan.FilledSeats);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllForCurrentMethod
|
|
{
|
|
readonly IGitHubClient _github;
|
|
readonly IOrganizationsClient _organizationsClient;
|
|
|
|
public TheGetAllForCurrentMethod()
|
|
{
|
|
_github = EnterpriseHelper.GetAuthenticatedClient();
|
|
|
|
_organizationsClient = _github.Organization;
|
|
}
|
|
|
|
[GitHubEnterpriseTest]
|
|
public async Task CanListUserOrganizations()
|
|
{
|
|
string orgLogin = Helper.MakeNameWithTimestamp("MyOrganization");
|
|
string orgName = string.Concat(orgLogin, " Display Name");
|
|
|
|
var newOrganization = new NewOrganization(orgLogin, EnterpriseHelper.UserName, orgName);
|
|
var organization = await _github.Enterprise.Organization.Create(newOrganization);
|
|
|
|
Assert.NotNull(organization);
|
|
|
|
var organizations = await _organizationsClient.GetAllForCurrent();
|
|
|
|
Assert.NotEmpty(organizations);
|
|
}
|
|
|
|
[GitHubEnterpriseTest]
|
|
public async Task ReturnsCorrectCountOfUserOrganizationsWithoutStart()
|
|
{
|
|
string orgLogin1 = Helper.MakeNameWithTimestamp("MyOrganization1");
|
|
string orgName1 = string.Concat(orgLogin1, " Display Name 1");
|
|
string orgLogin2 = Helper.MakeNameWithTimestamp("MyOrganization2");
|
|
string orgName2 = string.Concat(orgLogin2, " Display Name 2");
|
|
|
|
var newOrganization1 = new NewOrganization(orgLogin1, EnterpriseHelper.UserName, orgName1);
|
|
var newOrganization2 = new NewOrganization(orgLogin2, EnterpriseHelper.UserName, orgName2);
|
|
await _github.Enterprise.Organization.Create(newOrganization1);
|
|
await _github.Enterprise.Organization.Create(newOrganization2);
|
|
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 2,
|
|
PageCount = 1
|
|
};
|
|
|
|
var organizations = await _organizationsClient.GetAllForCurrent(options);
|
|
|
|
Assert.Equal(2, organizations.Count);
|
|
}
|
|
|
|
[GitHubEnterpriseTest]
|
|
public async Task ReturnsCorrectCountOfUserOrganizationsWithStart()
|
|
{
|
|
string orgLogin1 = Helper.MakeNameWithTimestamp("MyOrganization1");
|
|
string orgName1 = string.Concat(orgLogin1, " Display Name 1");
|
|
string orgLogin2 = Helper.MakeNameWithTimestamp("MyOrganization2");
|
|
string orgName2 = string.Concat(orgLogin2, " Display Name 2");
|
|
|
|
var newOrganization1 = new NewOrganization(orgLogin1, EnterpriseHelper.UserName, orgName1);
|
|
var newOrganization2 = new NewOrganization(orgLogin2, EnterpriseHelper.UserName, orgName2);
|
|
await _github.Enterprise.Organization.Create(newOrganization1);
|
|
await _github.Enterprise.Organization.Create(newOrganization2);
|
|
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 1,
|
|
PageCount = 1,
|
|
StartPage = 2,
|
|
};
|
|
|
|
var organizations = await _organizationsClient.GetAllForCurrent(options);
|
|
|
|
Assert.Single(organizations);
|
|
}
|
|
|
|
[GitHubEnterpriseTest]
|
|
public async Task ReturnsDistinctResultsBasedOnStartPage()
|
|
{
|
|
string orgLogin1 = Helper.MakeNameWithTimestamp("MyOrganization1");
|
|
string orgName1 = string.Concat(orgLogin1, " Display Name 1");
|
|
string orgLogin2 = Helper.MakeNameWithTimestamp("MyOrganization2");
|
|
string orgName2 = string.Concat(orgLogin2, " Display Name 2");
|
|
string orgLogin3 = Helper.MakeNameWithTimestamp("MyOrganization3");
|
|
string orgName3 = string.Concat(orgLogin3, " Display Name 3");
|
|
|
|
var newOrganization1 = new NewOrganization(orgLogin1, EnterpriseHelper.UserName, orgName1);
|
|
var newOrganization2 = new NewOrganization(orgLogin2, EnterpriseHelper.UserName, orgName2);
|
|
var newOrganization3 = new NewOrganization(orgLogin3, EnterpriseHelper.UserName, orgName3);
|
|
await _github.Enterprise.Organization.Create(newOrganization1);
|
|
await _github.Enterprise.Organization.Create(newOrganization2);
|
|
await _github.Enterprise.Organization.Create(newOrganization3);
|
|
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 1,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstPage = await _organizationsClient.GetAllForCurrent(startOptions);
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 1,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondPage = await _organizationsClient.GetAllForCurrent(skipStartOptions);
|
|
|
|
Assert.NotEqual(firstPage[0].Login, secondPage[0].Login);
|
|
}
|
|
}
|
|
}
|
|
}
|