diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionDetails.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionDetails.cs index 9a9ac0c9..56972809 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionDetails.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/Contracts/ConnectionDetails.cs @@ -150,15 +150,15 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts /// Gets or sets a value that indicates encryption mode that SQL Server should use to perform SSL encryption for all the data sent between the client and server. Supported values are: Optional, Mandatory, Strict, True, False, Yes and No. /// Boolean 'true' and 'false' will also continue to be supported for backwards compatibility. /// - public string Encrypt + public string? Encrypt { get { - string value = GetOptionValue("encrypt"); + string? value = GetOptionValue("encrypt"); if(string.IsNullOrEmpty(value)) { // Accept boolean values for backwards compatibility. - value = GetOptionValue("encrypt").ToString(); + value = GetOptionValue("encrypt")?.ToString(); } return value; } diff --git a/test/Microsoft.SqlTools.ServiceLayer.UnitTests/Connection/ConnectionDetailsTests.cs b/test/Microsoft.SqlTools.ServiceLayer.UnitTests/Connection/ConnectionDetailsTests.cs index ba68753c..0387d7f8 100644 --- a/test/Microsoft.SqlTools.ServiceLayer.UnitTests/Connection/ConnectionDetailsTests.cs +++ b/test/Microsoft.SqlTools.ServiceLayer.UnitTests/Connection/ConnectionDetailsTests.cs @@ -25,7 +25,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.Connection var expectedForStrings = default(string); var expectedForInt = default(int?); var expectedForBoolean = default(bool?); - var expectedEncryptOption = default(string?); Assert.AreEqual(details.ApplicationIntent, expectedForStrings); Assert.AreEqual(details.ApplicationName, expectedForStrings); @@ -49,7 +48,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.Connection Assert.AreEqual(details.ColumnEncryptionSetting, expectedForStrings); Assert.AreEqual(details.EnclaveAttestationUrl, expectedForStrings); Assert.AreEqual(details.EnclaveAttestationProtocol, expectedForStrings); - Assert.AreEqual(details.Encrypt, expectedEncryptOption); + Assert.AreEqual(details.Encrypt, expectedForStrings); Assert.AreEqual(details.MultipleActiveResultSets, expectedForBoolean); Assert.AreEqual(details.MultiSubnetFailover, expectedForBoolean); Assert.AreEqual(details.PersistSecurityInfo, expectedForBoolean); @@ -242,7 +241,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.Connection } [Test] - public void EncryptShouldReturnMandatoryIfNotSet() + public void EncryptShouldReturnNullIfNotSet() { ConnectionDetails details = new ConnectionDetails(); Assert.That(details.Encrypt, Is.Null, "Encrypt should be null when set to null");