Adding Flags API
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
using NUnit.Framework;
|
||||
using MicCheck.Api.Data;
|
||||
|
||||
namespace MicCheck.Api.Tests.Unit.Data;
|
||||
|
||||
[TestFixture]
|
||||
public class DatabaseUrlParserTests
|
||||
{
|
||||
[Test]
|
||||
public void WhenAFullDatabaseUrlIsParsed_ThenAllComponentsAreExtracted()
|
||||
{
|
||||
var url = "postgresql://miccheck:password@localhost:5432/miccheck";
|
||||
|
||||
var result = DatabaseUrlParser.ToNpgsqlConnectionString(url);
|
||||
|
||||
Assert.That(result, Does.Contain("Host=localhost"));
|
||||
Assert.That(result, Does.Contain("Port=5432"));
|
||||
Assert.That(result, Does.Contain("Database=miccheck"));
|
||||
Assert.That(result, Does.Contain("Username=miccheck"));
|
||||
Assert.That(result, Does.Contain("Password=password"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WhenADatabaseUrlWithNoExplicitPortIsParsed_ThenPortDefaultsTo5432()
|
||||
{
|
||||
var url = "postgresql://user:pass@db.example.com/mydb";
|
||||
|
||||
var result = DatabaseUrlParser.ToNpgsqlConnectionString(url);
|
||||
|
||||
Assert.That(result, Does.Contain("Port=5432"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WhenADatabaseUrlWithACustomPortIsParsed_ThenThatPortIsUsed()
|
||||
{
|
||||
var url = "postgresql://user:pass@db.example.com:5433/mydb";
|
||||
|
||||
var result = DatabaseUrlParser.ToNpgsqlConnectionString(url);
|
||||
|
||||
Assert.That(result, Does.Contain("Port=5433"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WhenADatabaseUrlContainsSpecialCharactersInPassword_ThenTheyArePreserved()
|
||||
{
|
||||
var url = "postgresql://user:s3cr3t@host:5432/db";
|
||||
|
||||
var result = DatabaseUrlParser.ToNpgsqlConnectionString(url);
|
||||
|
||||
Assert.That(result, Does.Contain("Password=s3cr3t"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user