Updates configuration and refactors code structure

Migrates connection strings to new database host
Removes unnecessary code and improves configuration handling
Enhances test coverage and adds random word generation
Updates telemetry and command handling patterns
This commit is contained in:
Janus C. H. Knudsen 2026-01-08 21:51:43 +01:00
parent dc98178095
commit a991dcdb97
18 changed files with 481 additions and 63 deletions

View file

@ -66,19 +66,15 @@ public class PostgresTests : TestFixture
public async Task TestForUniqueUserEmail()
{
using var db = _databaseOperations.CreateScope(nameof(TestForUniqueUserEmail));
// try
try
{
var sql = @"
INSERT INTO system.users(email, password_hash, security_stamp, email_confirmed,
access_failed_count, lockout_enabled,
is_active)
VALUES(@Email, @PasswordHash, @SecurityStamp, @EmailConfirmed,
@AccessFailedCount, @LockoutEnabled, @IsActive)
var sql = @"INSERT INTO system.users(email, password_hash, security_stamp, email_confirmed, access_failed_count, lockout_enabled, is_active)
VALUES(@Email, @PasswordHash, @SecurityStamp, @EmailConfirmed, @AccessFailedCount, @LockoutEnabled, @IsActive)
RETURNING id, created_at, email, is_active";
var parameters = new
{
Email = "jarjarbinks22233@mars.com",
Email = $"{GetRandomWord()}@mars.com",
PasswordHash = "MartianRover2025",
SecurityStamp = "MarsOrBust",
EmailConfirmed = true,
@ -89,16 +85,17 @@ public class PostgresTests : TestFixture
var user = await db.Connection.QuerySqlAsync<dynamic>(sql, parameters);
// user.ShouldNotBeNull();
//EmailAlreadyRegistreredException
//try insert, to test exception
var ex = await Should.ThrowAsync<EmailAlreadyRegistreredException>(async () =>
await db.Connection.ExecuteAsync(sql, parameters));
var ex = await Should.ThrowAsync<Npgsql.PostgresException>(async () =>
await db.Connection.QuerySqlAsync<dynamic>(sql, parameters));
ex.ConstraintName.ShouldBe("users_email_key");
}
catch (Exception ex)
{
db.Error(ex);
}
// catch (Exception ex)
// {
// db.Error(ex);
// }
}
[TestMethod]