mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-14 09:59:48 -05:00
New test common project for database connections using the settings.json (#210)
* moved test driver tests and test common classes to separate projects
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
//
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
//
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.Test.Common
|
||||
{
|
||||
public class Scripts
|
||||
{
|
||||
private const string ResourceNameRefix = "Microsoft.SqlTools.ServiceLayer.Test.Common.Scripts.";
|
||||
|
||||
public const string MasterBasicQuery = "SELECT * FROM sys.all_columns"; //basic queries should return at least 10000 rows
|
||||
|
||||
public const string DelayQuery = "WAITFOR DELAY '00:01:00'";
|
||||
|
||||
public const string TestDbSimpleSelectQuery = "SELECT * FROM [Person].[Address]";
|
||||
|
||||
public const string SelectQuery = "SELECT * FROM ";
|
||||
|
||||
public const string DropDatabaseIfExist = @"
|
||||
IF EXISTS (SELECT 1 FROM [sys].[databases] WHERE [name] = '{0}')
|
||||
BEGIN
|
||||
ALTER DATABASE [{0}]
|
||||
SET READ_WRITE;
|
||||
ALTER DATABASE [{0}]
|
||||
SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
|
||||
DROP DATABASE [{0}];
|
||||
END
|
||||
";
|
||||
|
||||
public const string DropDatabaseIfExistAzure = @"
|
||||
IF EXISTS (SELECT 1 FROM [sys].[databases] WHERE [name] = '{0}')
|
||||
BEGIN
|
||||
DROP DATABASE [{0}];
|
||||
END
|
||||
";
|
||||
|
||||
public static string CreateDatabaseObjectsQuery { get { return CreateDatabaseObjectsQueryInstance.Value; } }
|
||||
|
||||
public static string CreateDatabaseQuery { get { return CreateDatabaseQueryInstance.Value; } }
|
||||
|
||||
public static string TestDbComplexSelectQueries { get { return TestDbSelectQueriesInstance.Value; } }
|
||||
|
||||
private static readonly Lazy<string> CreateDatabaseObjectsQueryInstance = new Lazy<string>(() =>
|
||||
{
|
||||
return GetScriptFileContent(ResourceNameRefix + "CreateTestDatabaseObjects.sql");
|
||||
});
|
||||
|
||||
private static readonly Lazy<string> CreateDatabaseQueryInstance = new Lazy<string>(() =>
|
||||
{
|
||||
return GetScriptFileContent(ResourceNameRefix + "CreateTestDatabase.sql");
|
||||
});
|
||||
|
||||
private static readonly Lazy<string> TestDbSelectQueriesInstance = new Lazy<string>(() =>
|
||||
{
|
||||
return GetScriptFileContent(ResourceNameRefix + "TestDbTableQueries.sql");
|
||||
});
|
||||
|
||||
private static string GetScriptFileContent(string fileName)
|
||||
{
|
||||
string fileContent = string.Empty;
|
||||
try
|
||||
{
|
||||
using (Stream stream = typeof(Scripts).GetTypeInfo().Assembly.GetManifestResourceStream(fileName))
|
||||
{
|
||||
using (StreamReader reader = new StreamReader(stream))
|
||||
{
|
||||
fileContent = reader.ReadToEnd();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"Failed to load the sql script. error: {ex.Message}");
|
||||
}
|
||||
return fileContent;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user