Changes to sqltoolsservice to allow empty password for SqlLogin (#333)

* Initial changes to allow empty passwords

* Added in empty password test

* Modifying test to work after my changes.
This commit is contained in:
Henry Phan
2017-05-02 10:17:44 -07:00
committed by GitHub
parent fb239ac956
commit f50f30b493
3 changed files with 12 additions and 8 deletions

View File

@@ -78,7 +78,7 @@ namespace Microsoft.SqlTools.Credentials.Contracts
public static void ValidateForSave(Credential credential)
{
ValidateForLookup(credential);
Validate.IsNotNullOrEmptyString("credential.Password", credential.Password);
Validate.IsNotNull("credential.Password", credential.Password);
}
}

View File

@@ -35,15 +35,11 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
}
else if (string.IsNullOrEmpty(parameters.Connection.AuthenticationType) || parameters.Connection.AuthenticationType == "SqlLogin")
{
// For SqlLogin, username/password cannot be empty
// For SqlLogin, username cannot be empty
if (string.IsNullOrEmpty(parameters.Connection.UserName))
{
errorMessage = SR.ConnectionParamsValidateNullSqlAuth("UserName");
}
else if( string.IsNullOrEmpty(parameters.Connection.Password))
{
errorMessage = SR.ConnectionParamsValidateNullSqlAuth("Password");
}
}
return string.IsNullOrEmpty(errorMessage);

View File

@@ -91,9 +91,9 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.Credentials
await service.HandleSaveCredentialRequest(new Credential(CredentialId), contextMock.Object);
TestUtils.VerifyErrorSent(contextMock);
Assert.Contains("ArgumentException", errorResponse);
Assert.True(errorResponse.Contains("ArgumentException") || errorResponse.Contains("ArgumentNullException"));
}
[Fact]
public async Task SaveCredentialWorksForSingleCredential()
{
@@ -102,6 +102,14 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.Credentials
verify: Assert.True);
}
[Fact]
public async Task SaveCredentialWorksForEmptyPassword()
{
await TestUtils.RunAndVerify<bool>(
test: (requestContext) => service.HandleSaveCredentialRequest(new Credential(CredentialId, ""), requestContext),
verify: Assert.True);
}
[Fact]
public async Task SaveCredentialSupportsSavingCredentialMultipleTimes()
{