Skip to content

Commit 2ce6b01

Browse files
committed
refactor helper function
1 parent 9d7c243 commit 2ce6b01

File tree

1 file changed

+53
-39
lines changed

1 file changed

+53
-39
lines changed

UiTests/Common/UiTestHelpers.cs

Lines changed: 53 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -582,55 +582,69 @@ public static void EnsureDatabaseAndTokenCacheTableExist(string serverConnection
582582
{
583583
connection.Open();
584584

585-
// Check if database exists
586-
string checkDatabaseQuery = $"SELECT database_id FROM sys.databases WHERE name = '{databaseName}'";
587-
using (SqlCommand command = new(checkDatabaseQuery, connection))
585+
// Check if database exists and create it if it does not
586+
if (DatabaseExists(connection, databaseName))
588587
{
589-
object result = command.ExecuteScalar();
590-
if (result == null)
591-
{
592-
// Create database if it doesn't exist
593-
string createDatabaseQuery = $"CREATE DATABASE {databaseName}";
594-
using SqlCommand createCommand = new SqlCommand(createDatabaseQuery, connection);
595-
createCommand.ExecuteNonQuery();
596-
output.WriteLine("Database created.");
597-
}
598-
else
599-
{
600-
output.WriteLine("Database already exists.");
601-
}
588+
output.WriteLine("Database already exists.");
589+
}
590+
else
591+
{
592+
CreateDatabase(connection, databaseName);
593+
output.WriteLine("Database created.");
602594
}
603595

604596
// Switch to the database
605597
connection.ChangeDatabase(databaseName);
606598

607-
// Check if table exists
608-
string checkTableQuery = $"SELECT object_id('{tableName}', 'U')";
609-
using (SqlCommand command = new SqlCommand(checkTableQuery, connection))
599+
// Check if table exists and create it if it does not
600+
if (TableExists(connection, tableName))
601+
{
602+
output.WriteLine("Table already exists.");
603+
}
604+
else
610605
{
611-
object result = command.ExecuteScalar();
612-
if (result.GetType() == typeof(DBNull))
613-
{
614-
// Create table if it doesn't exist
615-
string createCacheTableQuery = $@"
616-
CREATE TABLE [dbo].[{tableName}] (
617-
[Id] NVARCHAR(449) NOT NULL PRIMARY KEY,
618-
[Value] VARBINARY(MAX) NOT NULL,
619-
[ExpiresAtTime] DATETIMEOFFSET NOT NULL,
620-
[SlidingExpirationInSeconds] BIGINT NULL,
621-
[AbsoluteExpiration] DATETIMEOFFSET NULL
622-
)";
623-
using SqlCommand createCommand = new SqlCommand(createCacheTableQuery, connection);
624-
createCommand.ExecuteNonQuery();
625-
output.WriteLine("Table created.");
626-
}
627-
else
628-
{
629-
output.WriteLine("Table already exists.");
630-
}
606+
CreateTokenCacheTable(connection, tableName);
607+
output.WriteLine("Table created.");
631608
}
632609
}
633610
}
611+
612+
private static bool DatabaseExists(SqlConnection connection, string databaseName)
613+
{
614+
string checkDatabaseQuery = $"SELECT database_id FROM sys.databases WHERE name = '{databaseName}'";
615+
using SqlCommand command = new SqlCommand(checkDatabaseQuery, connection);
616+
object result = command.ExecuteScalar();
617+
return result != null;
618+
}
619+
620+
private static void CreateDatabase(SqlConnection connection, string databaseName)
621+
{
622+
string createDatabaseQuery = $"CREATE DATABASE {databaseName}";
623+
using SqlCommand createCommand = new SqlCommand(createDatabaseQuery, connection);
624+
createCommand.ExecuteNonQuery();
625+
}
626+
627+
private static bool TableExists(SqlConnection connection, string tableName)
628+
{
629+
string checkTableQuery = $"SELECT object_id('{tableName}', 'U')";
630+
using SqlCommand command = new SqlCommand(checkTableQuery, connection);
631+
object result = command.ExecuteScalar();
632+
return result.GetType() != typeof(DBNull);
633+
}
634+
635+
private static void CreateTokenCacheTable(SqlConnection connection, string tableName)
636+
{
637+
string createCacheTableQuery = $@"
638+
CREATE TABLE [dbo].[{tableName}] (
639+
[Id] NVARCHAR(449) NOT NULL PRIMARY KEY,
640+
[Value] VARBINARY(MAX) NOT NULL,
641+
[ExpiresAtTime] DATETIMEOFFSET NOT NULL,
642+
[SlidingExpirationInSeconds] BIGINT NULL,
643+
[AbsoluteExpiration] DATETIMEOFFSET NULL
644+
)";
645+
using SqlCommand createCommand = new SqlCommand(createCacheTableQuery, connection);
646+
createCommand.ExecuteNonQuery();
647+
}
634648
}
635649

636650
/// <summary>

0 commit comments

Comments
 (0)