Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }