Skip to content

Commit

Permalink
Added integration test for the install endpoints (#15483)
Browse files Browse the repository at this point in the history
  • Loading branch information
andr317c authored Dec 20, 2023
1 parent cf07daf commit 70efd59
Show file tree
Hide file tree
Showing 3 changed files with 151 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
using System.Linq.Expressions;
using System.Net;
using Umbraco.Cms.Api.Management.Controllers.Install;

namespace Umbraco.Cms.Tests.Integration.ManagementApi.Install;

public class SettingsInstallControllerTests : ManagementApiUserGroupTestBase<SettingsInstallController>
{
protected override Expression<Func<SettingsInstallController, object>> MethodSelector =>
x => x.Settings();

protected override UserGroupAssertionModel AdminUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel EditorUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel SensitiveDataUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel TranslatorUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel WriterUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel UnauthorizedUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
using System.Linq.Expressions;
using System.Net;
using System.Net.Http.Json;
using Umbraco.Cms.Api.Management.Controllers.Install;
using Umbraco.Cms.Api.Management.ViewModels.Installer;
using Umbraco.Cms.Core.Models;

namespace Umbraco.Cms.Tests.Integration.ManagementApi.Install;

public class SetupInstallControllerTests : ManagementApiUserGroupTestBase<SetupInstallController>
{
protected override Expression<Func<SetupInstallController, object>> MethodSelector =>
x => x.Setup(null);

protected override UserGroupAssertionModel AdminUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel EditorUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel SensitiveDataUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel TranslatorUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel WriterUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel UnauthorizedUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override async Task<HttpResponseMessage> ClientRequest()
{
InstallVResponseModel installResponseModel = new()
{
User = new UserInstallResponseModel
{
Name = "Tester", Email = "[email protected]", Password = "123457890"
},
Database = new DatabaseInstallResponseModel { Id = Guid.NewGuid(), ProviderName = "TestProviderName" },
TelemetryLevel = TelemetryLevel.Basic
};
return await Client.PostAsync(Url, JsonContent.Create(installResponseModel));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
using System.Linq.Expressions;
using System.Net;
using System.Net.Http.Json;
using Umbraco.Cms.Api.Management.Controllers.Install;
using Umbraco.Cms.Api.Management.ViewModels.Installer;

namespace Umbraco.Cms.Tests.Integration.ManagementApi.Install;

public class ValidateDatabaseInstallControllerTests : ManagementApiUserGroupTestBase<ValidateDatabaseInstallController>
{
protected override Expression<Func<ValidateDatabaseInstallController, object>> MethodSelector =>
x => x.ValidateDatabase(null);

protected override UserGroupAssertionModel AdminUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel EditorUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel SensitiveDataUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel TranslatorUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel WriterUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override UserGroupAssertionModel UnauthorizedUserGroupAssertionModel => new()
{
ExpectedStatusCode = HttpStatusCode.PreconditionRequired
};

protected override async Task<HttpResponseMessage> ClientRequest()
{
DatabaseInstallResponseModel databaseInstallResponseModel = new()
{
Id = Guid.NewGuid(), ProviderName = "TestProviderName",
};
return await Client.PostAsync(Url, JsonContent.Create(databaseInstallResponseModel));
}
}

0 comments on commit 70efd59

Please sign in to comment.