public void Get() { // Arrange const string userId = "UserID"; const string runspaceId = "RunspaceId"; const string sessionId = "SessionId"; var sessionTokenMock = new Mock <ISessionToken>(); sessionTokenMock.Setup(x => x.SessionId).Returns(sessionId); var runspaceProviderMockClass = new Mock <IRunspaceProvider>(); var runspaceProviderMock = MockRunspaceProvider(runspaceId, "127.0.0.1", runspaceProviderMockClass).Object; _multiTenantRunspaceProvider = new MultiTenantRunspaceProvider( MockLoggerFactory(), runspaceProviderMock); _multiTenantRunspaceProvider.StartCreate(userId, sessionTokenMock.Object, null, false, null, null); // Act var actual = _multiTenantRunspaceProvider.Get(userId, runspaceId); // Assert runspaceProviderMockClass.Verify( mock => mock.Get( It.Is <string>(s => s == runspaceId)), Times.Exactly(1)); Assert.AreEqual(runspaceId, actual.Id); }
public void CreateRunspaceStartingVcConnectionSsoError() { // Arrange const string userId = "UserID"; const string runspaceId = "RunspaceId"; const string sessionId = "SessionId"; const string runspaceName = "TestRunspaceName"; const string ssoError = "Acquire Bearer Token Fails"; var testStartTime = DateTime.Now; var runspaceProviderMockClass = new Mock <IRunspaceProvider>(); var runspaceProviderMock = MockRunspaceProvider(runspaceId, "127.0.0.1", runspaceProviderMockClass).Object; var rawSamlToken = new XmlDocument(); rawSamlToken.LoadXml("<saml />"); var samlTokenMock = new Mock <ISamlToken>(); samlTokenMock.Setup(x => x.RawXmlElement).Returns(rawSamlToken.DocumentElement); var sessionTokenMock = new Mock <ISessionToken>(); sessionTokenMock.Setup(x => x.SessionId).Returns(sessionId); sessionTokenMock.Setup(x => x.HoKSamlToken).Returns(samlTokenMock.Object); var stsClientMock = new Mock <ISolutionStsClient>(); stsClientMock .Setup(x => x.IssueBearerTokenBySolutionToken(rawSamlToken.DocumentElement)) .Callback(() => { throw new Exception(ssoError); }) .Returns(rawSamlToken.DocumentElement); _multiTenantRunspaceProvider = new MultiTenantRunspaceProvider( MockLoggerFactory(), runspaceProviderMock); // Act var actual = _multiTenantRunspaceProvider .StartCreate(userId, sessionTokenMock.Object, runspaceName, true, stsClientMock.Object, "vcEndpoint"); // Give small amount of time internal thread to start and SSO Error to happen Thread.Sleep(100); actual = _multiTenantRunspaceProvider.Get(userId, runspaceId); // Assert Assert.AreEqual(runspaceId, actual.Id); Assert.AreEqual(RunspaceState.Error, actual.State); Assert.AreEqual(true, actual.RunVcConnectionScript); Assert.AreEqual(runspaceName, actual.Name); Assert.NotNull(actual.ErrorDetails); Assert.AreEqual(ssoError, actual.ErrorDetails.Message); Assert.AreEqual(null, actual.VcConnectionScriptId); Assert.IsTrue(actual.CreationTime >= testStartTime && actual.CreationTime <= DateTime.Now); }
public void GetWhenInvalidUser() { // Arrange const string invalidUserId = ""; const string userId = "UserId"; const string sessionId = "SessionId"; const string runspaceId = "RunspaceId"; var sessionTokenMock = new Mock <ISessionToken>(); sessionTokenMock.Setup(x => x.SessionId).Returns(sessionId); var runspaceProviderMockClass = new Mock <IRunspaceProvider>(); var runspaceProviderMock = MockRunspaceProvider(runspaceId, "127.0.0.1", runspaceProviderMockClass).Object; _multiTenantRunspaceProvider = new MultiTenantRunspaceProvider( MockLoggerFactory(), runspaceProviderMock); _multiTenantRunspaceProvider.StartCreate(userId, sessionTokenMock.Object, null, false, null, null); // Act && Assert Assert.Throws <RunspaceProviderException>( () => _multiTenantRunspaceProvider.Get(invalidUserId, runspaceId)); }