-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathRootConfigValidatorTests.cs
More file actions
92 lines (74 loc) · 2.26 KB
/
RootConfigValidatorTests.cs
File metadata and controls
92 lines (74 loc) · 2.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using BuslyCLI.Config;
using BuslyCLI.Config.Validators;
using FluentValidation.TestHelper;
using TransportConfig = BuslyCLI.Config.TransportConfig;
namespace BuslyCLI.Console.Tests.Config.Validators;
[TestFixture]
public class RootConfigValidatorTests
{
private readonly RootConfigValidator _validator;
public RootConfigValidatorTests()
{
_validator = new RootConfigValidator();
}
[Test]
public void ShouldNotErrorWhenCurrentTransportIsDefined()
{
// Arrange
var config = new NServiceBusConfig
{
CurrentTransport = "local-learning",
};
// Act
var result = _validator.TestValidate(config);
// Assert
result.ShouldNotHaveValidationErrorFor(x => x.CurrentTransport);
}
[Test]
public void ShouldErrorWhenCurrentTransportIsNotDefined()
{
// Arrange
var config = new NServiceBusConfig
{
CurrentTransport = "",
};
// Act
var result = _validator.TestValidate(config);
// Assert
result.ShouldHaveValidationErrorFor(c => c.CurrentTransport)
.WithErrorMessage("'Current Transport' must not be empty.");
}
[Test]
public void ShouldErrorWhenCurrentTransportDoesntMatchAnyConfiguredTransports()
{
// Arrange
var config = new NServiceBusConfig
{
CurrentTransport = "d",
Transports = new List<TransportConfig>()
{
new TransportConfig { Name = "a" },
new TransportConfig { Name = "b" }
}
};
// Act
var result = _validator.TestValidate(config);
// Assert
result.ShouldHaveValidationErrorFor(c => c.CurrentTransport)
.WithErrorMessage("current-transport must match one of the defined transports.");
}
[Test]
public void ShouldErrorWhenTransportsArrayIsEmpty()
{
// Arrange
var config = new NServiceBusConfig
{
CurrentTransport = "d",
};
// Act
var result = _validator.TestValidate(config);
// Assert
result.ShouldHaveValidationErrorFor(c => c.Transports)
.WithErrorMessage("'Transports' must not be empty.");
}
}