* Run code cleanup * Dotnet format benchmarks project * Fix up Test.Common * Run dotnet format + manual cleanup * Run code cleanup for unit tests * Run dotnet format * Fix up errors * Manual cleanup of Unit test project * Update tests/Umbraco.Tests.Benchmarks/HexStringBenchmarks.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update tests/Umbraco.Tests.Integration/Testing/TestDbMeta.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update tests/Umbraco.Tests.Benchmarks/TypeFinderBenchmarks.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update tests/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTest.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update tests/Umbraco.Tests.Integration/Umbraco.Core/Events/EventAggregatorTests.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Fix according to review * Fix after merge * Fix errors Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk> Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> Co-authored-by: Zeegaan <nge@umbraco.dk>
46 lines
1.8 KiB
C#
46 lines
1.8 KiB
C#
// Copyright (c) Umbraco.
|
|
// See LICENSE for more details.
|
|
|
|
using System.Data.Common;
|
|
using System.Text.RegularExpressions;
|
|
using Umbraco.Cms.Core.Configuration.Models;
|
|
using Umbraco.Cms.Persistence.SqlServer;
|
|
|
|
namespace Umbraco.Cms.Tests.Integration.Testing;
|
|
|
|
public class TestDbMeta
|
|
{
|
|
public TestDbMeta(string name, bool isEmpty, string connectionString, string providerName, string path)
|
|
{
|
|
IsEmpty = isEmpty;
|
|
Name = name;
|
|
ConnectionString = connectionString;
|
|
Provider = providerName;
|
|
Path = path;
|
|
}
|
|
|
|
public string Name { get; }
|
|
public bool IsEmpty { get; }
|
|
public string ConnectionString { get; set; }
|
|
public string Provider { get; set; }
|
|
public string Path { get; set; } // Null if not embedded.
|
|
public DbConnection Connection { get; set; } // for SQLite in memory, can move to subclass later.
|
|
|
|
private static string ConstructConnectionString(string masterConnectionString, string databaseName)
|
|
{
|
|
var prefix = Regex.Replace(masterConnectionString, "Database=.+?;", string.Empty);
|
|
var connectionString = $"{prefix};Database={databaseName};";
|
|
return connectionString.Replace(";;", ";");
|
|
}
|
|
|
|
public static TestDbMeta CreateWithMasterConnectionString(string name, bool isEmpty, string masterConnectionString) =>
|
|
new TestDbMeta(name, isEmpty, ConstructConnectionString(masterConnectionString, name), Persistence.SqlServer.Constants.ProviderName, null);
|
|
|
|
// LocalDb mdf funtimes
|
|
public static TestDbMeta CreateWithoutConnectionString(string name, bool isEmpty) =>
|
|
new(name, isEmpty, null, Constants.ProviderName, null);
|
|
|
|
public ConnectionStrings ToStronglyTypedConnectionString() =>
|
|
new() { Name = Name, ConnectionString = ConnectionString, ProviderName = Provider };
|
|
}
|