keeping the target db to what ever client is sending (#443)

This commit is contained in:
Leila Lali
2017-08-25 12:00:43 -07:00
committed by GitHub
parent eb61423f89
commit 5ab995d78f
2 changed files with 4 additions and 10 deletions

View File

@@ -537,15 +537,9 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation
}, },
ValidateFunction = (IRestoreDatabaseTaskDataObject restoreDataObject, object currentValue, object defaultValue) => ValidateFunction = (IRestoreDatabaseTaskDataObject restoreDataObject, object currentValue, object defaultValue) =>
{ {
string errorMessage = string.Empty;
if (currentValue!= null && DatabaseUtils.IsSystemDatabaseConnection(currentValue.ToString()))
{
errorMessage = "Cannot restore to system database";
}
return new OptionValidationResult() return new OptionValidationResult()
{ {
IsReadOnly = !restoreDataObject.CanChangeTargetDatabase, IsReadOnly = false
ErrorMessage = errorMessage
}; };
}, },
SetValueFunction = (IRestoreDatabaseTaskDataObject restoreDataObject, object value) => SetValueFunction = (IRestoreDatabaseTaskDataObject restoreDataObject, object value) =>

View File

@@ -246,7 +246,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.DisasterRecovery
} }
[Fact] [Fact]
public void TargetDatabaseNameShouldSetToDefaultIfNotValid() public void TargetDatabaseNameShouldBeWhatIsRequested()
{ {
RestoreParams restoreParams = CreateOptionsTestData(); RestoreParams restoreParams = CreateOptionsTestData();
string defaultDbName = "default"; string defaultDbName = "default";
@@ -260,12 +260,12 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.DisasterRecovery
RestoreOptionFactory.Instance.SetAndValidate(RestoreOptionsHelper.TargetDatabaseName, restoreDatabaseTaskDataObject); RestoreOptionFactory.Instance.SetAndValidate(RestoreOptionsHelper.TargetDatabaseName, restoreDatabaseTaskDataObject);
string actual = restoreDatabaseTaskDataObject.TargetDatabaseName; string actual = restoreDatabaseTaskDataObject.TargetDatabaseName;
string expected = defaultDbName; string expected = currentDbName;
Assert.Equal(actual, expected); Assert.Equal(actual, expected);
} }
[Fact] [Fact]
public void TargetDatabaseNameShouldStayTheSameIfValid() public void TargetDatabaseNameShouldBeWhatIsRequested2()
{ {
RestoreParams restoreParams = CreateOptionsTestData(); RestoreParams restoreParams = CreateOptionsTestData();
string defaultDbName = "default"; string defaultDbName = "default";