mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-27 01:25:42 -05:00
Create remote file browser service (#448)
* code refactoring * Add filebrowser service and tests * change dataset reference * Address pr comments * add more tests * address pr comments * address pr comments and added more tests * minor change * minor fix * Fix test break and add dataset result check
This commit is contained in:
@@ -22,7 +22,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.DisasterRecovery
|
||||
{
|
||||
using (SqlTaskManager manager = new SqlTaskManager())
|
||||
{
|
||||
DisasterRecoveryService service = new DisasterRecoveryService();
|
||||
var mockBackupOperation = new Mock<IBackupOperation>();
|
||||
TaskMetadata taskMetaData = this.CreateTaskMetaData(mockBackupOperation.Object);
|
||||
SqlTask sqlTask = manager.CreateTask<SqlTask>(taskMetaData);
|
||||
@@ -45,7 +44,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.DisasterRecovery
|
||||
{
|
||||
using (SqlTaskManager manager = new SqlTaskManager())
|
||||
{
|
||||
DisasterRecoveryService service = new DisasterRecoveryService();
|
||||
var mockBackupOperation = new Mock<IBackupOperation>();
|
||||
TaskMetadata taskMetaData = this.CreateTaskMetaData(mockBackupOperation.Object);
|
||||
taskMetaData.TaskExecutionMode = TaskExecutionMode.Script;
|
||||
@@ -69,8 +67,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.DisasterRecovery
|
||||
public async Task VerifyRunningMultipleBackupTasks()
|
||||
{
|
||||
using (SqlTaskManager manager = new SqlTaskManager())
|
||||
{
|
||||
DisasterRecoveryService service = new DisasterRecoveryService();
|
||||
{
|
||||
var mockBackupOperation = new Mock<IBackupOperation>();
|
||||
TaskMetadata taskMetaData = this.CreateTaskMetaData(mockBackupOperation.Object);
|
||||
|
||||
@@ -103,7 +100,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.DisasterRecovery
|
||||
using (SqlTaskManager manager = new SqlTaskManager())
|
||||
{
|
||||
IBackupOperation backupOperation = new BackupOperationStub();
|
||||
DisasterRecoveryService service = new DisasterRecoveryService();
|
||||
TaskMetadata taskMetaData = this.CreateTaskMetaData(backupOperation);
|
||||
SqlTask sqlTask = manager.CreateTask<SqlTask>(taskMetaData);
|
||||
Assert.NotNull(sqlTask);
|
||||
@@ -129,7 +125,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.DisasterRecovery
|
||||
{
|
||||
using (SqlTaskManager manager = new SqlTaskManager())
|
||||
{
|
||||
DisasterRecoveryService service = new DisasterRecoveryService();
|
||||
IBackupOperation backupOperation = new BackupOperationStub();
|
||||
IBackupOperation backupOperation2 = new BackupOperationStub();
|
||||
TaskMetadata taskMetaData = this.CreateTaskMetaData(backupOperation);
|
||||
@@ -171,7 +166,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.DisasterRecovery
|
||||
{
|
||||
using (SqlTaskManager manager = new SqlTaskManager())
|
||||
{
|
||||
DisasterRecoveryService service = new DisasterRecoveryService();
|
||||
IBackupOperation backupOperation = new BackupOperationStub();
|
||||
TaskMetadata taskMetaData = this.CreateTaskMetaData(backupOperation);
|
||||
SqlTask sqlTask = manager.CreateTask<SqlTask>(taskMetaData);
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
//
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
//
|
||||
|
||||
using Microsoft.SqlTools.ServiceLayer.DisasterRecovery;
|
||||
using Xunit;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.UnitTests.DisasterRecovery
|
||||
{
|
||||
/// <summary>
|
||||
/// Unit tests for disaster recovery file validator
|
||||
/// </summary>
|
||||
public class DisasterRecoveryFileValidatorUnitTests
|
||||
{
|
||||
[Fact]
|
||||
public void ValidatorShouldReturnFalseForNullArgument()
|
||||
{
|
||||
string message;
|
||||
bool result = DisasterRecoveryFileValidator.ValidatePaths(null, out message);
|
||||
Assert.False(result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetMachineNameForLocalServer()
|
||||
{
|
||||
string machineName = DisasterRecoveryFileValidator.GetMachineName(DisasterRecoveryFileValidator.LocalSqlServer);
|
||||
Assert.True(System.Environment.MachineName == machineName);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetMachineNameForNamedServer()
|
||||
{
|
||||
string testMachineName = "testmachine";
|
||||
string machineName = DisasterRecoveryFileValidator.GetMachineName(string.Format("{0}\\testserver", testMachineName));
|
||||
Assert.True(testMachineName == machineName);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// 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 Microsoft.SqlTools.ServiceLayer.FileBrowser;
|
||||
using Microsoft.SqlTools.ServiceLayer.FileBrowser.Contracts;
|
||||
using Xunit;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.UnitTests.FileBrowser
|
||||
{
|
||||
/// <summary>
|
||||
/// File browser unit tests
|
||||
/// </summary>
|
||||
public class FileBrowserTests
|
||||
{
|
||||
[Fact]
|
||||
public void CreateFileBrowserOperationTest()
|
||||
{
|
||||
FileBrowserOperation operation = new FileBrowserOperation(null, "", null);
|
||||
Assert.True(operation.FileTree != null);
|
||||
|
||||
// It should set "*" filter as default
|
||||
Assert.True(operation.FileFilters.Length == 1);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void FilterFilesTest()
|
||||
{
|
||||
FileBrowserOperation operation = new FileBrowserOperation();
|
||||
string[] supportedFilePaths = new string[] {"te\\s/t1.txt", "te!s.t2.bak" };
|
||||
string[] unsupportedFilePaths = new string[] { "te.s*/t3.jpg", "t_est4.trn" };
|
||||
string[] filters = new string[] { "*.txt", "*.bak"};
|
||||
|
||||
foreach (string path in supportedFilePaths)
|
||||
{
|
||||
Assert.True(operation.FilterFile(path, filters));
|
||||
}
|
||||
|
||||
foreach (string path in unsupportedFilePaths)
|
||||
{
|
||||
Assert.False(operation.FilterFile(path, filters));
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ExpandNodeShouldThrowExceptionForInvalidPath()
|
||||
{
|
||||
FileBrowserOperation operation = new FileBrowserOperation();
|
||||
Exception exception = null;
|
||||
|
||||
try
|
||||
{
|
||||
operation.PathSeparator = '/';
|
||||
operation.ExpandSelectedNode("testdrive/filebrowser/test");
|
||||
}
|
||||
catch (FileBrowserException ex)
|
||||
{
|
||||
exception = ex;
|
||||
}
|
||||
|
||||
Assert.NotNull(exception);
|
||||
Assert.Null(operation.FileTree.SelectedNode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CreateFileTreeTest()
|
||||
{
|
||||
FileTree tree = new FileTree();
|
||||
Assert.NotNull(tree.RootNode);
|
||||
Assert.Null(tree.SelectedNode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AddFileTreeNodeChildTest()
|
||||
{
|
||||
FileTreeNode node1 = new FileTreeNode();
|
||||
FileTreeNode node2 = new FileTreeNode();
|
||||
node1.AddChildNode(node2);
|
||||
Assert.NotNull(node1.Children);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user