Files
sqltoolsservice/test/Microsoft.SqlTools.ServiceLayer.TestDriver.Tests/ConnectionTests.cs
Leila Lali b353b2137e New test common project for database connections using the settings.json (#210)
* moved test driver tests and test common classes to separate projects
2017-01-11 13:47:56 -08:00

79 lines
2.7 KiB
C#

//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System.Threading;
using System.Threading.Tasks;
using Microsoft.SqlTools.ServiceLayer.Test.Common;
using Xunit;
using Microsoft.SqlTools.ServiceLayer.Connection.Contracts;
namespace Microsoft.SqlTools.ServiceLayer.TestDriver.Tests
{
/// <summary>
/// Language Service end-to-end integration tests
/// </summary>
public class ConnectionTest
{
/// <summary>
/// Try to connect with invalid credentials
/// </summary>
[Fact]
public async Task InvalidConnection()
{
using (SelfCleaningTempFile queryTempFile = new SelfCleaningTempFile())
using (TestServiceDriverProvider testService = new TestServiceDriverProvider())
{
bool connected = await testService.Connect(queryTempFile.FilePath, InvalidConnectParams, 300000);
Assert.False(connected, "Invalid connection is failed to connect");
await testService.Connect(queryTempFile.FilePath, InvalidConnectParams, 300000);
Thread.Sleep(1000);
await testService.CancelConnect(queryTempFile.FilePath);
await testService.Disconnect(queryTempFile.FilePath);
}
}
/// <summary>
/// Validate list databases request
/// </summary>
[Fact]
public async Task ListDatabasesTest()
{
using (SelfCleaningTempFile queryTempFile = new SelfCleaningTempFile())
using (TestServiceDriverProvider testService = new TestServiceDriverProvider())
{
bool connected = await testService.Connect(TestServerType.OnPrem, queryTempFile.FilePath);
Assert.True(connected, "Connection successful");
var listDatabaseResult = await testService.ListDatabases(queryTempFile.FilePath);
Assert.True(listDatabaseResult.DatabaseNames.Length > 0);
await testService.Disconnect(queryTempFile.FilePath);
}
}
private static ConnectParams InvalidConnectParams
{
get
{
return new ConnectParams()
{
Connection = new ConnectionDetails()
{
DatabaseName = "master",
ServerName = "localhost",
AuthenticationType = "SqlLogin",
UserName = "invalid",
Password = ".."
}
};
}
}
}
}