Files
tgstation-server/tests/Tgstation.Server.Host.Tests/Database/TestDatabaseConnectionFactory.cs
2025-08-01 19:37:43 -04:00

33 lines
1.0 KiB
C#

using System;
using Microsoft.Data.SqlClient;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MySqlConnector;
using Tgstation.Server.Host.Configuration;
namespace Tgstation.Server.Host.Database.Tests
{
[TestClass]
public sealed class TestDatabaseConnectionFactory
{
[TestMethod]
public void TestBadParameters()
{
var factory = new DatabaseConnectionFactory();
Assert.ThrowsExactly<ArgumentNullException>(() => factory.CreateConnection(null, default));
Assert.ThrowsExactly<ArgumentOutOfRangeException>(() => factory.CreateConnection(String.Empty, (DatabaseType)42));
}
[TestMethod]
public void TestWorks()
{
var factory = new DatabaseConnectionFactory();
Assert.IsInstanceOfType(factory.CreateConnection(String.Empty, DatabaseType.MariaDB), typeof(MySqlConnection));
Assert.IsInstanceOfType(factory.CreateConnection(String.Empty, DatabaseType.MySql), typeof(MySqlConnection));
Assert.IsInstanceOfType(factory.CreateConnection(String.Empty, DatabaseType.SqlServer), typeof(SqlConnection));
}
}
}