Skip to content

Commit 49132b5

Browse files
sebastienrosradicaleerhardt
committed
Extract Aspire.Hosting.MySql.Tests (#4925)
* Extract Aspire.Hosting.MySql.Tests * Improve reliability * Record Docker logs * Fix ResourceLoggerForwarderService link in Aspire.Hosting.PostgreSQL.csproj * Remove E2E tests * Fix manifest test * Fix tests * Increase delay between retries * Create mount path directory * Address PR feedback * Use Directory.Delete * Use Linear backoff --------- Co-authored-by: Ankit Jain <[email protected]> Co-authored-by: Eric Erhardt <[email protected]> (cherry picked from commit 5238a73)
1 parent 259a2bb commit 49132b5

File tree

20 files changed

+466
-167
lines changed

20 files changed

+466
-167
lines changed

Aspire.sln

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aspire.Hosting.PostgreSQL.T
525525
EndProject
526526
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aspire.Hosting.Qdrant.Tests", "tests\Aspire.Hosting.Qdrant.Tests\Aspire.Hosting.Qdrant.Tests.csproj", "{8E2AA85E-C351-47B4-AF91-58557FAD5840}"
527527
EndProject
528+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aspire.Hosting.MySql.Tests", "tests\Aspire.Hosting.MySql.Tests\Aspire.Hosting.MySql.Tests.csproj", "{F3F33CF8-A2BB-4351-8501-A6884C5126FE}"
529+
EndProject
528530
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aspire.Hosting.Kafka.Tests", "tests\Aspire.Hosting.Kafka.Tests\Aspire.Hosting.Kafka.Tests.csproj", "{0A83AA67-221E-44B4-9BA9-DC64DC17949E}"
529531
EndProject
530532
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aspire.Hosting.Python.Tests", "tests\Aspire.Hosting.Python.Tests\Aspire.Hosting.Python.Tests.csproj", "{72F5A6F3-3516-402B-8F8D-50A7BC2E4BD4}"
@@ -1399,6 +1401,10 @@ Global
13991401
{8E2AA85E-C351-47B4-AF91-58557FAD5840}.Debug|Any CPU.Build.0 = Debug|Any CPU
14001402
{8E2AA85E-C351-47B4-AF91-58557FAD5840}.Release|Any CPU.ActiveCfg = Release|Any CPU
14011403
{8E2AA85E-C351-47B4-AF91-58557FAD5840}.Release|Any CPU.Build.0 = Release|Any CPU
1404+
{F3F33CF8-A2BB-4351-8501-A6884C5126FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1405+
{F3F33CF8-A2BB-4351-8501-A6884C5126FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
1406+
{F3F33CF8-A2BB-4351-8501-A6884C5126FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
1407+
{F3F33CF8-A2BB-4351-8501-A6884C5126FE}.Release|Any CPU.Build.0 = Release|Any CPU
14021408
{0A83AA67-221E-44B4-9BA9-DC64DC17949E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
14031409
{0A83AA67-221E-44B4-9BA9-DC64DC17949E}.Debug|Any CPU.Build.0 = Debug|Any CPU
14041410
{0A83AA67-221E-44B4-9BA9-DC64DC17949E}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -1691,6 +1697,7 @@ Global
16911697
{72F5A6F3-3516-402B-8F8D-50A7BC2E4BD4} = {830A89EC-4029-4753-B25A-068BAE37DEC7}
16921698
{7425E5B2-BC47-4521-AC40-B8CECA329E08} = {830A89EC-4029-4753-B25A-068BAE37DEC7}
16931699
{8E2AA85E-C351-47B4-AF91-58557FAD5840} = {830A89EC-4029-4753-B25A-068BAE37DEC7}
1700+
{F3F33CF8-A2BB-4351-8501-A6884C5126FE} = {830A89EC-4029-4753-B25A-068BAE37DEC7}
16941701
{0A83AA67-221E-44B4-9BA9-DC64DC17949E} = {830A89EC-4029-4753-B25A-068BAE37DEC7}
16951702
{1C16DC2D-3B79-4081-AC1E-F3F965C61216} = {830A89EC-4029-4753-B25A-068BAE37DEC7}
16961703
{C87D9F7D-300A-4880-A7E1-835772749912} = {27381127-6C45-4B4C-8F18-41FF48DFE4B2}

src/Aspire.Hosting.MySql/Aspire.Hosting.MySql.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
</ItemGroup>
2323

2424
<ItemGroup>
25-
<InternalsVisibleTo Include="Aspire.Hosting.Tests" />
25+
<!-- Required for PhpMyAdminConfigWriterHook -->
26+
<InternalsVisibleTo Include="Aspire.Hosting.MySql.Tests" />
2627
</ItemGroup>
2728

2829
</Project>

src/Aspire.Hosting.PostgreSQL/Aspire.Hosting.PostgreSQL.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
<ItemGroup>
1616
<Compile Include="$(SharedDir)StringComparers.cs" Link="Utils\StringComparers.cs" />
1717
<Compile Include="$(SharedDir)VolumeNameGenerator.cs" Link="Utils\VolumeNameGenerator.cs" />
18-
<Compile Include="$(RepoRoot)src\Aspire.Hosting.Testing\ResourceLoggerForwarderService.cs" Link="Utils\ResourceLoggerForwarderService.cs" />
1918
</ItemGroup>
2019

2120
<ItemGroup>

tests/Aspire.EndToEnd.Tests/IntegrationServicesFixture.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ public Task DumpComponentLogsAsync(TestResourceNames resource, ITestOutputHelper
107107
TestResourceNames.garnet => "garnet",
108108
TestResourceNames.milvus => "milvus",
109109
TestResourceNames.mongodb => "mongodb",
110-
TestResourceNames.mysql or TestResourceNames.efmysql => "mysql",
111110
TestResourceNames.oracledatabase => "oracledatabase",
112111
TestResourceNames.postgres or TestResourceNames.efnpgsql => "postgres",
113112
TestResourceNames.rabbitmq => "rabbitmq",
@@ -151,8 +150,6 @@ private static TestResourceNames GetResourcesToSkip()
151150
| TestResourceNames.garnet
152151
| TestResourceNames.postgres
153152
| TestResourceNames.efnpgsql
154-
| TestResourceNames.mysql
155-
| TestResourceNames.efmysql
156153
| TestResourceNames.sqlserver
157154
| TestResourceNames.efsqlserver
158155
| TestResourceNames.milvus,

tests/Aspire.EndToEnd.Tests/IntegrationServicesTests.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ public IntegrationServicesTests(ITestOutputHelper testOutput, IntegrationService
2424
[Theory]
2525
[Trait("scenario", "basicservices")]
2626
[InlineData(TestResourceNames.mongodb)]
27-
[InlineData(TestResourceNames.mysql)]
28-
[InlineData(TestResourceNames.efmysql)]
2927
[InlineData(TestResourceNames.postgres)]
3028
[InlineData(TestResourceNames.efnpgsql)]
3129
[InlineData(TestResourceNames.rabbitmq)]

tests/Aspire.Hosting.Elasticsearch.Tests/ElasticsearchFunctionalTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ await pipeline.ExecuteAsync(
261261

262262
try
263263
{
264-
File.Delete(bindMountPath);
264+
Directory.Delete(bindMountPath);
265265
}
266266
catch
267267
{

tests/Aspire.Hosting.Tests/MySql/AddMySqlTests.cs renamed to tests/Aspire.Hosting.MySql.Tests/AddMySqlTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33

44
using System.Net.Sockets;
55
using System.Text.RegularExpressions;
6-
using Aspire.Hosting.MySql;
6+
using Aspire.Hosting.ApplicationModel;
77
using Aspire.Hosting.Tests.Utils;
88
using Aspire.Hosting.Utils;
99
using Microsoft.Extensions.DependencyInjection;
1010
using Xunit;
1111

12-
namespace Aspire.Hosting.Tests.MySql;
12+
namespace Aspire.Hosting.MySql.Tests;
1313

1414
public class AddMySqlTests
1515
{
@@ -20,7 +20,7 @@ public void AddMySqlAddsGeneratedPasswordParameterWithUserSecretsParameterDefaul
2020

2121
var mysql = appBuilder.AddMySql("mysql");
2222

23-
Assert.IsType<UserSecretsParameterDefault>(mysql.Resource.PasswordParameter.Default);
23+
Assert.Equal("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", mysql.Resource.PasswordParameter.Default?.GetType().FullName);
2424
}
2525

2626
[Fact]
@@ -30,7 +30,7 @@ public void AddMySqlDoesNotAddGeneratedPasswordParameterWithUserSecretsParameter
3030

3131
var mysql = appBuilder.AddMySql("mysql");
3232

33-
Assert.IsNotType<UserSecretsParameterDefault>(mysql.Resource.PasswordParameter.Default);
33+
Assert.NotEqual("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", mysql.Resource.PasswordParameter.Default?.GetType().FullName);
3434
}
3535

3636
[Fact]
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>$(NetCurrent)</TargetFramework>
5+
</PropertyGroup>
6+
7+
<ItemGroup>
8+
<ProjectReference Include="..\..\src\Aspire.Hosting.AppHost\Aspire.Hosting.AppHost.csproj" />
9+
<ProjectReference Include="..\Aspire.Hosting.Tests\Aspire.Hosting.Tests.csproj" />
10+
<ProjectReference Include="..\..\src\Aspire.Hosting.MySql\Aspire.Hosting.MySql.csproj" />
11+
<ProjectReference Include="..\..\src\Components\Aspire.MySqlConnector\Aspire.MySqlConnector.csproj" />
12+
<ProjectReference Include="..\..\src\Components\Aspire.Pomelo.EntityFrameworkCore.MySql\Aspire.Pomelo.EntityFrameworkCore.MySql.csproj" />
13+
</ItemGroup>
14+
15+
<ItemGroup>
16+
<Compile Include="$(SharedDir)SecretsStore.cs" Link="Utils\SecretsStore.cs" />
17+
<Compile Include="$(RepoRoot)src\Aspire.Hosting.Testing\ResourceLoggerForwarderService.cs" Link="Utils\ResourceLoggerForwarderService.cs" />
18+
</ItemGroup>
19+
20+
</Project>

0 commit comments

Comments
 (0)