Skip to content

Commit 3fc720c

Browse files
fix: resolve SonarQube code quality issues
- Replace custom ApplicationJsonMediaType with standard MediaTypeNames.Application.Json - Make ConfigurationConstants class static - Add 'out' keyword to generic parameter for covariance in IArtifactAndSnapshotManager - Make ExtractOperationName method static in MicrocksAsyncMinionContainer - Use nameof() in ArgumentNullException parameter in SecretBuilder - Fix _microcksImage field usage in MicrocksBuilder.Init() - Exclude HTTP localhost URLs in test containers from HTTPS warning (S5332) Signed-off-by: SebastienDegodez <sebastien.degodez@gmail.com>
1 parent 839a8d6 commit 3fc720c

File tree

7 files changed

+13
-9
lines changed

7 files changed

+13
-9
lines changed

src/Microcks.Testcontainers/Helpers/ConfigurationConstants.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ namespace Microcks.Testcontainers.Helpers;
2020
/// <summary>
2121
/// Configuration constants for Microcks Testcontainers.
2222
/// </summary>
23-
public class ConfigurationConstants
23+
public static class ConfigurationConstants
2424
{
2525
/// <summary>
2626
/// Environment variable name used to configure Microcks logging level for the Microcks package.

src/Microcks.Testcontainers/IArtifactAndSnapshotManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ namespace Microcks.Testcontainers;
2020
/// <summary>
2121
/// Artifacts management interface for fluent approach.
2222
/// </summary>
23-
public interface IArtifactAndSnapshotManager<T>
23+
public interface IArtifactAndSnapshotManager<out T>
2424
{
2525
/// <summary>
2626
/// Add main/primary artifacts.

src/Microcks.Testcontainers/MicrocksAsyncMinionContainer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public Uri GetWebSocketMockEndpoint(string service, string version, string opera
6868
/// </summary>
6969
/// <param name="operationName">operationName may start with SUBSCRIBE or PUBLISH.</param>
7070
/// <returns>The extracted operation name.</returns>
71-
private string ExtractOperationName(string operationName)
71+
private static string ExtractOperationName(string operationName)
7272
{
7373
if (operationName.Contains(' '))
7474
{

src/Microcks.Testcontainers/MicrocksBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public sealed class MicrocksBuilder : ContainerBuilder<MicrocksBuilder, Microcks
3131
/// <summary>
3232
/// Image name for the Microcks container.
3333
/// </summary>
34-
private string _microcksImage = MicrocksImage;
34+
private readonly string _microcksImage = MicrocksImage;
3535

3636
/// <summary>
3737
/// HTTP port for the Microcks container.
@@ -136,7 +136,7 @@ protected override MicrocksBuilder Init()
136136
{
137137
return base.Init()
138138
.WithEnvironment(MacOSHelper.GetJavaOptions())
139-
.WithImage(MicrocksImage)
139+
.WithImage(_microcksImage)
140140
.WithPortBinding(MicrocksHttpPort, true)
141141
.WithPortBinding(MicrocksGrpcPort, true)
142142
.WithWaitStrategy(Wait.ForUnixContainer().UntilMessageIsLogged(".*Started MicrocksApplication.*"));

src/Microcks.Testcontainers/MicrocksContainerEnsemble.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,13 @@ public MicrocksContainerEnsemble(INetwork network, string microcksImage)
8686
.WithExposedPort(MicrocksBuilder.MicrocksHttpPort)
8787
.WithExposedPort(MicrocksBuilder.MicrocksGrpcPort)
8888
.WithEnvironment(MacOSHelper.GetJavaOptions())
89+
// HTTP is used intentionally for container-to-container communication in unit/integration tests
90+
// This is localhost communication within a test environment, not production traffic
91+
#pragma warning disable S5332 // Using http protocol is insecure. Use https instead
8992
.WithEnvironment("POSTMAN_RUNNER_URL", "http://postman:3000")
9093
.WithEnvironment("TEST_CALLBACK_URL", "http://microcks:" + MicrocksBuilder.MicrocksHttpPort)
9194
.WithEnvironment("ASYNC_MINION_URL", "http://microcks-async-minion:" + MicrocksAsyncMinionBuilder.MicrocksAsyncMinionHttpPort);
95+
#pragma warning restore S5332 // Using http protocol is insecure. Use https instead
9296
}
9397

9498
/// <summary>

src/Microcks.Testcontainers/MicrocksContainerExtensions.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
using System.Net.Http;
2222
using System.Net.Http.Headers;
2323
using System.Net.Http.Json;
24+
using System.Net.Mime;
2425
using System.Text;
2526
using System.Text.Json;
2627
using System.Threading;
@@ -34,7 +35,6 @@ namespace Microcks.Testcontainers;
3435
/// </summary>
3536
public static class MicrocksContainerExtensions
3637
{
37-
3838
private static string _metricsAPIDatePattern = "yyyyMMdd";
3939

4040
/// <summary>
@@ -45,7 +45,7 @@ public static class MicrocksContainerExtensions
4545
{
4646
DefaultRequestHeaders =
4747
{
48-
Accept = { MediaTypeWithQualityHeaderValue.Parse("application/json") },
48+
Accept = { MediaTypeWithQualityHeaderValue.Parse(MediaTypeNames.Application.Json) },
4949
CacheControl = CacheControlHeaderValue.Parse("no-cache")
5050
}
5151
});
@@ -64,7 +64,7 @@ public static async Task<TestResult> TestEndpointAsync(
6464
this MicrocksContainer container, TestRequest testRequest, CancellationToken cancellationToken = default)
6565
{
6666
string httpEndpoint = container.GetHttpEndpoint() + "api/tests";
67-
var content = new StringContent(JsonSerializer.Serialize(testRequest), Encoding.UTF8, "application/json");
67+
var content = new StringContent(JsonSerializer.Serialize(testRequest), Encoding.UTF8, MediaTypeNames.Application.Json);
6868
var responseMessage = await Client.PostAsync(httpEndpoint, content, cancellationToken);
6969

7070
if (responseMessage.StatusCode == HttpStatusCode.Created)

src/Microcks.Testcontainers/Model/SecretBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public Secret Build()
7676
{
7777
if (_name == null)
7878
{
79-
throw new ArgumentNullException("Name is required");
79+
throw new ArgumentNullException(nameof(_name), "Name is required");
8080
}
8181

8282
return new Secret()

0 commit comments

Comments
 (0)