From fdd2914c9f33ac01b702cce684425ba343f266c0 Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Sat, 16 Mar 2024 13:16:05 +0100 Subject: [PATCH] Fix separate worker. (#1078) * Fix separate worker. * Fix names * Fix reference * Another attempt. * Temporarily disable worker. * Remove worker. --- .../Config/Messaging/MessagingServices.cs | 14 ++-- .../GraphQLSubscriptionTests.cs | 6 ++ tools/TestSuite/docker-compose-base.yml | 23 ++++++ tools/TestSuite/docker-compose.yml | 73 ++++--------------- 4 files changed, 49 insertions(+), 67 deletions(-) create mode 100644 tools/TestSuite/docker-compose-base.yml diff --git a/backend/src/Squidex/Config/Messaging/MessagingServices.cs b/backend/src/Squidex/Config/Messaging/MessagingServices.cs index 035c518d2..34ad8e5ac 100644 --- a/backend/src/Squidex/Config/Messaging/MessagingServices.cs +++ b/backend/src/Squidex/Config/Messaging/MessagingServices.cs @@ -59,16 +59,16 @@ public static class MessagingServices services.AddSingletonAs() .AsSelf().As(); + } - services.AddSingletonAs() - .As(); + services.AddSingletonAs() + .As(); - services.AddSingletonAs() - .As(); + services.AddSingletonAs() + .As(); - services.AddSingletonAs() - .As(); - } + services.AddSingletonAs() + .As(); services.AddSingleton(c => new SystemTextJsonMessagingSerializer(c.GetRequiredService())); diff --git a/tools/TestSuite/TestSuite.ApiTests/GraphQLSubscriptionTests.cs b/tools/TestSuite/TestSuite.ApiTests/GraphQLSubscriptionTests.cs index 22e361f66..3aa5cbcee 100644 --- a/tools/TestSuite/TestSuite.ApiTests/GraphQLSubscriptionTests.cs +++ b/tools/TestSuite/TestSuite.ApiTests/GraphQLSubscriptionTests.cs @@ -72,6 +72,9 @@ public class GraphQLSubscriptionTests : IClassFixture subscriptionStream.Where(x => x.Data.ContentChanges.Id == contentId).Timeout(TimeSpan.FromSeconds(30)) .FirstOrDefaultAsync(); + // Wait a little bit for the subscription to propagate. + await Task.Delay(2000); + // STEP 2: Create Content. await _.Contents.CreateAsync(new TestEntityData(), new ContentCreateOptions { Id = contentId }); @@ -109,6 +112,9 @@ public class GraphQLSubscriptionTests : IClassFixture subscriptionStream.Where(x => x.Data.AssetChanges.Id == assetId).Timeout(TimeSpan.FromSeconds(30)) .FirstOrDefaultAsync(); + // Wait a little bit for the subscription to propagate. + await Task.Delay(2000); + // STEP 2: Create asset. var fileParameter = FileParameter.FromPath("Assets/SampleVideo_1280x720_1mb.mp4"); diff --git a/tools/TestSuite/docker-compose-base.yml b/tools/TestSuite/docker-compose-base.yml new file mode 100644 index 000000000..0787f60e2 --- /dev/null +++ b/tools/TestSuite/docker-compose-base.yml @@ -0,0 +1,23 @@ +version: '3' +services: + # Base configuration + squidex_base: + image: squidex-local + environment: + - ASPNETCORE_URLS=http://+:5000 + - EVENTSTORE__MONGODB__CONFIGURATION=mongodb://mongo + - GRAPHQL__CACHEDURATION=00:00:00 + - IDENTITY__ADMINCLIENTID=root + - IDENTITY__ADMINCLIENTSECRET=xeLd6jFxqbXJrfmNLlO2j1apagGGGSyZJhFnIuHp4I0= + - IDENTITY__ADMINEMAIL=hello@squidex.io + - IDENTITY__ADMINPASSWORD=1q2w3e$$R + - IDENTITY__MULTIPLEDOMAINS=true + - RULES__RULESCACHEDURATION=00:00:00 + - SCRIPTING__TIMEOUTEXECUTION=00:00:10 + - SCRIPTING__TIMEOUTSCRIPT=00:00:10 + - STORE__MONGODB__CONFIGURATION=mongodb://mongo + - TEMPLATES__LOCALURL=http://localhost:5000 + - UI__HIDENEWS=true + - UI__HIDEONBOARDING=true + networks: + - internal \ No newline at end of file diff --git a/tools/TestSuite/docker-compose.yml b/tools/TestSuite/docker-compose.yml index db2ce22fd..390c16012 100644 --- a/tools/TestSuite/docker-compose.yml +++ b/tools/TestSuite/docker-compose.yml @@ -7,94 +7,47 @@ services: networks: - internal + # Base configuration squidex1: - image: squidex-local + extends: + file: docker-compose-base.yml + service: squidex_base environment: - - ASPNETCORE_URLS=http://+:5000 - - ASSETS__RESIZERURL=http://resizer - - EVENTSTORE__MONGODB__CONFIGURATION=mongodb://mongo - EVENTSTORE__MONGODB__DATABASE=squidex1 - - GRAPHQL__CACHEDURATION=00:00:00 - - IDENTITY__ADMINCLIENTID=root - - IDENTITY__ADMINCLIENTSECRET=xeLd6jFxqbXJrfmNLlO2j1apagGGGSyZJhFnIuHp4I0= - - IDENTITY__ADMINEMAIL=hello@squidex.io - - IDENTITY__ADMINPASSWORD=1q2w3e$$R - - IDENTITY__MULTIPLEDOMAINS=true - - RULES__RULESCACHEDURATION=00:00:00 - - SCRIPTING__TIMEOUTEXECUTION=00:00:10 - - SCRIPTING__TIMEOUTSCRIPT=00:00:10 - - STORE__MONGODB__CONFIGURATION=mongodb://mongo - STORE__MONGODB__CONTENTDATABASE=squidex1_content - STORE__MONGODB__DATABASE=squidex1 - - TEMPLATES__LOCALURL=http://localhost:5000 - - UI__HIDENEWS=true - - UI__HIDEONBOARDING=true - URLS__BASEURL=http://localhost:8080 - networks: - - internal depends_on: - mongo + # Hosted on path and separate worker squidex2: - image: squidex-local + extends: + file: docker-compose-base.yml + service: squidex_base environment: - - ASPNETCORE_URLS=http://+:5000 - - ASSETS__RESIZERURL=http://resizer - - EVENTSTORE__MONGODB__CONFIGURATION=mongodb://mongo + - CLUSTERING__WORKER=true - EVENTSTORE__MONGODB__DATABASE=squidex2 - - GRAPHQL__CACHEDURATION=00:00:00 - - IDENTITY__ADMINCLIENTID=root - - IDENTITY__ADMINCLIENTSECRET=xeLd6jFxqbXJrfmNLlO2j1apagGGGSyZJhFnIuHp4I0= - - IDENTITY__ADMINEMAIL=hello@squidex.io - - IDENTITY__ADMINPASSWORD=1q2w3e$$R - - IDENTITY__MULTIPLEDOMAINS=true - - RULES__RULESCACHEDURATION=00:00:00 - - SCRIPTING__TIMEOUTEXECUTION=00:00:10 - - SCRIPTING__TIMEOUTSCRIPT=00:00:10 - - STORE__MONGODB__ASSETSHARDCOUNT=20 - - STORE__MONGODB__CONFIGURATION=mongodb://mongo - STORE__MONGODB__CONTENTDATABASE=squidex2_content - - STORE__MONGODB__CONTENTSHARDCOUNT=20 - STORE__MONGODB__DATABASE=squidex2 - STORE__MONGODB__TEXTHARDCOUNT=20 - - STORE__TYPE=MongoDB - - TEMPLATES__LOCALURL=http://localhost:5000 - - UI__HIDENEWS=true - - UI__HIDEONBOARDING=true - URLS__BASEPATH=squidex/ - URLS__BASEURL=http://localhost:8081/squidex/ - networks: - - internal depends_on: - mongo + # Separate datbases squidex3: - image: squidex-local + extends: + file: docker-compose-base.yml + service: squidex_base environment: - - ASPNETCORE_URLS=http://+:5000 - ASSETS__RESIZERURL=http://resizer - CONTENTS__OPTIMIZEFORSELFHOSTING=true - - EVENTSTORE__MONGODB__CONFIGURATION=mongodb://mongo - EVENTSTORE__MONGODB__DATABASE=squidex3 - - GRAPHQL__CACHEDURATION=00:00:00 - - IDENTITY__ADMINCLIENTID=root - - IDENTITY__ADMINCLIENTSECRET=xeLd6jFxqbXJrfmNLlO2j1apagGGGSyZJhFnIuHp4I0= - - IDENTITY__ADMINEMAIL=hello@squidex.io - - IDENTITY__ADMINPASSWORD=1q2w3e$$R - - IDENTITY__MULTIPLEDOMAINS=true - - RULES__RULESCACHEDURATION=00:00:00 - - SCRIPTING__TIMEOUTEXECUTION=00:00:10 - - SCRIPTING__TIMEOUTSCRIPT=00:00:10 - - STORE__MONGODB__CONFIGURATION=mongodb://mongo - STORE__MONGODB__CONTENTDATABASE=squidex3_content - STORE__MONGODB__DATABASE=squidex3 - - STORE__TYPE=MongoDB - - TEMPLATES__LOCALURL=http://localhost:5000 - - UI__HIDENEWS=true - - UI__HIDEONBOARDING=true - URLS__BASEURL=http://localhost:8082 - networks: - - internal depends_on: - mongo