mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-06-09 04:56:29 +00:00
bring tests from unrelated PR into this project (#2013)
This commit is contained in:
@@ -81,5 +81,10 @@ VO/+BCBsaoT4g1FFOmJhbBAD3G72yslBnUJmqKP/39pi
|
||||
|
||||
return new GpgKeyContext(client.Connection, key);
|
||||
}
|
||||
|
||||
internal static MaintenanceModeContext CreateMaintenanceModeContext(this IObservableGitHubClient client, bool enabled)
|
||||
{
|
||||
return new MaintenanceModeContext(client.Connection, enabled);
|
||||
}
|
||||
}
|
||||
}
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Reactive.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Octokit.Reactive;
|
||||
using Octokit.Tests.Integration.Helpers;
|
||||
using Xunit;
|
||||
|
||||
namespace Octokit.Tests.Integration
|
||||
{
|
||||
public class ObservableEnterpriseManagementConsoleTests
|
||||
{
|
||||
readonly IObservableGitHubClient _github;
|
||||
|
||||
public ObservableEnterpriseManagementConsoleTests()
|
||||
{
|
||||
_github = new ObservableGitHubClient(EnterpriseHelper.GetAuthenticatedClient());
|
||||
}
|
||||
|
||||
[GitHubEnterpriseManagementConsoleTest]
|
||||
public async Task CanGetMaintenanceMode()
|
||||
{
|
||||
var maintenance = await _github.Enterprise.ManagementConsole.GetMaintenanceMode(EnterpriseHelper.ManagementConsolePassword);
|
||||
|
||||
Assert.NotNull(maintenance);
|
||||
}
|
||||
|
||||
[GitHubEnterpriseManagementConsoleTest]
|
||||
public async Task CanSetMaintenanceModeOff()
|
||||
{
|
||||
using (_github.CreateMaintenanceModeContext(true))
|
||||
{
|
||||
// Set maintenance mode OFF now
|
||||
var maintenance = await
|
||||
_github.Enterprise.ManagementConsole.EditMaintenanceMode(
|
||||
new UpdateMaintenanceRequest(),
|
||||
EnterpriseHelper.ManagementConsolePassword);
|
||||
|
||||
Assert.Equal(MaintenanceModeStatus.Off, maintenance.Status);
|
||||
}
|
||||
}
|
||||
|
||||
[GitHubEnterpriseManagementConsoleTest]
|
||||
public async Task CanSetMaintenanceModeOnNow()
|
||||
{
|
||||
using (_github.CreateMaintenanceModeContext(false))
|
||||
{
|
||||
// Set maintenance mode ON now
|
||||
var maintenance = await
|
||||
_github.Enterprise.ManagementConsole.EditMaintenanceMode(
|
||||
new UpdateMaintenanceRequest(
|
||||
new UpdateMaintenanceRequestDetails(true)),
|
||||
EnterpriseHelper.ManagementConsolePassword);
|
||||
|
||||
Assert.Equal(MaintenanceModeStatus.On, maintenance.Status);
|
||||
}
|
||||
}
|
||||
|
||||
[GitHubEnterpriseManagementConsoleTest]
|
||||
public async Task CanScheduleMaintenanceModeOnWithDateTime()
|
||||
{
|
||||
using (_github.CreateMaintenanceModeContext(false))
|
||||
{
|
||||
// Schedule maintenance mode ON in 5 minutes
|
||||
var scheduledTime = DateTimeOffset.Now.AddMinutes(5);
|
||||
var maintenance = await
|
||||
_github.Enterprise.ManagementConsole.EditMaintenanceMode(
|
||||
new UpdateMaintenanceRequest(
|
||||
new UpdateMaintenanceRequestDetails(true, scheduledTime)),
|
||||
EnterpriseHelper.ManagementConsolePassword);
|
||||
|
||||
Assert.Equal(MaintenanceModeStatus.Scheduled, maintenance.Status);
|
||||
}
|
||||
}
|
||||
|
||||
[GitHubEnterpriseManagementConsoleTest]
|
||||
public async Task CanScheduleMaintenanceModeOnWithPhrase()
|
||||
{
|
||||
using (_github.CreateMaintenanceModeContext(false))
|
||||
{
|
||||
// Schedule maintenance mode ON with phrase
|
||||
var maintenance = await
|
||||
_github.Enterprise.ManagementConsole.EditMaintenanceMode(
|
||||
new UpdateMaintenanceRequest(
|
||||
new UpdateMaintenanceRequestDetails(true, "tomorrow at 5pm")),
|
||||
EnterpriseHelper.ManagementConsolePassword);
|
||||
|
||||
Assert.Equal(MaintenanceModeStatus.Scheduled, maintenance.Status);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user