Skip to content

Commit 02d8926

Browse files
authored
Remove Precomputed Flow from DataEngine (#103)
1 parent 1f95f7b commit 02d8926

23 files changed

Lines changed: 37 additions & 1436 deletions

File tree

source/AAS.TwinEngine.DataEngine.ModuleTests/Api/Services/ConfigurationMigration/ConfigurationBackwardCompatibilityModuleTests.cs

Lines changed: 8 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ public void V1Config_ResolvesPluginsConfig_WithCorrectValues()
8585
Assert.NotNull(plugins.MultiLanguageProperty.DefaultLanguages);
8686
Assert.Contains("de", plugins.MultiLanguageProperty.DefaultLanguages);
8787
Assert.Contains("en", plugins.MultiLanguageProperty.DefaultLanguages);
88-
Assert.Equal(3, plugins.ResiliencePolicies.Retry.MaxRetryAttempts);
89-
Assert.Equal(10, plugins.ResiliencePolicies.Retry.DelayInSeconds);
88+
Assert.Equal(2, plugins.ResiliencePolicies.Retry.MaxRetryAttempts);
89+
Assert.Equal(4, plugins.ResiliencePolicies.Retry.DelayInSeconds);
9090
_ = Assert.Single(plugins.Instances);
9191
Assert.Equal("Plugin1", plugins.Instances[0].Name);
9292
Assert.Equal(new Uri("http://localhost:8086"), plugins.Instances[0].BaseUrl);
@@ -118,8 +118,8 @@ public void V1Config_ResolvesTemplateManagementConfig_WithCorrectValues()
118118
var tmConfig = scope.ServiceProvider.GetRequiredService<IOptions<TemplateManagementConfig>>().Value;
119119

120120
Assert.Equal("InternalSemanticId", tmConfig.Semantics.InternalSemanticId);
121-
Assert.Equal(3, tmConfig.ResiliencePolicies.Retry.MaxRetryAttempts);
122-
Assert.Equal(10, tmConfig.ResiliencePolicies.Retry.DelayInSeconds);
121+
Assert.Equal(2, tmConfig.ResiliencePolicies.Retry.MaxRetryAttempts);
122+
Assert.Equal(4, tmConfig.ResiliencePolicies.Retry.DelayInSeconds);
123123
Assert.Equal(new Uri("http://localhost:8081"), tmConfig.AasTemplateRepository.BaseUrl);
124124
Assert.Equal(new Uri("http://localhost:8082"), tmConfig.AasTemplateRegistry.BaseUrl);
125125
Assert.Equal(new Uri("http://localhost:8083"), tmConfig.SubmodelTemplateRegistry.BaseUrl);
@@ -146,22 +146,6 @@ public void V1Config_ResolvesTemplateRepositoryHeaders_FromHeaderForwardingSecti
146146
Assert.Equal("Authorization", tmConfig.AasTemplateRegistry.HeaderMappings[0].Source);
147147
}
148148

149-
[Fact]
150-
public void V1Config_ResolvesRegistrySettings_WithPropertyRenames()
151-
{
152-
using var appFactory = new ConfigTestFactory("v1-config");
153-
using var scope = appFactory.Services.CreateScope();
154-
155-
var registry = scope.ServiceProvider.GetRequiredService<IOptions<RegistrySettingsConfig>>().Value;
156-
157-
// V1: IsPreComputed → V2: Enabled
158-
Assert.True(registry.PreComputed.Enabled);
159-
// V1: ShellDescriptorCron → V2: Schedule
160-
Assert.Equal("0 */3 * * * *", registry.PreComputed.Schedule);
161-
}
162-
163-
// ────────────────────── V2 (New Config) Tests ──────────────────────
164-
165149
[Fact]
166150
public void V2Config_ResolvesGeneralConfig_WithCorrectValues()
167151
{
@@ -190,8 +174,8 @@ public void V2Config_ResolvesPluginsConfig_WithCorrectValues()
190174
Assert.NotNull(plugins.MultiLanguageProperty.DefaultLanguages);
191175
Assert.Contains("de", plugins.MultiLanguageProperty.DefaultLanguages);
192176
Assert.Contains("en", plugins.MultiLanguageProperty.DefaultLanguages);
193-
Assert.Equal(3, plugins.ResiliencePolicies.Retry.MaxRetryAttempts);
194-
Assert.Equal(10, plugins.ResiliencePolicies.Retry.DelayInSeconds);
177+
Assert.Equal(2, plugins.ResiliencePolicies.Retry.MaxRetryAttempts);
178+
Assert.Equal(4, plugins.ResiliencePolicies.Retry.DelayInSeconds);
195179
Assert.Equal(2.0, plugins.ResiliencePolicies.Retry.BackoffMultiplier);
196180
_ = Assert.Single(plugins.Instances);
197181
Assert.Equal("Plugin1", plugins.Instances[0].Name);
@@ -223,8 +207,8 @@ public void V2Config_ResolvesTemplateManagementConfig_WithCorrectValues()
223207
var tmConfig = scope.ServiceProvider.GetRequiredService<IOptions<TemplateManagementConfig>>().Value;
224208

225209
Assert.Equal("InternalSemanticId", tmConfig.Semantics.InternalSemanticId);
226-
Assert.Equal(3, tmConfig.ResiliencePolicies.Retry.MaxRetryAttempts);
227-
Assert.Equal(10, tmConfig.ResiliencePolicies.Retry.DelayInSeconds);
210+
Assert.Equal(2, tmConfig.ResiliencePolicies.Retry.MaxRetryAttempts);
211+
Assert.Equal(4, tmConfig.ResiliencePolicies.Retry.DelayInSeconds);
228212
Assert.Equal(new Uri("http://localhost:8081"), tmConfig.AasTemplateRepository.BaseUrl);
229213
Assert.Equal(new Uri("http://localhost:8082"), tmConfig.AasTemplateRegistry.BaseUrl);
230214
Assert.Equal(new Uri("http://localhost:8083"), tmConfig.SubmodelTemplateRegistry.BaseUrl);
@@ -246,20 +230,6 @@ public void V2Config_ResolvesEndpointHeaders_InlinePerEndpoint()
246230
_ = Assert.Single(tmConfig.AasTemplateRegistry.HeaderMappings);
247231
}
248232

249-
[Fact]
250-
public void V2Config_ResolvesRegistrySettings_Directly()
251-
{
252-
using var appFactory = new ConfigTestFactory("v2-config");
253-
using var scope = appFactory.Services.CreateScope();
254-
255-
var registry = scope.ServiceProvider.GetRequiredService<IOptions<RegistrySettingsConfig>>().Value;
256-
257-
Assert.True(registry.PreComputed.Enabled);
258-
Assert.Equal("0 */3 * * * *", registry.PreComputed.Schedule);
259-
}
260-
261-
// ────────────────────── Cross-Format Equivalence Tests ──────────────────────
262-
263233
[Theory]
264234
[InlineData("v1-config")]
265235
[InlineData("v2-config")]
@@ -321,20 +291,6 @@ public void BothConfigs_ResolveMultiLanguagePropertyDefaults_ToSameValues(string
321291
Assert.Contains("en", plugins.MultiLanguageProperty.DefaultLanguages);
322292
}
323293

324-
[Theory]
325-
[InlineData("v1-config")]
326-
[InlineData("v2-config")]
327-
public void BothConfigs_ResolveRegistryPreComputed_ToSameValues(string configFile)
328-
{
329-
using var appFactory = new ConfigTestFactory(configFile);
330-
using var scope = appFactory.Services.CreateScope();
331-
332-
var registry = scope.ServiceProvider.GetRequiredService<IOptions<RegistrySettingsConfig>>().Value;
333-
334-
Assert.True(registry.PreComputed.Enabled);
335-
Assert.Equal("0 */3 * * * *", registry.PreComputed.Schedule);
336-
}
337-
338294
[Theory]
339295
[InlineData("v1-config")]
340296
[InlineData("v2-config")]
@@ -362,23 +318,6 @@ public void BothConfigs_ResolveHeaderSanitization_ToSameValues(string configFile
362318
Assert.Equal(256, general.HeaderSanitization.MaxHeaderNameSize);
363319
}
364320

365-
[Theory]
366-
[InlineData("v1-config")]
367-
[InlineData("v2-config")]
368-
public void BothConfigs_ResolveRetryPolicies_ToSameValues(string configFile)
369-
{
370-
using var appFactory = new ConfigTestFactory(configFile);
371-
using var scope = appFactory.Services.CreateScope();
372-
373-
var plugins = scope.ServiceProvider.GetRequiredService<IOptions<PluginsConfig>>().Value;
374-
var tmConfig = scope.ServiceProvider.GetRequiredService<IOptions<TemplateManagementConfig>>().Value;
375-
376-
Assert.Equal(3, plugins.ResiliencePolicies.Retry.MaxRetryAttempts);
377-
Assert.Equal(10, plugins.ResiliencePolicies.Retry.DelayInSeconds);
378-
Assert.Equal(3, tmConfig.ResiliencePolicies.Retry.MaxRetryAttempts);
379-
Assert.Equal(10, tmConfig.ResiliencePolicies.Retry.DelayInSeconds);
380-
}
381-
382321
[Theory]
383322
[InlineData("v1-config")]
384323
[InlineData("v2-config")]

source/AAS.TwinEngine.DataEngine.ModuleTests/TestData/v1-config/appsettings.json

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,6 @@
3535
"AasxExportOptions": {
3636
"RootFolder": "aasx"
3737
},
38-
"AasRegistryPreComputed": {
39-
"ShellDescriptorCron": "0 */3 * * * *",
40-
"IsPreComputed": true
41-
},
4238
"TemplateMappingRules": {
4339
"SubmodelTemplateMappings": [
4440
{
@@ -78,16 +74,16 @@
7874
},
7975
"HttpRetryPolicyOptions": {
8076
"TemplateProvider": {
81-
"MaxRetryAttempts": 3,
82-
"DelayInSeconds": 10
77+
"MaxRetryAttempts": 2,
78+
"DelayInSeconds": 4
8379
},
8480
"PluginDataProvider": {
85-
"MaxRetryAttempts": 3,
86-
"DelayInSeconds": 10
81+
"MaxRetryAttempts": 2,
82+
"DelayInSeconds": 4
8783
},
8884
"SubmodelDescriptorProvider": {
89-
"MaxRetryAttempts": 4,
90-
"DelayInSeconds": 7
85+
"MaxRetryAttempts": 2,
86+
"DelayInSeconds": 4
9187
}
9288
},
9389
"HeaderForwarding": {

source/AAS.TwinEngine.DataEngine.ModuleTests/TestData/v2-config/appsettings.json

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@
5656
},
5757
"ResiliencePolicies": {
5858
"Retry": {
59-
"MaxRetryAttempts": 3,
60-
"DelayInSeconds": 10,
59+
"MaxRetryAttempts": 2,
60+
"DelayInSeconds": 4,
6161
"BackoffMultiplier": 2.0
6262
}
6363
},
@@ -84,8 +84,8 @@
8484
"TemplateManagement": {
8585
"ResiliencePolicies": {
8686
"Retry": {
87-
"MaxRetryAttempts": 3,
88-
"DelayInSeconds": 10,
87+
"MaxRetryAttempts": 2,
88+
"DelayInSeconds": 4,
8989
"BackoffMultiplier": 2.0
9090
}
9191
},
@@ -174,11 +174,5 @@
174174
}
175175
]
176176
}
177-
},
178-
"RegistrySettings": {
179-
"PreComputed": {
180-
"Enabled": true,
181-
"Schedule": "0 */3 * * * *"
182-
}
183177
}
184178
}

0 commit comments

Comments
 (0)