From c4b0bf0cbd10a9ee573784a4dc10b861f1dbb1c9 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 2 Feb 2021 14:01:21 +0100 Subject: [PATCH] Test for anonymous client. --- .../TestSuite.ApiTests/AppCreationTests.cs | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/backend/tools/TestSuite/TestSuite.ApiTests/AppCreationTests.cs b/backend/tools/TestSuite/TestSuite.ApiTests/AppCreationTests.cs index b0e87084d..a7c58c3df 100644 --- a/backend/tools/TestSuite/TestSuite.ApiTests/AppCreationTests.cs +++ b/backend/tools/TestSuite/TestSuite.ApiTests/AppCreationTests.cs @@ -6,6 +6,8 @@ // ========================================================================== using System; +using System.Net; +using System.Net.Http; using System.Threading.Tasks; using Squidex.ClientLibrary.Management; using TestSuite.Fixtures; @@ -60,6 +62,37 @@ namespace TestSuite.ApiTests Assert.Contains(clients.Items, x => x.Id == "default"); } + [Fact] + public async Task Should_create_app_with_anonymous_access() + { + var appName = Guid.NewGuid().ToString(); + + // STEP 1: Create app + var createRequest = new CreateAppDto { Name = appName }; + + var app = await _.Apps.PostAppAsync(createRequest); + + // Should return create app with correct name. + Assert.Equal(appName, app.Name); + + + // STEP 2: Make the client anonymous. + var request = new UpdateClientDto + { + AllowAnonymous = true, Role = "Owner" + }; + + await _.Apps.PutClientAsync(appName, "default", request); + + + // STEP 3: Check anonymous permission + var url = $"{_.ClientManager.Options.Url}/api/apps/{appName}/contributors"; + + var response = await new HttpClient().GetAsync(url); + + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + } + [Fact] public async Task Should_remove_app() {