From 2f2f65c89fdf7b925ef927690e7b6026caae2c70 Mon Sep 17 00:00:00 2001
From: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>
Date: Fri, 28 Oct 2022 12:39:34 -0700
Subject: [PATCH] Fix tests to capture encrypt 'null' by default (#1738)
---
.../Connection/Contracts/ConnectionDetails.cs | 6 +++---
.../Connection/ConnectionDetailsTests.cs | 5 ++---
2 files changed, 5 insertions(+), 6 deletions(-)
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");