aboutsummaryrefslogtreecommitdiff
path: root/dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs
diff options
context:
space:
mode:
Diffstat (limited to 'dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs')
-rw-r--r--dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs200
1 files changed, 0 insertions, 200 deletions
diff --git a/dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs b/dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs
deleted file mode 100644
index bd07c70..0000000
--- a/dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs
+++ /dev/null
@@ -1,200 +0,0 @@
-using System.Net;
-using System.Net.Http.Headers;
-using CrupestApi.Commons.Secrets;
-using Microsoft.AspNetCore.TestHost;
-
-namespace CrupestApi.Commons.Crud.Tests;
-
-public class CrudIntegratedTest : IAsyncLifetime
-{
- private readonly WebApplication _app;
- private HttpClient _httpClient = default!;
- private HttpClient _authorizedHttpClient = default!;
- private string _token = default!;
-
- public CrudIntegratedTest()
- {
- var builder = WebApplication.CreateBuilder();
- builder.Logging.ClearProviders();
- builder.Services.AddSingleton<IDbConnectionFactory, SqliteMemoryConnectionFactory>();
- builder.Services.AddCrud<TestEntity>();
- builder.WebHost.UseTestServer();
- _app = builder.Build();
- _app.UseCrudCore();
- _app.MapCrud<TestEntity>("/test", "test-perm");
- }
-
- public async Task InitializeAsync()
- {
- await _app.StartAsync();
- _httpClient = _app.GetTestClient();
-
- using (var scope = _app.Services.CreateScope())
- {
- var secretService = (SecretService)scope.ServiceProvider.GetRequiredService<ISecretService>();
- var key = secretService.Create(new SecretInfo
- {
- Key = "test-perm"
- });
- _token = secretService.GetByKey(key).Secret;
- }
-
- _authorizedHttpClient = _app.GetTestClient();
- _authorizedHttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _token);
- }
-
- public async Task DisposeAsync()
- {
- await _app.StopAsync();
- }
-
-
- [Fact]
- public async Task EmptyTest()
- {
- using var response = await _authorizedHttpClient.GetAsync("/test");
- Assert.Equal(HttpStatusCode.OK, response.StatusCode);
- var body = await response.Content.ReadFromJsonAsync<List<TestEntity>>();
- Assert.NotNull(body);
- Assert.Empty(body);
- }
-
- [Fact]
- public async Task CrudTest()
- {
- {
- using var response = await _authorizedHttpClient.PostAsJsonAsync("/test", new TestEntity
- {
- Name = "test",
- Age = 22
- });
- Assert.Equal(HttpStatusCode.OK, response.StatusCode);
- var body = await response.Content.ReadFromJsonAsync<TestEntity>();
- Assert.NotNull(body);
- Assert.Equal("test", body.Name);
- Assert.Equal(22, body.Age);
- Assert.Null(body.Height);
- Assert.NotEmpty(body.Secret);
- }
-
- {
- using var response = await _authorizedHttpClient.GetAsync("/test");
- Assert.Equal(HttpStatusCode.OK, response.StatusCode);
- var body = await response.Content.ReadFromJsonAsync<List<TestEntity>>();
- Assert.NotNull(body);
- var entity = Assert.Single(body);
- Assert.Equal("test", entity.Name);
- Assert.Equal(22, entity.Age);
- Assert.Null(entity.Height);
- Assert.NotEmpty(entity.Secret);
- }
-
- {
- using var response = await _authorizedHttpClient.GetAsync("/test/test");
- Assert.Equal(HttpStatusCode.OK, response.StatusCode);
- var body = await response.Content.ReadFromJsonAsync<TestEntity>();
- Assert.NotNull(body);
- Assert.Equal("test", body.Name);
- Assert.Equal(22, body.Age);
- Assert.Null(body.Height);
- Assert.NotEmpty(body.Secret);
- }
-
- {
- using var response = await _authorizedHttpClient.PatchAsJsonAsync("/test/test", new TestEntity
- {
- Name = "test-2",
- Age = 23,
- Height = 188.0f
- });
- Assert.Equal(HttpStatusCode.OK, response.StatusCode);
- var body = await response.Content.ReadFromJsonAsync<TestEntity>();
- Assert.NotNull(body);
- Assert.Equal("test-2", body.Name);
- Assert.Equal(23, body.Age);
- Assert.Equal(188.0f, body.Height);
- Assert.NotEmpty(body.Secret);
- }
-
- {
- using var response = await _authorizedHttpClient.GetAsync("/test/test-2");
- Assert.Equal(HttpStatusCode.OK, response.StatusCode);
- var body = await response.Content.ReadFromJsonAsync<TestEntity>();
- Assert.NotNull(body);
- Assert.Equal("test-2", body.Name);
- Assert.Equal(23, body.Age);
- Assert.Equal(188.0f, body.Height);
- Assert.NotEmpty(body.Secret);
- }
-
- {
- using var response = await _authorizedHttpClient.DeleteAsync("/test/test-2");
- Assert.Equal(HttpStatusCode.OK, response.StatusCode);
- }
-
- {
- using var response = await _authorizedHttpClient.GetAsync("/test");
- Assert.Equal(HttpStatusCode.OK, response.StatusCode);
- var body = await response.Content.ReadFromJsonAsync<List<TestEntity>>();
- Assert.NotNull(body);
- Assert.Empty(body);
- }
- }
-
- [Fact]
- public async Task UnauthorizedTest()
- {
- {
- using var response = await _httpClient.GetAsync("/test");
- Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
- }
-
- {
- using var response = await _httpClient.GetAsync("/test/test");
- Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
- }
-
- {
- using var response = await _httpClient.PostAsJsonAsync("/test", new TestEntity
- {
- Name = "test",
- Age = 22
- });
- Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
- }
-
- {
- using var response = await _httpClient.PatchAsJsonAsync("/test/test", new TestEntity
- {
- Name = "test-2",
- Age = 23,
- Height = 188.0f
- });
- Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
- }
-
- {
- using var response = await _httpClient.DeleteAsync("/test/test");
- Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
- }
- }
-
- [Fact]
- public async Task NotFoundTest()
- {
- {
- using var response = await _authorizedHttpClient.GetAsync("/test/test");
- Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
- }
-
- {
- using var response = await _authorizedHttpClient.PatchAsJsonAsync("/test/test", new TestEntity
- {
- Name = "test-2",
- Age = 23,
- Height = 188.0f
- });
- Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
- }
- }
-}