-
-
Notifications
You must be signed in to change notification settings - Fork 115
/
Copy pathTestUtil.cs
70 lines (60 loc) · 3.01 KB
/
TestUtil.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System.Data.SQLite;
using System.IO;
using System.Text;
using Microsoft.Data.SqlClient;
using EvolveDb.Connection;
using EvolveDb.Metadata;
using EvolveDb.Migration;
namespace EvolveDb.Tests
{
internal static class TestUtil
{
public static void CreateSqlServerDatabase(string dbName, string cnxStr)
{
var cnn = new SqlConnection(cnxStr);
cnn.Open();
using (var cmd = cnn.CreateCommand())
{
cmd.CommandText = $"IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = '{dbName}') " +
$"BEGIN " +
$"CREATE DATABASE {dbName} " +
$"END";
cmd.ExecuteNonQuery();
}
cnn.Close();
}
public static WrappedConnection CreateSQLiteWrappedCnx() => new WrappedConnection(new SQLiteConnection("Data Source=:memory:"));
public static FileMigrationScript BuildFileMigrationScript(string path = null, string version = null, string description = null) =>
new FileMigrationScript(
path: path ?? TestContext.CrLfScriptPath,
version: version ?? "1",
description: description ?? "desc",
type: MetadataType.Migration);
public static FileMigrationScript BuildRepeatableFileMigrationScript(string path = null, string description = null, string version = null) =>
new FileMigrationScript(
path: path ?? TestContext.CrLfScriptPath,
version: version ?? null,
description: description ?? "desc",
type: MetadataType.RepeatableMigration);
public static EmbeddedResourceMigrationScript BuildEmbeddedResourceMigrationScript(string version = null, string description = null, string name = null, Stream content = null) =>
new EmbeddedResourceMigrationScript(
version: version ?? "1",
description: description ?? "desc",
name: name ?? "name",
content: content ?? new MemoryStream(Encoding.UTF8.GetBytes("content")),
type: MetadataType.Migration);
public static EmbeddedResourceMigrationScript BuildRepeatableEmbeddedResourceMigrationScript(string name = null, string description = null, Stream content = null) =>
new EmbeddedResourceMigrationScript(
version: null,
description: description ?? "desc",
name: name ?? "name",
content: content ?? new MemoryStream(Encoding.UTF8.GetBytes("content")),
type: MetadataType.RepeatableMigration);
public static MigrationMetadata BuildMigrationMetadata(string version = null, string description = null, string name = null) =>
new MigrationMetadata(
version: version ?? "1",
description: description ?? "desc",
name: name ?? "name",
type: MetadataType.Migration);
}
}