From 43591f83d3b2406b80991cf1acb4df895f77e4e4 Mon Sep 17 00:00:00 2001 From: cmurialdo Date: Wed, 28 Sep 2022 11:52:36 -0300 Subject: [PATCH 1/7] Test httpcontext on submit unit test. --- dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs b/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs index 546dc43d7..91fd4edd4 100644 --- a/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs +++ b/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs @@ -43,6 +43,7 @@ void executePrivate() proc.executeSubmit(); } cleanup(); + Assert.False(GxContext.IsHttpContext); Assert.Equal(THREAD_NUMBER, SubmitTest.numbers.Count); } public override void cleanup() From 3ffd8892cf2947d8cb00ea61e24c21ff7bdc9727 Mon Sep 17 00:00:00 2001 From: cmurialdo Date: Wed, 28 Sep 2022 12:41:30 -0300 Subject: [PATCH 2/7] Set test of submit to run serially exclusively to ensure GxContext.IsHttpContext is false. --- dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs b/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs index 91fd4edd4..6f8fd6bfc 100644 --- a/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs +++ b/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs @@ -7,10 +7,11 @@ using Lucene.Net.Support; using Xunit; using System.Collections.Concurrent; - +using Microsoft.AspNetCore.Http; namespace UnitTesting { + [CollectionDefinition("Submit in non-web context", DisableParallelization = true)] public class SubmitTest { internal static ConcurrentDictionary numbers = new ConcurrentDictionary(); @@ -43,7 +44,7 @@ void executePrivate() proc.executeSubmit(); } cleanup(); - Assert.False(GxContext.IsHttpContext); + Assert.False(GxContext.IsHttpContext, "Running on HttpContext but it is expected to run in command line"); Assert.Equal(THREAD_NUMBER, SubmitTest.numbers.Count); } public override void cleanup() From ad711c00a4569136e7120bbe061f326aada5f89e Mon Sep 17 00:00:00 2001 From: cmurialdo Date: Wed, 28 Sep 2022 13:09:18 -0300 Subject: [PATCH 3/7] Fix for running submit test serialized. --- dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs b/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs index 6f8fd6bfc..a65a11d4c 100644 --- a/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs +++ b/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs @@ -11,7 +11,11 @@ namespace UnitTesting { - [CollectionDefinition("Submit in non-web context", DisableParallelization = true)] + [CollectionDefinition("Non-Parallel Collection", DisableParallelization = true)] + public class NonParallelCollectionDefinitionClass + { + } + [Collection("Non-Parallel Collection")] public class SubmitTest { internal static ConcurrentDictionary numbers = new ConcurrentDictionary(); From d2b4ab4f40392e83c5cb139e986975b5d4b2b503 Mon Sep 17 00:00:00 2001 From: cmurialdo Date: Wed, 28 Sep 2022 13:35:05 -0300 Subject: [PATCH 4/7] Disable parallelization between MiddlewareTests and SubmitTests (requires running on non-web context) --- dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs b/dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs index f95f4010f..895f374c8 100644 --- a/dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs +++ b/dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs @@ -4,9 +4,12 @@ using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.TestHost; +using Xunit; namespace xUnitTesting { + [Collection("Non-Parallel Collection")] + public class MiddlewareTest { protected TestServer server; From 8dd527687d3f7982a003cf626b68d1cf8f28f077 Mon Sep 17 00:00:00 2001 From: cmurialdo Date: Wed, 28 Sep 2022 14:41:20 -0300 Subject: [PATCH 5/7] Force a ThreadUtil.WaitForEnd(); at the end of SubmitTest to avoid Failed test when running in parallel with MiddlewareTest. --- .../test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs | 2 -- dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs | 7 +------ 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs b/dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs index 895f374c8..85c2c19be 100644 --- a/dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs +++ b/dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs @@ -8,8 +8,6 @@ namespace xUnitTesting { - [Collection("Non-Parallel Collection")] - public class MiddlewareTest { protected TestServer server; diff --git a/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs b/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs index a65a11d4c..2ece31837 100644 --- a/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs +++ b/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs @@ -11,11 +11,6 @@ namespace UnitTesting { - [CollectionDefinition("Non-Parallel Collection", DisableParallelization = true)] - public class NonParallelCollectionDefinitionClass - { - } - [Collection("Non-Parallel Collection")] public class SubmitTest { internal static ConcurrentDictionary numbers = new ConcurrentDictionary(); @@ -48,7 +43,7 @@ void executePrivate() proc.executeSubmit(); } cleanup(); - Assert.False(GxContext.IsHttpContext, "Running on HttpContext but it is expected to run in command line"); + ThreadUtil.WaitForEnd();//Force Wait since tests run in web context when running in parallel with Middleware tests Assert.Equal(THREAD_NUMBER, SubmitTest.numbers.Count); } public override void cleanup() From 03e9b46faf37fb0222a3617288374179a404ec6b Mon Sep 17 00:00:00 2001 From: cmurialdo Date: Wed, 28 Sep 2022 14:42:30 -0300 Subject: [PATCH 6/7] Remove and sort usings. --- dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs | 1 - dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs | 5 +---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs b/dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs index 85c2c19be..f95f4010f 100644 --- a/dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs +++ b/dotnet/test/DotNetCoreUnitTest/Middleware/MiddlewareTest.cs @@ -4,7 +4,6 @@ using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.TestHost; -using Xunit; namespace xUnitTesting { diff --git a/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs b/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs index 2ece31837..57879a311 100644 --- a/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs +++ b/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs @@ -1,13 +1,10 @@ using System; -using System.Collections.Generic; +using System.Collections.Concurrent; using System.Threading; using GeneXus.Application; using GeneXus.Procedure; using GeneXus.Utils; -using Lucene.Net.Support; using Xunit; -using System.Collections.Concurrent; -using Microsoft.AspNetCore.Http; namespace UnitTesting { From 52592ef6422b0a3e2077e1f0642ab077a22d9e63 Mon Sep 17 00:00:00 2001 From: cmurialdo Date: Wed, 28 Sep 2022 14:43:15 -0300 Subject: [PATCH 7/7] Minor comment fix. --- dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs b/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs index 57879a311..14a81b3c2 100644 --- a/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs +++ b/dotnet/test/DotNetCoreUnitTest/Submit/SubmitTest.cs @@ -40,7 +40,7 @@ void executePrivate() proc.executeSubmit(); } cleanup(); - ThreadUtil.WaitForEnd();//Force Wait since tests run in web context when running in parallel with Middleware tests + ThreadUtil.WaitForEnd();//Force WaitForEnd since tests run in web context when running in parallel with Middleware tests Assert.Equal(THREAD_NUMBER, SubmitTest.numbers.Count); } public override void cleanup()