Skip to content

Commit d36ac4c

Browse files
committed
Cleaning up integration tests
1 parent ce1d314 commit d36ac4c

28 files changed

Lines changed: 573 additions & 907 deletions

src/BuslyCLI.Console/Config/Validators/RabbitMQTransportConfigValidator.cs renamed to src/BuslyCLI.Console/Config/Validators/RabbitMqTransportConfigValidator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
namespace BuslyCLI.Config.Validators;
44

5-
public class RabbitMQTransportConfigValidator : AbstractValidator<RabbitmqTransportConfig>
5+
public class RabbitMqTransportConfigValidator : AbstractValidator<RabbitmqTransportConfig>
66
{
7-
public RabbitMQTransportConfigValidator()
7+
public RabbitMqTransportConfigValidator()
88
{
99
RuleFor(x => x.AmqpConnectionString)
1010
.NotEmpty();

src/BuslyCLI.Console/Config/Validators/TransportConfigValidator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public TransportConfigValidator()
1414
.SetInheritanceValidator(v =>
1515
{
1616
v.Add(new LearningTransportConfigValidator());
17-
v.Add(new RabbitMQTransportConfigValidator());
17+
v.Add(new RabbitMqTransportConfigValidator());
1818
v.Add(new AzureServiceBusTransportConfigValidator());
1919
v.Add(new AzureStorageQueuesTransportConfigValidator());
2020
v.Add(new AmazonsqsTransportConfigValidator());

tests/BuslyCLI.Console.Tests/BuslyCLI.Console.Tests.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1515
</PackageReference>
1616
<PackageReference Include="FluentValidation" Version="12.1.1" />
17+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="10.0.5" />
18+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.5" />
1719
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.4.0" />
1820
<PackageReference Include="Moq" Version="4.20.72" />
1921
<PackageReference Include="NServiceBus.AmazonSQS" Version="9.0.0" />
@@ -47,13 +49,11 @@
4749
</ItemGroup>
4850

4951
<ItemGroup>
50-
<None Update="EndToEnd\AzureServiceBus\azure-emulator-config.json">
51-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
52-
</None>
52+
<Folder Include="Commands\Event\" />
5353
</ItemGroup>
5454

5555
<ItemGroup>
56-
<Folder Include="Commands\Event\" />
56+
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
5757
</ItemGroup>
5858

5959
</Project>
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
using BuslyCLI.Config;
2+
using BuslyCLI.Config.Validators;
3+
using FluentValidation.TestHelper;
4+
5+
namespace BuslyCLI.Console.Tests.Config.Validators;
6+
7+
[TestFixture]
8+
public class AzureStorageQueuesTransportConfigValidatorTests
9+
{
10+
private readonly AzureStorageQueuesTransportConfigValidator _validator;
11+
12+
public AzureStorageQueuesTransportConfigValidatorTests()
13+
{
14+
_validator = new AzureStorageQueuesTransportConfigValidator();
15+
}
16+
17+
[Test]
18+
public async Task ShouldErrorWhenConnectionStringIsNotPassed()
19+
{
20+
// Arrange
21+
var azureStorageQueuesTransportConfig = new AzureStorageQueuesTransportConfig
22+
{
23+
ConnectionString = null
24+
};
25+
// Act
26+
var result = await _validator.TestValidateAsync(azureStorageQueuesTransportConfig);
27+
28+
// Assert
29+
result.ShouldHaveValidationErrorFor(c => c.ConnectionString)
30+
.WithErrorMessage("'Connection String' must not be empty.");
31+
}
32+
33+
[Test]
34+
public async Task ShouldNotErrorWhenConnectionStringIsPassed()
35+
{
36+
// Arrange
37+
var azureStorageQueuesTransportConfig = new AzureStorageQueuesTransportConfig
38+
{
39+
ConnectionString = "DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1"
40+
};
41+
// Act
42+
var result = await _validator.TestValidateAsync(azureStorageQueuesTransportConfig);
43+
44+
// Assert
45+
result.ShouldNotHaveValidationErrorFor(c => c.ConnectionString);
46+
}
47+
}

tests/BuslyCLI.Console.Tests/Config/Validators/ManagementApiConfigValidatorTests.cs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,6 @@ public ManagementApiConfigValidatorTests()
1515
_validator = new ManagementApiConfigValidator();
1616
}
1717

18-
// [Test]
19-
// public async Task ShouldErrorWhenAmqpConnectionStringIsNotPassed()
20-
// {
21-
// // Arrange
22-
// var rabbitmqTransportConfig = new ManagementApi()
23-
// {
24-
// AmqpConnectionString = null
25-
// };
26-
// // Act
27-
// var result = await _validator.TestValidateAsync(rabbitmqTransportConfig);
28-
//
29-
// // Assert
30-
// result.ShouldHaveValidationErrorFor(c => c.AmqpConnectionString)
31-
// .WithErrorMessage("'Amqp Connection String' must not be empty.");
32-
// }
33-
3418
[Test]
3519
public async Task ShouldNotErrorWhenOnlyAUrlStringIsPassed()
3620
{

tests/BuslyCLI.Console.Tests/Config/Validators/PostgreSqlTransportConfigValidatorTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public async Task ShouldNotErrorConnectionStringIsPassed()
3636
// Arrange
3737
var postgreSqlTransportConfig = new PostgreSqlTransportConfig
3838
{
39-
ConnectionString = "Data Source=(local);Initial Catalog=Ordering;Integrated Security=SSPI;Application Name=Busly-CLI;TrustServerCertificate=true"
39+
ConnectionString = "Host=localhost;Database=ordering;Username=postgres;Password=password"
4040
};
4141
// Act
4242
var result = await _validator.TestValidateAsync(postgreSqlTransportConfig);

tests/BuslyCLI.Console.Tests/Config/Validators/RabbitMQTransportConfigValidatorTests.cs renamed to tests/BuslyCLI.Console.Tests/Config/Validators/RabbitMqTransportConfigValidatorTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
namespace BuslyCLI.Console.Tests.Config.Validators;
66

77
[TestFixture]
8-
public class RabbitMQTransportConfigValidatorTests
8+
public class RabbitMqTransportConfigValidatorTests
99
{
10-
private readonly RabbitMQTransportConfigValidator _validator;
10+
private readonly RabbitMqTransportConfigValidator _validator;
1111

12-
public RabbitMQTransportConfigValidatorTests()
12+
public RabbitMqTransportConfigValidatorTests()
1313
{
14-
_validator = new RabbitMQTransportConfigValidator();
14+
_validator = new RabbitMqTransportConfigValidator();
1515
}
1616

1717
[Test]

tests/BuslyCLI.Console.Tests/Config/Validators/RootConfigValidatorTests.cs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public RootConfigValidatorTests()
1616
}
1717

1818
[Test]
19-
public void ShouldNotErrorWhenCurrentTransportIsDefined()
19+
public async Task ShouldNotErrorWhenCurrentTransportIsDefined()
2020
{
2121
// Arrange
2222
var config = new NServiceBusConfig
@@ -25,15 +25,14 @@ public void ShouldNotErrorWhenCurrentTransportIsDefined()
2525
};
2626

2727
// Act
28-
var result = _validator.TestValidate(config);
28+
var result = await _validator.TestValidateAsync(config);
2929

3030
// Assert
3131
result.ShouldNotHaveValidationErrorFor(x => x.CurrentTransport);
3232
}
3333

34-
3534
[Test]
36-
public void ShouldErrorWhenCurrentTransportIsNotDefined()
35+
public async Task ShouldErrorWhenCurrentTransportIsNotDefined()
3736
{
3837
// Arrange
3938
var config = new NServiceBusConfig
@@ -42,15 +41,15 @@ public void ShouldErrorWhenCurrentTransportIsNotDefined()
4241
};
4342

4443
// Act
45-
var result = _validator.TestValidate(config);
44+
var result = await _validator.TestValidateAsync(config);
4645

4746
// Assert
4847
result.ShouldHaveValidationErrorFor(c => c.CurrentTransport)
4948
.WithErrorMessage("'Current Transport' must not be empty.");
5049
}
5150

5251
[Test]
53-
public void ShouldErrorWhenCurrentTransportDoesntMatchAnyConfiguredTransports()
52+
public async Task ShouldErrorWhenCurrentTransportDoesntMatchAnyConfiguredTransports()
5453
{
5554
// Arrange
5655
var config = new NServiceBusConfig
@@ -64,16 +63,15 @@ public void ShouldErrorWhenCurrentTransportDoesntMatchAnyConfiguredTransports()
6463
};
6564

6665
// Act
67-
var result = _validator.TestValidate(config);
66+
var result = await _validator.TestValidateAsync(config);
6867

6968
// Assert
7069
result.ShouldHaveValidationErrorFor(c => c.CurrentTransport)
7170
.WithErrorMessage("current-transport must match one of the defined transports.");
7271
}
7372

74-
7573
[Test]
76-
public void ShouldErrorWhenTransportsArrayIsEmpty()
74+
public async Task ShouldErrorWhenTransportsArrayIsEmpty()
7775
{
7876
// Arrange
7977
var config = new NServiceBusConfig
@@ -82,7 +80,7 @@ public void ShouldErrorWhenTransportsArrayIsEmpty()
8280
};
8381

8482
// Act
85-
var result = _validator.TestValidate(config);
83+
var result = await _validator.TestValidateAsync(config);
8684

8785
// Assert
8886
result.ShouldHaveValidationErrorFor(c => c.Transports)

tests/BuslyCLI.Console.Tests/Config/Validators/TransportConfigValidatorTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public TransportConfigValidatorTests()
1818
[Test]
1919
public async Task ShouldNotErrorWhenCurrentNameIsDefined()
2020
{
21+
// Arrange
2122
var config = new TransportConfig()
2223
{
2324
Name = "local-learning"

tests/BuslyCLI.Console.Tests/EndToEnd/AmazonSQS/AmazonSqsEndToEndTestBase.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
1-
using Testcontainers.LocalStack;
1+
using BuslyCLI.Config;
2+
using Testcontainers.LocalStack;
3+
using TransportConfig = BuslyCLI.Config.TransportConfig;
24

35
namespace BuslyCLI.Console.Tests.EndToEnd.AmazonSQS;
46

5-
[TestFixture]
67
public abstract class AmazonSqsEndToEndTestBase : SingletonTestFixtureBase<LocalStackContainer>
78
{
8-
protected LocalStackContainer LocalStackContainer => Container;
9+
protected override TransportConfig CreateTransportConfig() => new()
10+
{
11+
AmazonsqsTransportConfig = new AmazonsqsTransportConfig
12+
{
13+
ServiceUrl = Container.GetConnectionString(),
14+
RegionName = "us-east-1",
15+
AccessKey = "test",
16+
SecretKey = "test"
17+
}
18+
};
919

1020
protected override LocalStackContainer CreateContainer()
1121
{

0 commit comments

Comments
 (0)