Skip to content

Commit bfe6c8c

Browse files
authored
Merge pull request #738 from hjgraca/feat(e2e)-idempotency-e2e-tests
chore: idempotency e2e tests
2 parents 4e154a9 + 2c1f193 commit bfe6c8c

31 files changed

+883
-92
lines changed

.github/workflows/e2e-tests.yml

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# PROCESS
22
#
3-
# 1. Deploy the core and AOT stacks using the infra deployment workflow.
3+
# 1. Deploy the E2E stacks using the infra deployment workflow for non-aot and aot.
44
# 2. Run the E2E tests after the infrastructure is deployed.
55
# 3. Destroy the CDK stacks after the tests are completed.
66

@@ -50,10 +50,10 @@ jobs:
5050
- name: Install AWS Lambda .NET CLI Tools
5151
run: dotnet tool install -g Amazon.Lambda.Tools
5252

53-
- name: Deploy Core Stack
53+
- name: Deploy Stack
5454
run: |
5555
cd libraries/tests/e2e/infra
56-
cdk deploy --require-approval never
56+
cdk deploy --all --require-approval never
5757
5858
deploy-aot-stack:
5959
strategy:
@@ -90,11 +90,15 @@ jobs:
9090
- name: Deploy AOT Stack
9191
run: |
9292
cd libraries/tests/e2e/infra-aot
93-
cdk deploy -c architecture=${{ matrix.arch }} --require-approval never
93+
cdk deploy --all -c architecture=${{ matrix.arch }} --require-approval never
9494
9595
run-tests:
96+
strategy:
97+
matrix:
98+
utility: [core, idempotency]
9699
runs-on: ubuntu-latest
97100
needs: [deploy-stack,deploy-aot-stack]
101+
98102
steps:
99103
- name: Checkout code
100104
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
@@ -111,14 +115,14 @@ jobs:
111115
with:
112116
dotnet-version: '8.x'
113117

114-
- name: Run Core Tests
118+
- name: Run Tests
115119
run: |
116-
cd libraries/tests/e2e/functions/core
120+
cd libraries/tests/e2e/functions/${{ matrix.utility }}
117121
dotnet test --filter Category!=AOT
118122
119-
- name: Run Core AOT Tests
123+
- name: Run AOT Tests
120124
run: |
121-
cd libraries/tests/e2e/functions/core
125+
cd libraries/tests/e2e/functions/${{ matrix.utility }}
122126
dotnet test --filter Category=AOT
123127
124128
destroy-stack:
@@ -142,10 +146,10 @@ jobs:
142146
- name: Install AWS Lambda .NET CLI Tools
143147
run: dotnet tool install -g Amazon.Lambda.Tools
144148

145-
- name: Destroy Core Stack
149+
- name: Destroy Stack
146150
run: |
147151
cd libraries/tests/e2e/infra
148-
cdk destroy --force
152+
cdk destroy --all --force
149153
150154
destroy-aot-stack:
151155
strategy:
@@ -176,8 +180,8 @@ jobs:
176180
- name: Install AWS Lambda .NET CLI Tools
177181
run: dotnet tool install -g Amazon.Lambda.Tools
178182

179-
- name: Destroy arm64 AOT Core Stack
183+
- name: Destroy arm64 AOT Stack
180184
run: |
181185
cd libraries/tests/e2e/infra-aot
182-
cdk destroy -c architecture=${{ matrix.arch }} --force
186+
cdk destroy --all -c architecture=${{ matrix.arch }} --force
183187

libraries/AWS.Lambda.Powertools.sln

Lines changed: 66 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ EndProject
4747
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Infra", "Infra", "{93DEAC72-245F-4FC9-A7B5-DAE7EF7E1AB7}"
4848
EndProject
4949
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Functions", "Functions", "{CDAE55EB-9438-4F54-B7ED-931D64324D5F}"
50+
ProjectSection(SolutionItems) = preProject
51+
tests\e2e\functions\payload.json = tests\e2e\functions\payload.json
52+
EndProjectSection
5053
EndProject
5154
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infra", "tests\e2e\infra\Infra.csproj", "{AA532674-A61C-41E6-8F9A-ED53D79AF1EC}"
5255
EndProject
5356
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{AAFA39E9-66A3-4B9A-AFE9-EAF74A85A7F0}"
54-
ProjectSection(SolutionItems) = preProject
55-
tests\e2e\functions\core\payload.json = tests\e2e\functions\core\payload.json
56-
EndProjectSection
5757
EndProject
5858
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestUtils", "tests\e2e\functions\TestUtils\TestUtils.csproj", "{3C6162D7-0162-4BC2-BBF5-0554539A81CD}"
5959
EndProject
@@ -83,6 +83,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOT-Function", "tests\e2e\f
8383
EndProject
8484
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InfraAot", "tests\e2e\infra-aot\InfraAot.csproj", "{24AC34AD-AEC9-4CFB-BB01-C3C81938AB95}"
8585
EndProject
86+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InfraShared", "tests\e2e\InfraShared\InfraShared.csproj", "{D303B458-9D84-4DDF-8781-2C0211672329}"
87+
EndProject
88+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Idempotency", "Idempotency", "{FB2C7DA3-6FCE-429D-86F9-5775D0231EC6}"
89+
EndProject
90+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Function", "tests\e2e\functions\idempotency\Function\src\Function\Function.csproj", "{9AF99F6D-E8E7-443F-A965-D55B8E388836}"
91+
EndProject
92+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Function.Tests", "tests\e2e\functions\idempotency\Function\test\Function.Tests\Function.Tests.csproj", "{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}"
93+
EndProject
94+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOT-Function", "tests\e2e\functions\idempotency\AOT-Function\src\AOT-Function\AOT-Function.csproj", "{56DFC68A-3994-43CD-A17C-323495F1709C}"
95+
EndProject
8696
Global
8797
GlobalSection(SolutionConfigurationPlatforms) = preSolution
8898
Debug|Any CPU = Debug|Any CPU
@@ -432,6 +442,54 @@ Global
432442
{24AC34AD-AEC9-4CFB-BB01-C3C81938AB95}.Release|x64.Build.0 = Release|Any CPU
433443
{24AC34AD-AEC9-4CFB-BB01-C3C81938AB95}.Release|x86.ActiveCfg = Release|Any CPU
434444
{24AC34AD-AEC9-4CFB-BB01-C3C81938AB95}.Release|x86.Build.0 = Release|Any CPU
445+
{D303B458-9D84-4DDF-8781-2C0211672329}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
446+
{D303B458-9D84-4DDF-8781-2C0211672329}.Debug|Any CPU.Build.0 = Debug|Any CPU
447+
{D303B458-9D84-4DDF-8781-2C0211672329}.Debug|x64.ActiveCfg = Debug|Any CPU
448+
{D303B458-9D84-4DDF-8781-2C0211672329}.Debug|x64.Build.0 = Debug|Any CPU
449+
{D303B458-9D84-4DDF-8781-2C0211672329}.Debug|x86.ActiveCfg = Debug|Any CPU
450+
{D303B458-9D84-4DDF-8781-2C0211672329}.Debug|x86.Build.0 = Debug|Any CPU
451+
{D303B458-9D84-4DDF-8781-2C0211672329}.Release|Any CPU.ActiveCfg = Release|Any CPU
452+
{D303B458-9D84-4DDF-8781-2C0211672329}.Release|Any CPU.Build.0 = Release|Any CPU
453+
{D303B458-9D84-4DDF-8781-2C0211672329}.Release|x64.ActiveCfg = Release|Any CPU
454+
{D303B458-9D84-4DDF-8781-2C0211672329}.Release|x64.Build.0 = Release|Any CPU
455+
{D303B458-9D84-4DDF-8781-2C0211672329}.Release|x86.ActiveCfg = Release|Any CPU
456+
{D303B458-9D84-4DDF-8781-2C0211672329}.Release|x86.Build.0 = Release|Any CPU
457+
{9AF99F6D-E8E7-443F-A965-D55B8E388836}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
458+
{9AF99F6D-E8E7-443F-A965-D55B8E388836}.Debug|Any CPU.Build.0 = Debug|Any CPU
459+
{9AF99F6D-E8E7-443F-A965-D55B8E388836}.Debug|x64.ActiveCfg = Debug|Any CPU
460+
{9AF99F6D-E8E7-443F-A965-D55B8E388836}.Debug|x64.Build.0 = Debug|Any CPU
461+
{9AF99F6D-E8E7-443F-A965-D55B8E388836}.Debug|x86.ActiveCfg = Debug|Any CPU
462+
{9AF99F6D-E8E7-443F-A965-D55B8E388836}.Debug|x86.Build.0 = Debug|Any CPU
463+
{9AF99F6D-E8E7-443F-A965-D55B8E388836}.Release|Any CPU.ActiveCfg = Release|Any CPU
464+
{9AF99F6D-E8E7-443F-A965-D55B8E388836}.Release|Any CPU.Build.0 = Release|Any CPU
465+
{9AF99F6D-E8E7-443F-A965-D55B8E388836}.Release|x64.ActiveCfg = Release|Any CPU
466+
{9AF99F6D-E8E7-443F-A965-D55B8E388836}.Release|x64.Build.0 = Release|Any CPU
467+
{9AF99F6D-E8E7-443F-A965-D55B8E388836}.Release|x86.ActiveCfg = Release|Any CPU
468+
{9AF99F6D-E8E7-443F-A965-D55B8E388836}.Release|x86.Build.0 = Release|Any CPU
469+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
470+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
471+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}.Debug|x64.ActiveCfg = Debug|Any CPU
472+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}.Debug|x64.Build.0 = Debug|Any CPU
473+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}.Debug|x86.ActiveCfg = Debug|Any CPU
474+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}.Debug|x86.Build.0 = Debug|Any CPU
475+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
476+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}.Release|Any CPU.Build.0 = Release|Any CPU
477+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}.Release|x64.ActiveCfg = Release|Any CPU
478+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}.Release|x64.Build.0 = Release|Any CPU
479+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}.Release|x86.ActiveCfg = Release|Any CPU
480+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC}.Release|x86.Build.0 = Release|Any CPU
481+
{56DFC68A-3994-43CD-A17C-323495F1709C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
482+
{56DFC68A-3994-43CD-A17C-323495F1709C}.Debug|Any CPU.Build.0 = Debug|Any CPU
483+
{56DFC68A-3994-43CD-A17C-323495F1709C}.Debug|x64.ActiveCfg = Debug|Any CPU
484+
{56DFC68A-3994-43CD-A17C-323495F1709C}.Debug|x64.Build.0 = Debug|Any CPU
485+
{56DFC68A-3994-43CD-A17C-323495F1709C}.Debug|x86.ActiveCfg = Debug|Any CPU
486+
{56DFC68A-3994-43CD-A17C-323495F1709C}.Debug|x86.Build.0 = Debug|Any CPU
487+
{56DFC68A-3994-43CD-A17C-323495F1709C}.Release|Any CPU.ActiveCfg = Release|Any CPU
488+
{56DFC68A-3994-43CD-A17C-323495F1709C}.Release|Any CPU.Build.0 = Release|Any CPU
489+
{56DFC68A-3994-43CD-A17C-323495F1709C}.Release|x64.ActiveCfg = Release|Any CPU
490+
{56DFC68A-3994-43CD-A17C-323495F1709C}.Release|x64.Build.0 = Release|Any CPU
491+
{56DFC68A-3994-43CD-A17C-323495F1709C}.Release|x86.ActiveCfg = Release|Any CPU
492+
{56DFC68A-3994-43CD-A17C-323495F1709C}.Release|x86.Build.0 = Release|Any CPU
435493
EndGlobalSection
436494

437495
GlobalSection(NestedProjects) = preSolution
@@ -470,5 +528,10 @@ Global
470528
{8DDAFE37-ED59-4710-9415-8EBA44CC6437} = {3C9FA701-31FF-4747-B324-E0D252EAFD63}
471529
{8DDED681-AE8D-45EB-A22E-2FFB88620F9B} = {3C9FA701-31FF-4747-B324-E0D252EAFD63}
472530
{24AC34AD-AEC9-4CFB-BB01-C3C81938AB95} = {93DEAC72-245F-4FC9-A7B5-DAE7EF7E1AB7}
531+
{D303B458-9D84-4DDF-8781-2C0211672329} = {93DEAC72-245F-4FC9-A7B5-DAE7EF7E1AB7}
532+
{FB2C7DA3-6FCE-429D-86F9-5775D0231EC6} = {CDAE55EB-9438-4F54-B7ED-931D64324D5F}
533+
{9AF99F6D-E8E7-443F-A965-D55B8E388836} = {FB2C7DA3-6FCE-429D-86F9-5775D0231EC6}
534+
{FBCE2C8A-2F64-4B62-8CF1-D4A14C19A5CC} = {FB2C7DA3-6FCE-429D-86F9-5775D0231EC6}
535+
{56DFC68A-3994-43CD-A17C-323495F1709C} = {FB2C7DA3-6FCE-429D-86F9-5775D0231EC6}
473536
EndGlobalSection
474537
EndGlobal

libraries/tests/e2e/infra/FunctionConstruct.cs renamed to libraries/tests/e2e/InfraShared/FunctionConstruct.cs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,39 @@
1-
using System.Collections.Generic;
21
using Amazon.CDK;
32
using Amazon.CDK.AWS.Lambda;
43
using Constructs;
5-
using TestUtils;
64

7-
namespace Infra;
5+
namespace InfraShared;
86

97
public class FunctionConstruct : Construct
108
{
9+
public Function Function { get; set; }
10+
1111
public FunctionConstruct(Construct scope, string id, FunctionConstructProps props) : base(scope, id)
1212
{
1313
var framework = props.Runtime == Runtime.DOTNET_6 ? "net6.0" : "net8.0";
1414
var distPath = $"{props.DistPath}/deploy_{props.Architecture.Name}_{props.Runtime.Name}.zip";
15-
_ = new Function(this, id, new FunctionProps
15+
var command = props.IsAot
16+
? $"dotnet-lambda package -pl {props.SourcePath} -cmd ../../../ -o {distPath} -f net8.0 -farch {props.Architecture.Name} -cifb public.ecr.aws/sam/build-dotnet8"
17+
: $"dotnet-lambda package -pl {props.SourcePath} -o {distPath} -f {framework} -farch {props.Architecture.Name}";
18+
19+
Console.WriteLine(command);
20+
21+
Function = new Function(this, id, new FunctionProps
1622
{
1723
Runtime = props.Runtime,
1824
Architecture = props.Architecture,
1925
FunctionName = props.Name,
2026
Handler = props.Handler,
2127
Tracing = Tracing.ACTIVE,
2228
Timeout = Duration.Seconds(10),
29+
Environment = props.Environment,
2330
Code = Code.FromCustomCommand(distPath,
2431
[
25-
$"dotnet-lambda package -pl {props.SourcePath} -o {distPath} -f {framework} -farch {props.Architecture.Name}"
32+
command
2633
],
2734
new CustomCommandOptions
2835
{
29-
CommandOptions = new Dictionary<string, object> {{"shell", true }}
36+
CommandOptions = new Dictionary<string, object> { { "shell", true } }
3037
})
3138
});
3239
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using Amazon.CDK;
2+
using Amazon.CDK.AWS.Lambda;
3+
4+
namespace InfraShared;
5+
6+
public class FunctionConstructProps : PowertoolsDefaultStackProps
7+
{
8+
public required Architecture Architecture { get; set; }
9+
public required Runtime Runtime { get; set; }
10+
public required string Name { get; set; }
11+
public required string Handler { get; set; }
12+
public required string SourcePath { get; set; }
13+
public required string DistPath { get; set; }
14+
}
15+
16+
public class PowertoolsDefaultStackProps : StackProps
17+
{
18+
public bool IsAot { get; set; } = false;
19+
public string? ArchitectureString { get; set; }
20+
public Dictionary<string,string>? Environment { get; set; }
21+
}
22+
23+
public class IdempotencyStackProps : PowertoolsDefaultStackProps
24+
{
25+
public required string TableName { get; set; }
26+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
using Amazon.CDK;
2+
using Amazon.CDK.AWS.DynamoDB;
3+
using Amazon.CDK.AWS.Lambda;
4+
using Constructs;
5+
using Attribute = Amazon.CDK.AWS.DynamoDB.Attribute;
6+
7+
namespace InfraShared;
8+
9+
public class IdempotencyStack : Stack
10+
{
11+
public Table Table { get; set; }
12+
13+
public IdempotencyStack(Construct scope, string id, IdempotencyStackProps props) : base(scope, id, props)
14+
{
15+
Table = new Table(this, "Idempotency", new TableProps
16+
{
17+
PartitionKey = new Attribute
18+
{
19+
Name = "id",
20+
Type = AttributeType.STRING
21+
},
22+
TableName = props.TableName,
23+
BillingMode = BillingMode.PAY_PER_REQUEST,
24+
TimeToLiveAttribute = "expiration",
25+
RemovalPolicy = RemovalPolicy.DESTROY
26+
});
27+
28+
var utility = "idempotency";
29+
30+
if (props.IsAot)
31+
{
32+
var baseAotPath = $"../functions/{utility}/AOT-Function/src/AOT-Function";
33+
var distAotPath = $"../functions/{utility}/AOT-Function/dist";
34+
var path = new Path(baseAotPath, distAotPath);
35+
36+
var architecture = props.ArchitectureString == "arm64" ? Architecture.ARM_64 : Architecture.X86_64;
37+
var arch = architecture == Architecture.X86_64 ? "X64" : "ARM";
38+
CreateFunctionConstruct(this, $"{utility}_{arch}_aot_net8", Runtime.DOTNET_8, architecture,
39+
$"E2ETestLambda_{arch}_AOT_NET8_{utility}", path, props);
40+
}
41+
else
42+
{
43+
var basePath = $"../functions/{utility}/Function/src/Function";
44+
var distPath = $"../functions/{utility}/Function/dist";
45+
var path = new Path(basePath, distPath);
46+
47+
CreateFunctionConstruct(this, $"{utility}_X64_net8", Runtime.DOTNET_8, Architecture.X86_64,
48+
$"E2ETestLambda_X64_NET8_{utility}", path, props);
49+
CreateFunctionConstruct(this, $"{utility}_arm_net8", Runtime.DOTNET_8, Architecture.ARM_64,
50+
$"E2ETestLambda_ARM_NET8_{utility}", path, props);
51+
CreateFunctionConstruct(this, $"{utility}_X64_net6", Runtime.DOTNET_6, Architecture.X86_64,
52+
$"E2ETestLambda_X64_NET6_{utility}", path, props);
53+
CreateFunctionConstruct(this, $"{utility}_arm_net6", Runtime.DOTNET_6, Architecture.ARM_64,
54+
$"E2ETestLambda_ARM_NET6_{utility}", path, props);
55+
}
56+
}
57+
58+
private void CreateFunctionConstruct(Construct scope, string id, Runtime runtime, Architecture architecture,
59+
string name,Path path, PowertoolsDefaultStackProps props)
60+
{
61+
var lambdaFunction = new FunctionConstruct(scope, id, new FunctionConstructProps
62+
{
63+
Runtime = runtime,
64+
Architecture = architecture,
65+
Name = name,
66+
Handler = props.IsAot ? "AOT-Function" : "Function::Function.Function::FunctionHandler",
67+
SourcePath = path.SourcePath,
68+
DistPath = path.DistPath,
69+
Environment = new Dictionary<string, string>
70+
{
71+
{ "IDEMPOTENCY_TABLE_NAME", Table.TableName }
72+
},
73+
IsAot = props.IsAot
74+
});
75+
76+
// Grant the Lambda function permissions to perform all actions on the DynamoDB table
77+
Table.GrantReadWriteData(lambdaFunction.Function);
78+
}
79+
}
80+
81+
public record Path(string SourcePath, string DistPath);
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net8.0</TargetFramework>
5+
<RootNamespace>InfraShared</RootNamespace>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<!-- CDK Construct Library dependencies -->
12+
<PackageReference Include="Amazon.CDK.Lib" Version="2.174.0" />
13+
<PackageReference Include="Constructs" Version="10.4.2" />
14+
15+
<!-- jsii Roslyn analyzers (un-comment to obtain compile-time checks for missing required props
16+
<PackageReference Include="Amazon.Jsii.Analyzers" Version="*" PrivateAssets="all" />
17+
-->
18+
</ItemGroup>
19+
</Project>

libraries/tests/e2e/functions/TestUtils/FunctionConstructProps.cs

Lines changed: 0 additions & 13 deletions
This file was deleted.

libraries/tests/e2e/functions/core/logging/Function/test/Function.Tests/FunctionTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ internal async Task TestFunction(string functionName)
4545
{
4646
FunctionName = functionName,
4747
InvocationType = InvocationType.RequestResponse,
48-
Payload = await File.ReadAllTextAsync("../../../../../../../payload.json"),
48+
Payload = await File.ReadAllTextAsync("../../../../../../../../payload.json"),
4949
LogType = LogType.Tail
5050
};
5151

libraries/tests/e2e/functions/core/metrics/Function/test/Function.Tests/FunctionTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public FunctionTests(ITestOutputHelper testOutputHelper)
2323
[Trait("Category", "AOT")]
2424
[Theory]
2525
[InlineData("E2ETestLambda_X64_AOT_NET8_metrics")]
26-
// [InlineData("E2ETestLambda_ARM_AOT_NET8_metrics")]
26+
[InlineData("E2ETestLambda_ARM_AOT_NET8_metrics")]
2727
public async Task AotFunctionTest(string functionName)
2828
{
2929
await TestFunction(functionName);
@@ -45,7 +45,7 @@ internal async Task TestFunction(string functionName)
4545
{
4646
FunctionName = functionName,
4747
InvocationType = InvocationType.RequestResponse,
48-
Payload = await File.ReadAllTextAsync("../../../../../../../payload.json"),
48+
Payload = await File.ReadAllTextAsync("../../../../../../../../payload.json"),
4949
LogType = LogType.Tail
5050
};
5151

0 commit comments

Comments
 (0)