Skip to content

Commit 11d0aeb

Browse files
committed
[ksqlDb.RestApi.Client]: added ServiceCollectionExtensions unit tests
1 parent fe33fc1 commit 11d0aeb

File tree

1 file changed

+54
-3
lines changed

1 file changed

+54
-3
lines changed

Tests/ksqlDB.RestApi.Client.Tests/Infrastructure/Extensions/ServiceCollectionExtensionsTests.cs

Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,19 @@
55
using NUnit.Framework;
66
using ksqlDB.RestApi.Client.Infrastructure.Extensions;
77
using ksqlDB.RestApi.Client.KSql.RestApi;
8+
using ksqlDB.RestApi.Client.KSql.RestApi.Parameters;
89

910
namespace ksqlDb.RestApi.Client.Tests.Infrastructure.Extensions
1011
{
1112
public class ServiceCollectionExtensionsTests
1213
{
13-
private readonly IServiceCollection serviceCollection = new ServiceCollection();
14+
private IServiceCollection serviceCollection;
15+
16+
[SetUp]
17+
public void Setup()
18+
{
19+
serviceCollection = new ServiceCollection();
20+
}
1421

1522
[Test]
1623
public void RegisterKSqlDbContextDependencies()
@@ -43,15 +50,59 @@ public void RegisterKSqlDbContextDependencies()
4350
public void ConfigureHttpClients()
4451
{
4552
//Arrange
53+
var contextOptions = new KSqlDBContextOptions(Helpers.TestParameters.KsqlDbUrl);
4654

4755
//Act
48-
serviceCollection.ConfigureHttpClients(new KSqlDBContextOptions(Helpers.TestParameters.KsqlDbUrl));
56+
serviceCollection.ConfigureHttpClients(contextOptions);
4957

5058
var serviceProvider = serviceCollection.BuildServiceProvider();
51-
var httpClientFactory = serviceProvider.GetRequiredService<IHttpClientFactory>();
59+
var httpClientFactory = serviceProvider.GetRequiredService<ksqlDB.RestApi.Client.KSql.RestApi.Http.IHttpClientFactory>();
5260

5361
//Assert
5462
httpClientFactory.Should().NotBeNull();
63+
64+
var httpClient = httpClientFactory.CreateClient();
65+
httpClient.BaseAddress.Should().Be(Helpers.TestParameters.KsqlDbUrl);
66+
}
67+
68+
[Test]
69+
public void RegisterEndpointDependencies()
70+
{
71+
//Arrange
72+
var contextOptions = new KSqlDBContextOptions(Helpers.TestParameters.KsqlDbUrl);
73+
74+
//Act
75+
serviceCollection.RegisterEndpointDependencies(contextOptions);
76+
77+
var serviceProvider = serviceCollection.BuildServiceProvider();
78+
var dbParameters = serviceProvider.GetRequiredService<IKSqlDbParameters>();
79+
var pullQueryParameters = serviceProvider.GetRequiredService<IPullQueryParameters>();
80+
81+
//Assert
82+
dbParameters.Should().NotBeNull();
83+
pullQueryParameters.Should().NotBeNull();
84+
}
85+
86+
[Test]
87+
public void ApplyTo()
88+
{
89+
//Arrange
90+
var sc = new ServiceCollection();
91+
var restApiClientOptions = new KSqlDBRestApiClientOptions
92+
{
93+
ShouldPluralizeFromItemName = false,
94+
};
95+
sc.AddSingleton(restApiClientOptions);
96+
97+
//Act
98+
sc.ApplyTo(serviceCollection);
99+
100+
var serviceProvider = serviceCollection.BuildServiceProvider();
101+
var receivedRestApiClientOptions = serviceProvider.GetRequiredService<KSqlDBRestApiClientOptions>();
102+
103+
//Assert
104+
receivedRestApiClientOptions.Should().NotBeNull();
105+
receivedRestApiClientOptions.ShouldPluralizeFromItemName.Should().BeFalse();
55106
}
56107
}
57108
}

0 commit comments

Comments
 (0)