mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-14 01:25:40 -05:00
Adding getters for project items in SqlProject service (#1879)
* Adding getters for project items * updated comment
This commit is contained in:
@@ -101,7 +101,7 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.SqlProjects
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestSqlObjectScriptAddDeleteExcludeMove()
|
||||
public async Task TestSqlObjectScriptOperations()
|
||||
{
|
||||
// Setup
|
||||
SqlProjectsService service = new();
|
||||
@@ -125,6 +125,17 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.SqlProjects
|
||||
Assert.AreEqual(1, service.Projects[projectUri].SqlObjectScripts.Count, "SqlObjectScripts count after add");
|
||||
Assert.IsTrue(service.Projects[projectUri].SqlObjectScripts.Contains(scriptRelativePath), $"SqlObjectScripts expected to contain {scriptRelativePath}");
|
||||
|
||||
// Validate getting a list of the SQL object scripts
|
||||
MockRequest<GetScriptsResult> getMock = new();
|
||||
await service.HandleGetSqlObjectScriptsRequest(new SqlProjectParams()
|
||||
{
|
||||
ProjectUri = projectUri
|
||||
}, getMock.Object);
|
||||
|
||||
getMock.AssertSuccess(nameof(service.HandleGetSqlObjectScriptsRequest));
|
||||
Assert.AreEqual(1, getMock.Result.Scripts.Length);
|
||||
Assert.AreEqual(scriptRelativePath, getMock.Result.Scripts[0]);
|
||||
|
||||
// Validate excluding a SQL object script
|
||||
requestMock = new();
|
||||
await service.HandleExcludeSqlObjectScriptRequest(new SqlProjectScriptParams()
|
||||
@@ -179,7 +190,7 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.SqlProjects
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestPreDeploymentScriptAddDeleteExcludeMove()
|
||||
public async Task TestPreDeploymentScriptOperations()
|
||||
{
|
||||
// Setup
|
||||
SqlProjectsService service = new();
|
||||
@@ -203,6 +214,17 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.SqlProjects
|
||||
Assert.AreEqual(1, service.Projects[projectUri].PreDeployScripts.Count, "PreDeployScript count after add");
|
||||
Assert.IsTrue(service.Projects[projectUri].PreDeployScripts.Contains(scriptRelativePath), $"PreDeployScripts expected to contain {scriptRelativePath}");
|
||||
|
||||
// Validate getting a list of the pre-deployment scripts
|
||||
MockRequest<GetScriptsResult> getMock = new();
|
||||
await service.HandleGetPreDeploymentScriptsRequest(new SqlProjectParams()
|
||||
{
|
||||
ProjectUri = projectUri
|
||||
}, getMock.Object);
|
||||
|
||||
getMock.AssertSuccess(nameof(service.HandleGetPreDeploymentScriptsRequest));
|
||||
Assert.AreEqual(1, getMock.Result.Scripts.Length);
|
||||
Assert.AreEqual(scriptRelativePath, getMock.Result.Scripts[0]);
|
||||
|
||||
// Validate excluding a pre-deployment script
|
||||
requestMock = new();
|
||||
await service.HandleExcludePreDeploymentScriptRequest(new SqlProjectScriptParams()
|
||||
@@ -281,6 +303,17 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.SqlProjects
|
||||
Assert.AreEqual(1, service.Projects[projectUri].PostDeployScripts.Count, "PostDeployScript count after add");
|
||||
Assert.IsTrue(service.Projects[projectUri].PostDeployScripts.Contains(scriptRelativePath), $"PostDeployScripts expected to contain {scriptRelativePath}");
|
||||
|
||||
// Validate getting a list of the post-deployment scripts
|
||||
MockRequest<GetScriptsResult> getMock = new();
|
||||
await service.HandleGetPostDeploymentScriptsRequest(new SqlProjectParams()
|
||||
{
|
||||
ProjectUri = projectUri
|
||||
}, getMock.Object);
|
||||
|
||||
getMock.AssertSuccess(nameof(service.HandleGetPostDeploymentScriptsRequest));
|
||||
Assert.AreEqual(1, getMock.Result.Scripts.Length);
|
||||
Assert.AreEqual(scriptRelativePath, getMock.Result.Scripts[0]);
|
||||
|
||||
// Validate excluding a Post-deployment script
|
||||
requestMock = new();
|
||||
await service.HandleExcludePostDeploymentScriptRequest(new SqlProjectScriptParams()
|
||||
@@ -336,6 +369,40 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.SqlProjects
|
||||
|
||||
#region Database reference tests
|
||||
|
||||
[Test]
|
||||
public async Task TestGetDatabaseReferences()
|
||||
{
|
||||
var (service, projectUri, _, _) = await SetUpDatabaseReferenceTest();
|
||||
|
||||
// directly add some database references
|
||||
|
||||
SystemDatabaseReference systemDatabaseReference = new SystemDatabaseReference(SystemDatabase.MSDB, suppressMissingDependencies: true);
|
||||
DacpacReference dacpacReference = new DacpacReference("OtherDatabaseDacpac.dacpac", suppressMissingDependencies: true);
|
||||
SqlProjectReference sqlProjectReference = new SqlProjectReference("OtherDatabaseProject.sqlproj", projectGuid: TEST_GUID, suppressMissingDependencies: true);
|
||||
|
||||
service.Projects[projectUri].DatabaseReferences.Add(systemDatabaseReference);
|
||||
service.Projects[projectUri].DatabaseReferences.Add(dacpacReference);
|
||||
service.Projects[projectUri].DatabaseReferences.Add(sqlProjectReference);
|
||||
|
||||
// Validate getting a list of the post-deployment scripts
|
||||
MockRequest<GetDatabaseReferencesResult> getMock = new();
|
||||
await service.HandleGetDatabaseReferencesRequest(new SqlProjectParams()
|
||||
{
|
||||
ProjectUri = projectUri
|
||||
}, getMock.Object);
|
||||
|
||||
getMock.AssertSuccess(nameof(service.HandleGetDatabaseReferencesRequest));
|
||||
|
||||
Assert.AreEqual(1, getMock.Result.SystemDatabaseReferences.Length);
|
||||
Assert.AreEqual(systemDatabaseReference, getMock.Result.SystemDatabaseReferences[0]);
|
||||
|
||||
Assert.AreEqual(1, getMock.Result.DacpacReferences.Length);
|
||||
Assert.AreEqual(dacpacReference, getMock.Result.DacpacReferences[0]);
|
||||
|
||||
Assert.AreEqual(1, getMock.Result.SqlProjectReferences.Length);
|
||||
Assert.AreEqual(sqlProjectReference, getMock.Result.SqlProjectReferences[0]);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestDatabaseReferenceDelete()
|
||||
{
|
||||
@@ -516,7 +583,7 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.SqlProjects
|
||||
#endregion
|
||||
|
||||
[Test]
|
||||
public async Task TestFolderAddDelete()
|
||||
public async Task TestFolderOperations()
|
||||
{
|
||||
// Setup
|
||||
SqlProjectsService service = new();
|
||||
@@ -538,6 +605,17 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.SqlProjects
|
||||
Assert.IsTrue(Directory.Exists(Path.Join(Path.GetDirectoryName(projectUri), folderParams.Path)), $"Subfolder '{folderParams.Path}' expected to exist on disk");
|
||||
Assert.IsTrue(service.Projects[projectUri].Folders.Contains(folderParams.Path), $"SqlObjectScripts expected to contain {folderParams.Path}");
|
||||
|
||||
// Validate getting a list of the post-deployment scripts
|
||||
MockRequest<GetFoldersResult> getMock = new();
|
||||
await service.HandleGetFoldersRequest(new SqlProjectParams()
|
||||
{
|
||||
ProjectUri = projectUri
|
||||
}, getMock.Object);
|
||||
|
||||
getMock.AssertSuccess(nameof(service.HandleGetFoldersRequest));
|
||||
Assert.AreEqual(1, getMock.Result.Folders.Length);
|
||||
Assert.AreEqual(folderParams.Path, getMock.Result.Folders[0]);
|
||||
|
||||
// Validate deleting a folder
|
||||
requestMock = new();
|
||||
await service.HandleDeleteFolderRequest(folderParams, requestMock.Object);
|
||||
@@ -547,7 +625,7 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.SqlProjects
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestSqlCmdVariablesAddDelete()
|
||||
public async Task TestSqlCmdVariablesOperations()
|
||||
{
|
||||
SqlProjectsService service = new();
|
||||
string projectUri = await service.CreateSqlProject();
|
||||
@@ -571,6 +649,17 @@ namespace Microsoft.SqlTools.ServiceLayer.IntegrationTests.SqlProjects
|
||||
Assert.AreEqual(1, service.Projects[projectUri].SqlCmdVariables.Count, "Number of SQLCMD variables after addition not as expected");
|
||||
Assert.IsTrue(service.Projects[projectUri].SqlCmdVariables.Contains(variableName), $"List of SQLCMD variables expected to contain {variableName}");
|
||||
|
||||
// Validate getting a list of the SQLCMD variables
|
||||
MockRequest<GetSqlCmdVariablesResult> getMock = new();
|
||||
await service.HandleGetSqlCmdVariablesRequest(new SqlProjectParams()
|
||||
{
|
||||
ProjectUri = projectUri
|
||||
}, getMock.Object);
|
||||
|
||||
getMock.AssertSuccess(nameof(service.HandleGetSqlCmdVariablesRequest));
|
||||
Assert.AreEqual(1, getMock.Result.SqlCmdVariables.Length);
|
||||
Assert.AreEqual(variableName, getMock.Result.SqlCmdVariables[0].VarName);
|
||||
|
||||
// Validate updating a SQLCMD variable
|
||||
const string updatedDefaultValue = "$(UpdatedDefaultValue)";
|
||||
const string updatedValue = "$(UpdatedValue)";
|
||||
|
||||
Reference in New Issue
Block a user