mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-14 09:35:43 -05:00
* Make nullable warnings a per file opt-in * Remove unneeded compiler directives * Remove compiler directive for User Data
104 lines
3.6 KiB
C#
104 lines
3.6 KiB
C#
//
|
|
// Copyright (c) Microsoft. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
//
|
|
|
|
#nullable disable
|
|
|
|
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 MasterLongQuery = @"SELECT * FROM sys.all_columns a1
|
|
JOIN sys.all_columns a2 on a1.object_id = a2.object_id";
|
|
|
|
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; } }
|
|
|
|
public static string AdventureWorksScript { get { return AdventureWorksScriptInstance.Value; } }
|
|
|
|
public static string CreateNorthwindSchema { get { return CreateNorthwindSchemaInstance.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 readonly Lazy<string> AdventureWorksScriptInstance = new Lazy<string>(() =>
|
|
{
|
|
return GetScriptFileContent(ResourceNameRefix + "AdventureWorks.sql");
|
|
});
|
|
|
|
private static readonly Lazy<string> CreateNorthwindSchemaInstance = new Lazy<string>(() =>
|
|
{
|
|
return GetScriptFileContent(ResourceNameRefix + "CreateNorthwindSchema.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;
|
|
}
|
|
|
|
|
|
}
|
|
}
|