mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-02-06 09:35:39 -05:00
dSTS Authentication (#1125)
* Refactored Kusto.ServiceLayer to pass ConnectionDetails to DataSourceFactory instead of connection string. Created KustoConnectionDetails to map needed details to KustoClient. * Removed unused ScriptingScriptOperation from KustoServiceLayer. * Created DstsAuthenticationManager and moved logic for getting DstsToken. Updated error message for failing to create KustoConnection. * Removed DstsAuthenticationManager.cs. Refactored DataSourceFactory to retrieve UserToken from ConnectionDetails. * Renamed AzureAccountToken in ConnectionDetails to AccountToken. Changed mapping to KustoConnectionDetails based on the AccountToken. * Removed Kusto.Data reference from ConnectionService and ScriptingListObjectsOperation. Moved creation of KustoConnectionStringBuilder to DataSourceFactory * Added accountToken validation to DataSourceFactory Create. * Renamed KustoConnectionDetails to DataSourceConnectionDetails. Renamed AzureToken to AuthToken.
This commit is contained in:
@@ -35,8 +35,8 @@ namespace Microsoft.Kusto.ServiceLayer.UnitTests.Connection
|
||||
var connectionInfo = new ConnectionInfo(connectionFactoryMock.Object, "", new ConnectionDetails());
|
||||
|
||||
var dataSourceFactoryMock = new Mock<IDataSourceFactory>();
|
||||
var reliableDataSource = new ReliableDataSourceConnection("", RetryPolicyFactory.NoRetryPolicy,
|
||||
RetryPolicyFactory.NoRetryPolicy, "", dataSourceFactoryMock.Object, "");
|
||||
var reliableDataSource = new ReliableDataSourceConnection(new ConnectionDetails(), RetryPolicyFactory.NoRetryPolicy,
|
||||
RetryPolicyFactory.NoRetryPolicy, dataSourceFactoryMock.Object, "");
|
||||
connectionInfo.AddConnection("ConnectionType", reliableDataSource);
|
||||
|
||||
connectionInfo.TryGetConnection("ConnectionType", out var connection);
|
||||
@@ -59,8 +59,8 @@ namespace Microsoft.Kusto.ServiceLayer.UnitTests.Connection
|
||||
var connectionInfo = new ConnectionInfo(connectionFactoryMock.Object, "", new ConnectionDetails());
|
||||
|
||||
var dataSourceFactoryMock = new Mock<IDataSourceFactory>();
|
||||
var reliableDataSource = new ReliableDataSourceConnection("", RetryPolicyFactory.NoRetryPolicy,
|
||||
RetryPolicyFactory.NoRetryPolicy, "", dataSourceFactoryMock.Object, "");
|
||||
var reliableDataSource = new ReliableDataSourceConnection(new ConnectionDetails(), RetryPolicyFactory.NoRetryPolicy,
|
||||
RetryPolicyFactory.NoRetryPolicy, dataSourceFactoryMock.Object, "");
|
||||
connectionInfo.AddConnection("ConnectionType", reliableDataSource);
|
||||
|
||||
connectionInfo.RemoveConnection("ConnectionType");
|
||||
@@ -76,8 +76,8 @@ namespace Microsoft.Kusto.ServiceLayer.UnitTests.Connection
|
||||
var connectionInfo = new ConnectionInfo(connectionFactoryMock.Object, "", new ConnectionDetails());
|
||||
|
||||
var dataSourceFactoryMock = new Mock<IDataSourceFactory>();
|
||||
var reliableDataSource = new ReliableDataSourceConnection("", RetryPolicyFactory.NoRetryPolicy,
|
||||
RetryPolicyFactory.NoRetryPolicy, "", dataSourceFactoryMock.Object, "");
|
||||
var reliableDataSource = new ReliableDataSourceConnection(new ConnectionDetails(), RetryPolicyFactory.NoRetryPolicy,
|
||||
RetryPolicyFactory.NoRetryPolicy, dataSourceFactoryMock.Object, "");
|
||||
connectionInfo.AddConnection("ConnectionType", reliableDataSource);
|
||||
|
||||
connectionInfo.RemoveAllConnections();
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Microsoft.Kusto.ServiceLayer.Connection;
|
||||
using Microsoft.Kusto.ServiceLayer.Connection.Contracts;
|
||||
using Microsoft.Kusto.ServiceLayer.DataSource;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
@@ -12,7 +13,7 @@ namespace Microsoft.Kusto.ServiceLayer.UnitTests.Connection
|
||||
{
|
||||
var dataSourceFactoryMock = new Mock<IDataSourceFactory>();
|
||||
var connectionFactory = new DataSourceConnectionFactory(dataSourceFactoryMock.Object);
|
||||
var connection = connectionFactory.CreateDataSourceConnection("", "", "");
|
||||
var connection = connectionFactory.CreateDataSourceConnection(new ConnectionDetails(), "");
|
||||
|
||||
Assert.IsNotNull(connection);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.Kusto.ServiceLayer.Connection.Contracts;
|
||||
using Microsoft.Kusto.ServiceLayer.DataSource;
|
||||
using Microsoft.Kusto.ServiceLayer.DataSource.DataSourceIntellisense;
|
||||
using Microsoft.Kusto.ServiceLayer.LanguageServices.Completion;
|
||||
@@ -10,16 +11,19 @@ namespace Microsoft.Kusto.ServiceLayer.UnitTests.DataSource
|
||||
{
|
||||
public class DataSourceFactoryTests
|
||||
{
|
||||
[TestCase(typeof(ArgumentNullException), "", "AzureAccountToken")]
|
||||
[TestCase(typeof(ArgumentNullException), "ConnectionString", "")]
|
||||
[TestCase(typeof(ArgumentException), "ConnectionString", "AzureAccountToken")]
|
||||
public void Create_Throws_Exceptions_For_InvalidParams(Type exceptionType,
|
||||
string connectionString,
|
||||
string azureAccountToken)
|
||||
{
|
||||
var dataSourceFactory = new DataSourceFactory();
|
||||
var connectionDetails = new ConnectionDetails
|
||||
{
|
||||
ConnectionString = connectionString,
|
||||
AccountToken = azureAccountToken
|
||||
};
|
||||
Assert.Throws(exceptionType,
|
||||
() => dataSourceFactory.Create(DataSourceType.None, connectionString, azureAccountToken, ""));
|
||||
() => dataSourceFactory.Create(DataSourceType.None, connectionDetails, ""));
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace Microsoft.Kusto.ServiceLayer.UnitTests.LanguageServices
|
||||
{
|
||||
var connectionDetails = new ConnectionDetails
|
||||
{
|
||||
AzureAccountToken = "AzureAccountToken"
|
||||
AccountToken = "AzureAccountToken"
|
||||
};
|
||||
var connectionFactory = new Mock<IDataSourceConnectionFactory>();
|
||||
var connectionInfo = new ConnectionInfo(connectionFactory.Object, "ownerUri", connectionDetails);
|
||||
@@ -100,7 +100,7 @@ namespace Microsoft.Kusto.ServiceLayer.UnitTests.LanguageServices
|
||||
var dataSourceFactory = new Mock<IDataSourceFactory>();
|
||||
var dataSourceMock = new Mock<IDataSource>();
|
||||
dataSourceFactory
|
||||
.Setup(x => x.Create(It.IsAny<DataSourceType>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()))
|
||||
.Setup(x => x.Create(It.IsAny<DataSourceType>(), It.IsAny<ConnectionDetails>(), It.IsAny<string>()))
|
||||
.Returns(dataSourceMock.Object);
|
||||
|
||||
var connectedBindingQueue =
|
||||
|
||||
Reference in New Issue
Block a user