aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs
diff options
context:
space:
mode:
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs89
1 files changed, 86 insertions, 3 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs
index ddda5f6..179048d 100644
--- a/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs
+++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/CrudIntegratedTest.cs
@@ -15,7 +15,8 @@ public class CrudIntegratedTest : IAsyncLifetime
public CrudIntegratedTest()
{
var builder = WebApplication.CreateBuilder();
- builder.Services.AddSingleton<SqliteMemoryConnectionFactory>();
+ builder.Logging.ClearProviders();
+ builder.Services.AddSingleton<IDbConnectionFactory, SqliteMemoryConnectionFactory>();
builder.Services.AddCrud<TestEntity>();
builder.WebHost.UseTestServer();
_app = builder.Build();
@@ -48,12 +49,94 @@ public class CrudIntegratedTest : IAsyncLifetime
[Fact]
- public async Task Test()
+ public async Task EmptyTest()
{
- var response = await _authorizedHttpClient.GetAsync($"/test?secret={_token}");
+ 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);
+ }
+ }
}