* AB40660 - untangle the preview cookie from the auth cookie * Clean up * Allow anonymous to end preview sessions * Some refinements * update OpenApi.json * Fix enter preview test * correct tests to match new expectations of the preview cookie * sync preview tests with correct expectations of access level --------- Co-authored-by: Sven Geusens <sge@umbraco.dk> Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
using System.Linq.Expressions;
|
|
using System.Net;
|
|
using NUnit.Framework;
|
|
using Umbraco.Cms.Api.Management.Controllers.Preview;
|
|
using Umbraco.Cms.Core;
|
|
|
|
namespace Umbraco.Cms.Tests.Integration.ManagementApi.Preview;
|
|
|
|
public class EnterPreviewTests : ManagementApiTest<EnterPreviewController>
|
|
{
|
|
protected override Expression<Func<EnterPreviewController, object>> MethodSelector =>
|
|
x => x.Enter(CancellationToken.None);
|
|
|
|
|
|
[Test]
|
|
public virtual async Task As_Editor_I_Can_Enter_Preview_Mode()
|
|
{
|
|
await AuthenticateClientAsync(Client, "admin@umbraco.com", "1234567890", false);
|
|
|
|
var response = await Client.PostAsync(Url, null);
|
|
|
|
// Check if the set cookie header is sent
|
|
var doesHeaderExist = response.Headers.TryGetValues("Set-Cookie", out var setCookieValues) &&
|
|
setCookieValues.Any(value => value.Contains($"{Constants.Web.PreviewCookieName}=") && value.Contains("path=/") && value.Contains("httponly"));
|
|
|
|
Assert.IsTrue(doesHeaderExist);
|
|
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, await response.Content.ReadAsStringAsync());
|
|
}
|
|
}
|