mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-06-06 20:13:40 +00:00
Begin implementation of Enterprise ManagementConsole API, redux (#2010)
* Initial implementation of ManagementConsole - maintenance mode * Add environment var support for management console password for integration tests * Add reactive client and unit tests * Update some xmlDoc * I think this is a better way to setup the underlying baseUri on IConneciton, to achieve managemet console access rather than requiring a specific GitHubClient that cant call normal API's Instead, the management client methods can check the base Url and if it contains /api/v3/ they can set their relative endpoint Uri to include a leading "/" which will cause the /api/v3/ to be removed. * Update EnterpriseClient.cs Fix xml comments * Update IEnterpriseClient.cs Fix xml comments * Still trying to get the xmDoc perfect, thanks app veyor :) * XmlDoc'ing my way to success * Add specific test attribute for management console tests * check chronic string empty/null * Use helper's password field in test * Tidy up maintenance mode tests by using a context/destructor to manage the initial/end state of maintenance mode * make internal and tidy up URL concatenation * move GHE endpoint fixup inside ApiUrls methods * Rework request object to be the correct structure so SimpleJsonSerializer can be used to serialize it. Remove MaintenanceDate class and just pass in the Date/string for when Still need to use UrlFormEncoding rather than json in the POST body though... * Create abstract base class for FormUrlEncoded parameters (similar to existing RequetParameters) and inherit from it in UpdateMaintenanceRequest * Fix maintenance context logic - destructor should always turn maintenance OFF regardless of initial requested state * Fix xml comment * Fix Xml comment * Those pesky xml comments! * Fine, I give up! * Fix string.Format * fix bad rebase * fix failing convention tests * restore missing whitespace * writing some docs * some edits * edit
This commit is contained in:
@@ -69,7 +69,7 @@ namespace Octokit.Tests.Integration
|
||||
static EnterpriseHelper()
|
||||
{
|
||||
// Force reading of environment variables.
|
||||
// This wasn't happening if UserName/Organization were
|
||||
// This wasn't happening if UserName/Organization were
|
||||
// retrieved before Credentials.
|
||||
Debug.WriteIf(Credentials == null, "No credentials specified.");
|
||||
}
|
||||
@@ -108,10 +108,9 @@ namespace Octokit.Tests.Integration
|
||||
get { return Environment.GetEnvironmentVariable("OCTOKIT_GHE_CLIENTSECRET"); }
|
||||
}
|
||||
|
||||
public static void DeleteUser(IConnection connection, User user)
|
||||
public static string ManagementConsolePassword
|
||||
{
|
||||
if (user != null)
|
||||
DeleteUser(connection, user.Login);
|
||||
get { return Environment.GetEnvironmentVariable("OCTOKIT_GHE_CONSOLEPASSWORD"); }
|
||||
}
|
||||
|
||||
public static void DeleteUser(IConnection connection, string username)
|
||||
@@ -162,6 +161,19 @@ namespace Octokit.Tests.Integration
|
||||
}
|
||||
}
|
||||
|
||||
public static void SetMaintenanceMode(IConnection connection, bool enabled)
|
||||
{
|
||||
try
|
||||
{
|
||||
var client = new GitHubClient(connection);
|
||||
client.Enterprise.ManagementConsole.EditMaintenanceMode(
|
||||
new UpdateMaintenanceRequest(new UpdateMaintenanceRequestDetails(enabled)),
|
||||
EnterpriseHelper.ManagementConsolePassword)
|
||||
.Wait(TimeSpan.FromSeconds(15));
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
public static IGitHubClient GetAuthenticatedClient()
|
||||
{
|
||||
return new GitHubClient(new ProductHeaderValue("OctokitEnterpriseTests"), GitHubEnterpriseUrl)
|
||||
|
||||
Reference in New Issue
Block a user