mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-16 09:35:36 -05:00
* Added username and password to DataSourceConnectionDetails. Refactored KustoClient>GetKustoConnectionStringBuilder to accept no username or password for no credentials authentication. * Removed invalid Unit Test and added 2 unit tests for testing authentication type. * Added validation for dstsAuth and AzureMFA in DataSourceFactory. Added unit test for validation.
64 lines
2.3 KiB
C#
64 lines
2.3 KiB
C#
using System;
|
|
using Microsoft.Kusto.ServiceLayer.DataSource;
|
|
using Microsoft.Kusto.ServiceLayer.DataSource.Contracts;
|
|
using NUnit.Framework;
|
|
|
|
namespace Microsoft.Kusto.ServiceLayer.UnitTests.DataSource
|
|
{
|
|
public class KustoClientTests
|
|
{
|
|
[TestCase("dstsAuth")]
|
|
[TestCase("AzureMFA")]
|
|
public void Constructor_Throws_ArgumentException_For_MissingToken(string authType)
|
|
{
|
|
var connectionDetails = new DataSourceConnectionDetails
|
|
{
|
|
UserToken = "",
|
|
AuthenticationType = authType
|
|
};
|
|
|
|
Assert.Throws<ArgumentException>(() => new KustoClient(connectionDetails, "ownerUri"));
|
|
}
|
|
|
|
[Test]
|
|
public void Constructor_Sets_ClusterName_With_DefaultDatabaseName()
|
|
{
|
|
string clusterName = "https://fake.url.com";
|
|
var connectionDetails = new DataSourceConnectionDetails
|
|
{
|
|
UserToken = "UserToken",
|
|
ServerName = clusterName,
|
|
DatabaseName = "",
|
|
AuthenticationType = "AzureMFA"
|
|
};
|
|
|
|
var client = new KustoClient(connectionDetails, "ownerUri");
|
|
|
|
Assert.AreEqual(clusterName, client.ClusterName);
|
|
Assert.AreEqual("NetDefaultDB", client.DatabaseName);
|
|
}
|
|
|
|
[TestCase("dstsAuth")]
|
|
[TestCase("AzureMFA")]
|
|
[TestCase("NoAuth")]
|
|
[TestCase("SqlLogin")]
|
|
public void Constructor_Creates_Client_With_Valid_AuthenticationType(string authenticationType)
|
|
{
|
|
string clusterName = "https://fake.url.com";
|
|
var connectionDetails = new DataSourceConnectionDetails
|
|
{
|
|
UserToken = "UserToken",
|
|
ServerName = clusterName,
|
|
DatabaseName = "FakeDatabaseName",
|
|
AuthenticationType = authenticationType,
|
|
UserName = authenticationType == "SqlLogin" ? "username": null,
|
|
Password = authenticationType == "SqlLogin" ? "password": null
|
|
};
|
|
|
|
var client = new KustoClient(connectionDetails, "ownerUri");
|
|
|
|
Assert.AreEqual(clusterName, client.ClusterName);
|
|
Assert.AreEqual("FakeDatabaseName", client.DatabaseName);
|
|
}
|
|
}
|
|
} |