aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudTestBase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudTestBase.cs')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudTestBase.cs74
1 files changed, 0 insertions, 74 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudTestBase.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudTestBase.cs
deleted file mode 100644
index 98c0dfd..0000000
--- a/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudTestBase.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-using System.Net;
-using CrupestApi.Commons.Secrets;
-using Microsoft.AspNetCore.TestHost;
-
-namespace CrupestApi.Commons.Crud.Tests;
-
-public abstract class CrudTestBase<TEntity> : IAsyncDisposable where TEntity : class
-{
- protected readonly WebApplication _app;
-
- protected readonly string _path;
- protected readonly string? _authKey;
-
- protected readonly HttpClient _client;
-
- public CrudTestBase(string path, string? authKey = null)
- {
- _path = path;
- _authKey = authKey;
-
- var builder = WebApplication.CreateBuilder();
- builder.WebHost.UseTestServer();
- builder.Services.AddCrud<TEntity>();
- ConfigureApplication(builder);
- _app = builder.Build();
-
- if (authKey is not null)
- {
- using (var scope = _app.Services.CreateScope())
- {
- var secretService = scope.ServiceProvider.GetRequiredService<ISecretService>();
- secretService.CreateTestSecret(authKey, "test-secret");
- }
- }
-
- _client = CreateHttpClient();
- }
-
- protected abstract void ConfigureApplication(WebApplicationBuilder builder);
-
- public virtual async ValueTask DisposeAsync()
- {
- await _app.DisposeAsync();
- }
-
- public TestServer GetTestServer()
- {
- return _app.GetTestServer();
- }
-
- public HttpClient CreateHttpClient()
- {
- return GetTestServer().CreateClient();
- }
-
- public async Task TestAuth()
- {
- if (_authKey is null)
- {
- return;
- }
-
- {
- using var response = await _client.GetAsync(_path);
- Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
- }
-
- {
- var entity = Activator.CreateInstance<TEntity>();
- using var response = await _client.PostAsJsonAsync(_path, entity);
- Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
- }
- }
-}