mirror of
https://github.com/zoriya/octokit.net.git
synced 2025-12-06 07:16:09 +00:00
* Add release notes and bump version to 0.24 * run "build FormatCode" to fix up whitespace/formatting issues * Fix failing Ssh key tests due to "validation exception". This key must be in use on github (under another user, most likely from these tests failing). Changed to a new SSH key and tweaked tests to reduce chance of a key being created and not destroyed * Assignee and Assignees cant both be specified on NewIssue. We missed this one in the PR. Marked Assignee as [Obsolete] and fixed tests to use Assignees * Fix a couple of Reactions tests that were calling the wrong client methods * Fix timeline tests - looks like the response class has changed shape a bit, it now has an Issue object in the payload and Id field isnt present (leaving Id field there in case other timeline events do use it) * Fix some following tests that require the test user to follow more than 1 other user * Unskip these Event tests now because apparently they work! * add breaking changes notes * Update ApiErrorMessageSafe to return null for empty and whitespace strings (#1540) * return null if ApiError.Message is empty or whitespace * Uncomment test, which now passes * update release notes to include PR1540 * Add "Bot" AccountType, was causing a deserialization exception when running the integration test "SearchForExcludedLanguage" (#1541) * Update to include PR1541 * add bullets to make release notes easier to read * markup additional code mentions in notes * Fix grammar fields => field
772 lines
29 KiB
C#
772 lines
29 KiB
C#
using System.Linq;
|
|
using System.Reactive.Linq;
|
|
using System.Threading.Tasks;
|
|
using Octokit.Reactive;
|
|
using Xunit;
|
|
|
|
namespace Octokit.Tests.Integration.Reactive
|
|
{
|
|
public class ObservableEventsClientTests
|
|
{
|
|
public class TheGetAllMethod
|
|
{
|
|
readonly ObservableEventsClient _eventsClient;
|
|
|
|
public TheGetAllMethod()
|
|
{
|
|
_eventsClient = new ObservableEventsClient(Helper.GetAuthenticatedClient());
|
|
}
|
|
[IntegrationTest]
|
|
public async Task ReturnsEvents()
|
|
{
|
|
var events = await _eventsClient.GetAll().ToList();
|
|
|
|
Assert.NotEmpty(events);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfEventsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var events = await _eventsClient.GetAll(options).ToList();
|
|
|
|
Assert.Equal(5, events.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfEventsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var events = await _eventsClient.GetAll(options).ToList();
|
|
|
|
Assert.Equal(5, events.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctEventsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstEventsPage = await _eventsClient.GetAll(startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondEventsPage = await _eventsClient.GetAll(skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstEventsPage[0].Id, secondEventsPage[0].Id);
|
|
Assert.NotEqual(firstEventsPage[1].Id, secondEventsPage[1].Id);
|
|
Assert.NotEqual(firstEventsPage[2].Id, secondEventsPage[2].Id);
|
|
Assert.NotEqual(firstEventsPage[3].Id, secondEventsPage[3].Id);
|
|
Assert.NotEqual(firstEventsPage[4].Id, secondEventsPage[4].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllForRepositoryMethod
|
|
{
|
|
readonly ObservableEventsClient _eventsClient;
|
|
const string owner = "octokit";
|
|
const string name = "octokit.net";
|
|
|
|
public TheGetAllForRepositoryMethod()
|
|
{
|
|
_eventsClient = new ObservableEventsClient(Helper.GetAuthenticatedClient());
|
|
}
|
|
[IntegrationTest]
|
|
public async Task ReturnsRepositoryEvents()
|
|
{
|
|
var repositoryEvents = await _eventsClient.GetAllForRepository(owner, name).ToList();
|
|
|
|
Assert.NotEmpty(repositoryEvents);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfRepositoryEventsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var repositoryEvents = await _eventsClient.GetAllForRepository(owner, name, options).ToList();
|
|
|
|
Assert.Equal(5, repositoryEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfRepositoryEventsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var repositoryEvents = await _eventsClient.GetAllForRepository(owner, name, options).ToList();
|
|
|
|
Assert.Equal(5, repositoryEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctRepositoryEventsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstRepositoryEventsPage = await _eventsClient.GetAllForRepository(owner, name, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondRepositoryEventsPage = await _eventsClient.GetAllForRepository(owner, name, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstRepositoryEventsPage[0].Id, secondRepositoryEventsPage[0].Id);
|
|
Assert.NotEqual(firstRepositoryEventsPage[1].Id, secondRepositoryEventsPage[1].Id);
|
|
Assert.NotEqual(firstRepositoryEventsPage[2].Id, secondRepositoryEventsPage[2].Id);
|
|
Assert.NotEqual(firstRepositoryEventsPage[3].Id, secondRepositoryEventsPage[3].Id);
|
|
Assert.NotEqual(firstRepositoryEventsPage[4].Id, secondRepositoryEventsPage[4].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllIssuesForRepositoryMethod
|
|
{
|
|
readonly ObservableEventsClient _eventsClient;
|
|
const string owner = "octokit";
|
|
const string name = "octokit.net";
|
|
|
|
public TheGetAllIssuesForRepositoryMethod()
|
|
{
|
|
_eventsClient = new ObservableEventsClient(Helper.GetAuthenticatedClient());
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsRepositoryEvents()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageCount = 1,
|
|
StartPage = 1,
|
|
PageSize = 5
|
|
};
|
|
|
|
var repositoryEvents = await _eventsClient.GetAllIssuesForRepository(owner, name, options).ToList();
|
|
|
|
Assert.NotEmpty(repositoryEvents);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfRepositoryEventsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var repositoryEvents = await _eventsClient.GetAllIssuesForRepository(owner, name, options).ToList();
|
|
|
|
Assert.Equal(5, repositoryEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfRepositoryEventsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var repositoryEvents = await _eventsClient.GetAllIssuesForRepository(owner, name, options).ToList();
|
|
|
|
Assert.Equal(5, repositoryEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctRepositoryEventsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstRepositoryEventsPage = await _eventsClient.GetAllIssuesForRepository(owner, name, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondRepositoryEventsPage = await _eventsClient.GetAllIssuesForRepository(owner, name, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstRepositoryEventsPage[0].Id, secondRepositoryEventsPage[0].Id);
|
|
Assert.NotEqual(firstRepositoryEventsPage[1].Id, secondRepositoryEventsPage[1].Id);
|
|
Assert.NotEqual(firstRepositoryEventsPage[2].Id, secondRepositoryEventsPage[2].Id);
|
|
Assert.NotEqual(firstRepositoryEventsPage[3].Id, secondRepositoryEventsPage[3].Id);
|
|
Assert.NotEqual(firstRepositoryEventsPage[4].Id, secondRepositoryEventsPage[4].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllForRepositoryNetworkMethod
|
|
{
|
|
readonly ObservableEventsClient _eventsClient;
|
|
const string owner = "octokit";
|
|
const string name = "octokit.net";
|
|
|
|
public TheGetAllForRepositoryNetworkMethod()
|
|
{
|
|
_eventsClient = new ObservableEventsClient(Helper.GetAuthenticatedClient());
|
|
}
|
|
[IntegrationTest]
|
|
public async Task ReturnsRepositoryNetworkEvents()
|
|
{
|
|
var repositoryNetworkEvents = await _eventsClient.GetAllForRepositoryNetwork(owner, name).ToList();
|
|
|
|
Assert.NotEmpty(repositoryNetworkEvents);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfRepositoryNetworkEventsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var repositoryNetworkEvents = await _eventsClient.GetAllForRepositoryNetwork(owner, name, options).ToList();
|
|
|
|
Assert.Equal(5, repositoryNetworkEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfRepositoryNetworkEventsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var repositoryNetworkEvents = await _eventsClient.GetAllForRepositoryNetwork(owner, name, options).ToList();
|
|
|
|
Assert.Equal(5, repositoryNetworkEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctRepositoryNetworkEventsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstRepositoryNetworkEventsPage = await _eventsClient.GetAllForRepositoryNetwork(owner, name, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondRepositoryNetworkEventsPage = await _eventsClient.GetAllForRepositoryNetwork(owner, name, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstRepositoryNetworkEventsPage[0].Id, secondRepositoryNetworkEventsPage[0].Id);
|
|
Assert.NotEqual(firstRepositoryNetworkEventsPage[1].Id, secondRepositoryNetworkEventsPage[1].Id);
|
|
Assert.NotEqual(firstRepositoryNetworkEventsPage[2].Id, secondRepositoryNetworkEventsPage[2].Id);
|
|
Assert.NotEqual(firstRepositoryNetworkEventsPage[3].Id, secondRepositoryNetworkEventsPage[3].Id);
|
|
Assert.NotEqual(firstRepositoryNetworkEventsPage[4].Id, secondRepositoryNetworkEventsPage[4].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllForOrganizationMethod
|
|
{
|
|
readonly ObservableEventsClient _eventsClient;
|
|
const string organization = "octokit";
|
|
|
|
public TheGetAllForOrganizationMethod()
|
|
{
|
|
_eventsClient = new ObservableEventsClient(Helper.GetAuthenticatedClient());
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsOrganizationEvents()
|
|
{
|
|
var organizationEvents = await _eventsClient.GetAllForOrganization(organization).ToList();
|
|
|
|
Assert.NotEmpty(organizationEvents);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfOrganizationEventsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var organizationEvents = await _eventsClient.GetAllForOrganization(organization, options).ToList();
|
|
|
|
Assert.Equal(5, organizationEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfOrganizationEventsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var organizationEvents = await _eventsClient.GetAllForOrganization(organization, options).ToList();
|
|
|
|
Assert.Equal(5, organizationEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctOrganizationEventsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstOrganizationEventsPage = await _eventsClient.GetAllForOrganization(organization, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondOrganizationEventsPage = await _eventsClient.GetAllForOrganization(organization, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstOrganizationEventsPage[0].Id, secondOrganizationEventsPage[0].Id);
|
|
Assert.NotEqual(firstOrganizationEventsPage[1].Id, secondOrganizationEventsPage[1].Id);
|
|
Assert.NotEqual(firstOrganizationEventsPage[2].Id, secondOrganizationEventsPage[2].Id);
|
|
Assert.NotEqual(firstOrganizationEventsPage[3].Id, secondOrganizationEventsPage[3].Id);
|
|
Assert.NotEqual(firstOrganizationEventsPage[4].Id, secondOrganizationEventsPage[4].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllUserReceivedMethod
|
|
{
|
|
readonly ObservableEventsClient _eventsClient;
|
|
const string user = "shiftkey";
|
|
|
|
public TheGetAllUserReceivedMethod()
|
|
{
|
|
_eventsClient = new ObservableEventsClient(Helper.GetAuthenticatedClient());
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsUserReceivedEvents()
|
|
{
|
|
var userReceivedEvents = await _eventsClient.GetAllUserReceived(user).ToList();
|
|
|
|
Assert.NotEmpty(userReceivedEvents);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserReceivedEventsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var userReceivedEvents = await _eventsClient.GetAllUserReceived(user, options).ToList();
|
|
|
|
Assert.Equal(5, userReceivedEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserReceivedEventsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var userReceivedEvents = await _eventsClient.GetAllUserReceived(user, options).ToList();
|
|
|
|
Assert.Equal(5, userReceivedEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctUserReceivedEventsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstUserReceivedEventsPage = await _eventsClient.GetAllUserReceived(user, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondUserReceivedEventsPage = await _eventsClient.GetAllUserReceived(user, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstUserReceivedEventsPage[0].Id, secondUserReceivedEventsPage[0].Id);
|
|
Assert.NotEqual(firstUserReceivedEventsPage[1].Id, secondUserReceivedEventsPage[1].Id);
|
|
Assert.NotEqual(firstUserReceivedEventsPage[2].Id, secondUserReceivedEventsPage[2].Id);
|
|
Assert.NotEqual(firstUserReceivedEventsPage[3].Id, secondUserReceivedEventsPage[3].Id);
|
|
Assert.NotEqual(firstUserReceivedEventsPage[4].Id, secondUserReceivedEventsPage[4].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllUserReceivedPublicMethod
|
|
{
|
|
readonly ObservableEventsClient _eventsClient;
|
|
const string user = "shiftkey";
|
|
|
|
public TheGetAllUserReceivedPublicMethod()
|
|
{
|
|
_eventsClient = new ObservableEventsClient(Helper.GetAuthenticatedClient());
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsUserReceivedPublicEvents()
|
|
{
|
|
var userReceivedPublicEvents = await _eventsClient.GetAllUserReceivedPublic(user).ToList();
|
|
|
|
Assert.NotEmpty(userReceivedPublicEvents);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserReceivedPublicEventsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var userReceivedPublicEvents = await _eventsClient.GetAllUserReceivedPublic(user, options).ToList();
|
|
|
|
Assert.Equal(5, userReceivedPublicEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserReceivedPublicEventsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var userReceivedPublicEvents = await _eventsClient.GetAllUserReceivedPublic(user, options).ToList();
|
|
|
|
Assert.Equal(5, userReceivedPublicEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctUserReceivedPublicEventsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstUserReceivedPublicEventsPage = await _eventsClient.GetAllUserReceivedPublic(user, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondUserReceivedPublicEventsPage = await _eventsClient.GetAllUserReceivedPublic(user, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstUserReceivedPublicEventsPage[0].Id, secondUserReceivedPublicEventsPage[0].Id);
|
|
Assert.NotEqual(firstUserReceivedPublicEventsPage[1].Id, secondUserReceivedPublicEventsPage[1].Id);
|
|
Assert.NotEqual(firstUserReceivedPublicEventsPage[2].Id, secondUserReceivedPublicEventsPage[2].Id);
|
|
Assert.NotEqual(firstUserReceivedPublicEventsPage[3].Id, secondUserReceivedPublicEventsPage[3].Id);
|
|
Assert.NotEqual(firstUserReceivedPublicEventsPage[4].Id, secondUserReceivedPublicEventsPage[4].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllUserPerformedMethod
|
|
{
|
|
readonly ObservableEventsClient _eventsClient;
|
|
const string user = "shiftkey";
|
|
|
|
public TheGetAllUserPerformedMethod()
|
|
{
|
|
_eventsClient = new ObservableEventsClient(Helper.GetAuthenticatedClient());
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsUserPerformedEvents()
|
|
{
|
|
var userPerformedEvents = await _eventsClient.GetAllUserPerformed(user).ToList();
|
|
|
|
Assert.NotEmpty(userPerformedEvents);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserPerformedEventsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var userPerformedEvents = await _eventsClient.GetAllUserPerformed(user, options).ToList();
|
|
|
|
Assert.Equal(5, userPerformedEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserPerformedEventsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var userPerformedEvents = await _eventsClient.GetAllUserPerformed(user, options).ToList();
|
|
|
|
Assert.Equal(5, userPerformedEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctUserPerformedEventsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstUserPerformedEventsPage = await _eventsClient.GetAllUserPerformed(user, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondUserPerformedEventsPage = await _eventsClient.GetAllUserPerformed(user, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstUserPerformedEventsPage[0].Id, secondUserPerformedEventsPage[0].Id);
|
|
Assert.NotEqual(firstUserPerformedEventsPage[1].Id, secondUserPerformedEventsPage[1].Id);
|
|
Assert.NotEqual(firstUserPerformedEventsPage[2].Id, secondUserPerformedEventsPage[2].Id);
|
|
Assert.NotEqual(firstUserPerformedEventsPage[3].Id, secondUserPerformedEventsPage[3].Id);
|
|
Assert.NotEqual(firstUserPerformedEventsPage[4].Id, secondUserPerformedEventsPage[4].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllUserPerformedPublicMethod
|
|
{
|
|
readonly ObservableEventsClient _eventsClient;
|
|
const string user = "shiftkey";
|
|
|
|
public TheGetAllUserPerformedPublicMethod()
|
|
{
|
|
_eventsClient = new ObservableEventsClient(Helper.GetAuthenticatedClient());
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsUserPerformedPublicEvents()
|
|
{
|
|
var userPerformedPublicEvents = await _eventsClient.GetAllUserPerformedPublic(user).ToList();
|
|
|
|
Assert.NotEmpty(userPerformedPublicEvents);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserPerformedPublicEventsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var userPerformedPublicEvents = await _eventsClient.GetAllUserPerformedPublic(user, options).ToList();
|
|
|
|
Assert.Equal(5, userPerformedPublicEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserPerformedPublicEventsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var userPerformedPublicEvents = await _eventsClient.GetAllUserPerformedPublic(user, options).ToList();
|
|
|
|
Assert.Equal(5, userPerformedPublicEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctUserPerformedPublicEventsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstUserPerformedPublicEventsPage = await _eventsClient.GetAllUserPerformedPublic(user, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondUserPerformedPublicEventsPage = await _eventsClient.GetAllUserPerformedPublic(user, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstUserPerformedPublicEventsPage[0].Id, secondUserPerformedPublicEventsPage[0].Id);
|
|
Assert.NotEqual(firstUserPerformedPublicEventsPage[1].Id, secondUserPerformedPublicEventsPage[1].Id);
|
|
Assert.NotEqual(firstUserPerformedPublicEventsPage[2].Id, secondUserPerformedPublicEventsPage[2].Id);
|
|
Assert.NotEqual(firstUserPerformedPublicEventsPage[3].Id, secondUserPerformedPublicEventsPage[3].Id);
|
|
Assert.NotEqual(firstUserPerformedPublicEventsPage[4].Id, secondUserPerformedPublicEventsPage[4].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllForAnOrganizationMethod
|
|
{
|
|
readonly ObservableEventsClient _eventsClient;
|
|
readonly string _organization;
|
|
readonly string _user;
|
|
|
|
public TheGetAllForAnOrganizationMethod()
|
|
{
|
|
var github = Helper.GetAuthenticatedClient();
|
|
_eventsClient = new ObservableEventsClient(github);
|
|
_user = Helper.UserName;
|
|
_organization = Helper.Organization;
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsUserOrganizationEvents()
|
|
{
|
|
var userOrganizationEvents = await _eventsClient.GetAllForAnOrganization(_user, _organization).ToList();
|
|
|
|
Assert.NotEmpty(userOrganizationEvents);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserOrganizationEventsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var userOrganizationEvents = await _eventsClient.GetAllForAnOrganization(_user, _organization, options).ToList();
|
|
|
|
Assert.Equal(5, userOrganizationEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserOrganizationEventsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var userOrganizationEvents = await _eventsClient.GetAllForAnOrganization(_user, _organization, options).ToList();
|
|
|
|
Assert.Equal(5, userOrganizationEvents.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctUserOrganizationEventsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstUserOrganizationEventsPage = await _eventsClient.GetAllForAnOrganization(_user, _organization, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondUserOrganizationEventsPage = await _eventsClient.GetAllForAnOrganization(_user, _organization, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstUserOrganizationEventsPage[0].Id, secondUserOrganizationEventsPage[0].Id);
|
|
Assert.NotEqual(firstUserOrganizationEventsPage[1].Id, secondUserOrganizationEventsPage[1].Id);
|
|
Assert.NotEqual(firstUserOrganizationEventsPage[2].Id, secondUserOrganizationEventsPage[2].Id);
|
|
Assert.NotEqual(firstUserOrganizationEventsPage[3].Id, secondUserOrganizationEventsPage[3].Id);
|
|
Assert.NotEqual(firstUserOrganizationEventsPage[4].Id, secondUserOrganizationEventsPage[4].Id);
|
|
}
|
|
}
|
|
}
|
|
}
|