public void KillWebConsole(string userId, string webConsoleId) { _logger.LogInformation($"Kill web console {webConsoleId}"); try { Sessions.Instance.EnsureValidUser(userId); if (_userWebConsoles.Contains(userId, webConsoleId)) { _userWebConsoles.RemoveData(userId, webConsoleId); } _runspacesStatsMonitor.Unregister(webConsoleId); _runspaceProvider.KillWebConsole(webConsoleId); if (_userWebConsoles.List(userId) == null) { _userWebConsoles.RemoveUser(userId); } } catch (Exception ex) { throw new RunspaceProviderException( string.Format( APIGatewayResources.MultiTenantRunspaceProvider_KillFailed, userId, ex.Message), ex); } }
public void RemoveRunspaceWhenNoUser() { // Arrange const string UserID1 = "user-id1"; const string UserID2 = "user-id2"; const string RunspaceID1 = "runspace-id1"; const string RunspaceID2 = "runspace-id2"; var userRunspaces = new UserToIdentifiableData <string>(); userRunspaces.Add(UserID1, RunspaceID1, RunspaceID1); userRunspaces.Add(UserID1, RunspaceID2, RunspaceID2); // Act && Assert Assert.DoesNotThrow(() => userRunspaces.RemoveData(UserID2, RunspaceID2)); Assert.IsTrue(userRunspaces.Contains(UserID1)); Assert.IsTrue(userRunspaces.Contains(UserID1, RunspaceID1)); Assert.IsTrue(userRunspaces.Contains(UserID1, RunspaceID2)); }
public void AddContains() { // Arrange const string UserID1 = "user-id1"; const string UserID2 = "user-id2"; const string RunspaceID1 = "runspace-id1"; const string RunspaceID2 = "runspace-id2"; const string RunspaceID3 = "runspace-id3"; var userRunspaces = new UserToIdentifiableData <string>(); // Act userRunspaces.Add(UserID1, RunspaceID1, RunspaceID1); userRunspaces.Add(UserID1, RunspaceID2, RunspaceID2); userRunspaces.Add(UserID2, RunspaceID3, RunspaceID3); // Assert Assert.IsTrue(userRunspaces.Contains(UserID1, RunspaceID1)); Assert.IsTrue(userRunspaces.Contains(UserID1, RunspaceID2)); Assert.IsTrue(userRunspaces.Contains(UserID2, RunspaceID3)); }
public IRunspaceData Get(string userId, string runspaceId) { _logger.LogInformation($"Get runspace with id: {runspaceId}"); IRunspaceData result = null; try { Sessions.Instance.EnsureValidUser(userId); if (!_userRunspaces.Contains(userId)) { throw new RunspaceProviderException( string.Format(APIGatewayResources.MultiTenantRunspaceProvider_UserHasNoRunspaces, userId)); } if (!_userRunspaces.Contains(userId, runspaceId)) { throw new RunspaceProviderException( string.Format(APIGatewayResources.MultiTenantRunspaceProvider_UserHasNoRunspaceWithId, userId, runspaceId)); } var runspaceInfo = _runspaceProvider.Get(runspaceId); var runspaceData = _userRunspaces.GetData(userId, runspaceId); if (runspaceInfo == null && runspaceData != null) { _userRunspaces.RemoveData(userId, runspaceId); } else { result = runspaceData; } } catch (Exception ex) { throw new RunspaceProviderException( string.Format( APIGatewayResources.MultiTenantRunspaceProvider_GetFailed, userId, ex.Message), ex); } return(result); }
public void RemoveRunspace() { // Arrange const string UserID = "user-id"; const string RunspaceID1 = "runspace-id1"; const string RunspaceID2 = "runspace-id2"; var userRunspaces = new UserToIdentifiableData <string>(); userRunspaces.Add(UserID, RunspaceID1, RunspaceID1); userRunspaces.Add(UserID, RunspaceID2, RunspaceID2); // Act userRunspaces.RemoveData(UserID, RunspaceID1); // Assert var listResult = userRunspaces.List(UserID); Assert.NotNull(listResult); Assert.AreEqual(1, listResult.Length); Assert.IsFalse(listResult.Contains(RunspaceID1)); Assert.IsTrue(listResult.Contains(RunspaceID2)); Assert.IsTrue(userRunspaces.Contains(UserID, RunspaceID2)); Assert.IsFalse(userRunspaces.Contains(UserID, RunspaceID1)); }
public void RemoveUser() { // Arrange const string UserID1 = "user-id1"; const string UserID2 = "user-id2"; const string RunspaceID1 = "runspace-id1"; const string RunspaceID2 = "runspace-id2"; var userRunspaces = new UserToIdentifiableData <string>(); userRunspaces.Add(UserID1, RunspaceID1, RunspaceID1); userRunspaces.Add(UserID2, RunspaceID2, RunspaceID2); // Act userRunspaces.RemoveUser(UserID2); // Assert Assert.IsFalse(userRunspaces.Contains(UserID2)); }
public void ContainsWhenNoUser() { // Arrange const string UserID1 = "user-id1"; const string UserID2 = "user-id2"; const string RunspaceID1 = "runspace-id1"; const string RunspaceID2 = "runspace-id2"; var userRunspaces = new UserToIdentifiableData <string>(); userRunspaces.Add(UserID1, RunspaceID1, RunspaceID1); userRunspaces.Add(UserID1, RunspaceID2, RunspaceID2); // Act var containsResult = userRunspaces.Contains(UserID2); // Assert Assert.IsFalse(containsResult); }