private async Task <SessionCreatedParameters> CreateSession() { ConnectionDetails details = new ConnectionDetails() { UserName = "******", Password = "******", DatabaseName = "msdb", ServerName = "serverName" }; SessionCreatedParameters sessionResult = null; serviceHostMock.AddEventHandling(CreateSessionCompleteNotification.Type, (et, p) => sessionResult = p); CreateSessionResponse result = default(CreateSessionResponse); var contextMock = RequestContextMocks.Create <CreateSessionResponse>(r => result = r).AddErrorHandling(null); connectionServiceMock.Setup(c => c.Connect(It.IsAny <ConnectParams>())) .Returns((ConnectParams connectParams) => Task.FromResult(GetCompleteParamsForConnection(connectParams.OwnerUri, details))); ConnectionInfo connectionInfo = new ConnectionInfo(null, null, null); string fakeConnectionString = "Data Source=server;Initial Catalog=database;Integrated Security=False;User Id=user"; connectionInfo.AddConnection("Default", new SqlConnection(fakeConnectionString)); connectionServiceMock.Setup((c => c.TryFindConnection(It.IsAny <string>(), out connectionInfo))). OutCallback((string t, out ConnectionInfo v) => v = connectionInfo) .Returns(true); connectionServiceMock.Setup(c => c.Disconnect(It.IsAny <DisconnectParams>())).Returns(true); await service.HandleCreateSessionRequest(details, contextMock.Object); await service.CreateSessionTask; return(sessionResult); }
private async Task <SessionCreatedParameters> CreateSession() { SessionCreatedParameters sessionResult = null; serviceHostMock.AddEventHandling(CreateSessionCompleteNotification.Type, (et, p) => sessionResult = p); CreateSessionResponse result = default(CreateSessionResponse); var contextMock = RequestContextMocks.Create <CreateSessionResponse>(r => result = r).AddErrorHandling(null); connectionServiceMock.Setup(c => c.Connect(It.IsAny <ConnectParams>())) .Returns((ConnectParams connectParams) => Task.FromResult(GetCompleteParamsForConnection(connectParams.OwnerUri, details))); ConnectionInfo connectionInfo = new ConnectionInfo(null, null, details); connectionInfo.AddConnection("Default", new SqlConnection(fakeConnectionString)); connectionServiceMock.Setup((c => c.TryFindConnection(It.IsAny <string>(), out connectionInfo))). OutCallback((string t, out ConnectionInfo v) => v = connectionInfo) .Returns(true); connectionServiceMock.Setup(c => c.Disconnect(It.IsAny <DisconnectParams>())).Returns(true); await service.HandleCreateSessionRequest(details, contextMock.Object); await service.CreateSessionTask; return(sessionResult); }
private async Task CreateSessionRequestAndVerifyServerNodeHelper(ConnectionDetails details) { serviceHostMock.AddEventHandling(ConnectionCompleteNotification.Type, null); // Stub out the connection to avoid a 30second timeout while attempting to connect. // The tests don't need any connection context anyhow so this doesn't impact the scenario mockConnectionOpener.Setup(b => b.OpenSqlConnection(It.IsAny <ConnectionInfo>(), It.IsAny <string>())) .Throws <Exception>(); connectionServiceMock.Setup(c => c.Connect(It.IsAny <ConnectParams>())) .Returns((ConnectParams connectParams) => Task.FromResult(GetCompleteParamsForConnection(connectParams.OwnerUri, details))); ConnectionInfo connectionInfo = new ConnectionInfo(null, null, details); connectionInfo.AddConnection("Default", new SqlConnection(fakeConnectionString)); connectionServiceMock.Setup((c => c.TryFindConnection(It.IsAny <string>(), out connectionInfo))). OutCallback((string t, out ConnectionInfo v) => v = connectionInfo) .Returns(true); // when creating a new session // then expect the create session request to return false await RunAndVerify <CreateSessionResponse, SessionCreatedParameters>( test : (requestContext) => { return(CallCreateSession(details, requestContext)); }, verify : (actual => { Assert.True(actual.Success); Assert.NotNull(actual.SessionId); VerifyServerNode(actual.RootNode, details); })); // And expect no error notification to be sent serviceHostMock.Verify(x => x.SendEvent(ConnectionCompleteNotification.Type, It.IsAny <ConnectionCompleteParams>()), Times.Never()); }
private ConnectionService SetupAndRegisterTestConnectionService() { ConnectionService connService = TestObjects.GetTestConnectionService(); ConnectionInfo connectionInfo = new ConnectionInfo(TestObjects.GetTestSqlConnectionFactory(), defaultOwnerUri, defaultConnectionDetails); connectionInfo.AddConnection("Default", new SqlConnection()); connService.OwnerToConnectionMap.Add(defaultOwnerUri, connectionInfo); ServiceProvider.RegisterSingleService(connService); return(connService); }