public void ConnectControlViewModel_OnServerOnNetworkStateChanged_GivenLocalhostAndIsNotConnecting_ResultServerDisconnected() { //------------Setup for test-------------------------- _serverMock.Setup(server => server.IsConnected).Returns(false); var args = new Mock <INetworkStateChangedEventArgs>(); args.Setup(eventArgs => eventArgs.State).Returns(ConnectionNetworkState.Disconnected); var localhost = new Mock <IServer>(); localhost.Setup(server => server.IsConnected).Returns(false); localhost.Setup(server => server.DisplayName).Returns("localhost (Connected)"); var connectControlViewModel = new ConnectControlViewModel(_serverMock.Object, new EventAggregator()); //------------Execute Test--------------------------- var popupController = new Mock <IPopupController>(); popupController.Setup( controller => controller.Show(It.IsAny <string>(), It.IsAny <string>(), MessageBoxButton.OK, MessageBoxImage.Warning, It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>())); var privateObject = new PrivateObject(connectControlViewModel); privateObject.SetProperty("IsConnecting", false); privateObject.Invoke("OnServerOnNetworkStateChanged", args.Object, _serverMock.Object); //------------Assert Results------------------------- Assert.IsFalse(connectControlViewModel.IsConnected); }
public void TestConnectControlViewModelEventAggregatorNull() { //act var connectControlViewModel = new ConnectControlViewModel(_serverMock.Object, null); Assert.IsNotNull(connectControlViewModel); }
public void TestConnectControlViewModelServerNull() { //act var connectControlViewModel = new ConnectControlViewModel(null, _eventAggregatorMock.Object); Assert.IsNotNull(connectControlViewModel); }
public void TestInitialize() { _serverMock = new Mock <IServer>(); _serverIIMock = new Mock <IServer>(); _eventAggregatorMock = new Mock <IEventAggregator>(); _updateRepositoryMock = new Mock <IStudioUpdateManager>(); _updateRepositoryMock.SetupProperty(manager => manager.ServerSaved); _serverMock.SetupGet(it => it.UpdateRepository).Returns(_updateRepositoryMock.Object); _serverMock.SetupGet(it => it.DisplayName).Returns("some text"); _serverEnvironmentId = Guid.NewGuid(); _serverMock.SetupGet(it => it.EnvironmentID).Returns(_serverEnvironmentId); var mockEnvironmentConnection = SetupMockConnection(); _serverMock.SetupGet(it => it.Connection).Returns(mockEnvironmentConnection.Object); _changedProperties = new List <string>(); var serverRepo = new Mock <IServerRepository>(); serverRepo.Setup(repository => repository.ActiveServer).Returns(_serverMock.Object); serverRepo.Setup(repository => repository.Source).Returns(_serverMock.Object); serverRepo.Setup(repository => repository.All()).Returns(new List <IServer>() { _serverMock.Object }); serverRepo.Setup(repository => repository.Get(It.IsAny <Guid>())).Returns(_serverMock.Object); CustomContainer.Register(serverRepo.Object); _target = new ConnectControlViewModel(_serverMock.Object, _eventAggregatorMock.Object) { ShouldUpdateActiveEnvironment = true }; _target.ShouldUpdateActiveEnvironment = true; _target.PropertyChanged += Target_PropertyChanged; }
public void UpdateRepositoryOnServerSaved_GivenLocalhost_Result() { //------------Setup for test-------------------------- var store = new Mock <IServer>(); store.Setup(server => server.DisplayName).Returns("WarewolfStore"); var intergration = new Mock <IServer>(); intergration.Setup(server => server.DisplayName).Returns("RemoteIntergration"); intergration.Setup(server => server.IsConnected).Returns(true); var intergrationId = Guid.NewGuid(); intergration.Setup(server => server.EnvironmentID).Returns(intergrationId); var servers = new List <IServer> { intergration.Object, store.Object }; var connectControlViewModel = new ConnectControlViewModel(_serverMock.Object, new EventAggregator()); //------------Execute Test--------------------------- var privateObject = new PrivateObject(connectControlViewModel); privateObject.SetProperty("IsConnecting", false); privateObject.Invoke("UpdateRepositoryOnServerSaved", intergrationId, false); //------------Assert Results------------------------- Assert.IsNotNull(connectControlViewModel.SelectedConnection); }
public SearchViewModel(IShellViewModel shellViewModel, IEventAggregator aggregator) : base(shellViewModel, aggregator, false) { _shellViewModel = shellViewModel; PopupController = shellViewModel.PopupProvider; ConnectControlViewModel = new ConnectControlViewModel(shellViewModel.LocalhostServer, aggregator, shellViewModel.ExplorerViewModel.ConnectControlViewModel.Servers); ConnectControlViewModel.ServerConnected += async(sender, server) => { await ServerConnectedAsync(sender, server).ConfigureAwait(false); }; ConnectControlViewModel.ServerDisconnected += ServerDisconnected; ConnectControlViewModel.SelectedEnvironmentChanged += UpdateServerCompareChanged; SelectedEnvironment = _environments.FirstOrDefault(); RefreshCommand = new DelegateCommand(async(o) => await RefreshEnvironment(SelectedEnvironment.ResourceId)); SearchInputCommand = new DelegateCommand((o) => SearchWarewolf()); OpenResourceCommand = new DelegateCommand((searchObject) => { var searchResult = searchObject as ISearchResult; OpenResource(searchResult); }); CanShowResults = true; SearchResults = new ObservableCollection <ISearchResult>(); Search = new Common.Search.Search(); SelectedEnvironment?.Server?.ResourceRepository?.Load(false); IsSearching = false; DisplayName = $"Search"; UpdateHelpDescriptor(Warewolf.Studio.Resources.Languages.HelpText.MenuSearchHelp); }
public void ConnectControlViewModel_LoadServers_GivenSelectedServer_ResultIsSelectedServer() { //------------Setup for test-------------------------- _serverMock.Setup(server => server.IsConnected).Returns(true); var store = new Mock <IServer>(); store.Setup(server => server.DisplayName).Returns("WarewolfStore"); var mockEnvironmentConnection = SetupMockConnection(); var intergration = new Mock <IServer>(); intergration.Setup(server => server.DisplayName).Returns("RemoteIntergration"); var intergrationId = Guid.NewGuid(); intergration.Setup(server => server.EnvironmentID).Returns(intergrationId); intergration.SetupGet(it => it.Connection).Returns(mockEnvironmentConnection.Object); var connectControlViewModel = new ConnectControlViewModel(_serverMock.Object, new EventAggregator()); //------------Execute Test--------------------------- var privateObject = new PrivateObject(connectControlViewModel); privateObject.SetField("_selectedId", intergrationId); connectControlViewModel.LoadServers(); connectControlViewModel.SelectedConnection = intergration.Object; //------------Assert Results------------------------- Assert.AreEqual(intergrationId, connectControlViewModel.SelectedConnection.EnvironmentID); }
public void TestConnectControlViewModelExpectedProperties() { //act var connectControlViewModel = new ConnectControlViewModel(null, _eventAggregatorMock.Object); Assert.IsNotNull(connectControlViewModel); Assert.IsTrue(connectControlViewModel.CanEditServer); Assert.IsTrue(connectControlViewModel.CanCreateServer); }
public void ConnectControlViewModel_TestConnectSuccessful() { //arrange var mockServer = new Mock <IServer>(); var mockShellViewModel = new Mock <IShellViewModel>(); var mockEventAggregator = new Mock <IEventAggregator>(); var mockPopupController = new Mock <IPopupController>(); var mockEnvironmentConnection = new Mock <IEnvironmentConnection>(); var serverEnvironmentId = Guid.NewGuid(); var serverConnectedRaised = false; var rand = new Random(); mockEnvironmentConnection.Setup(o => o.IsConnected).Returns(true); mockEnvironmentConnection.Setup(o => o.AppServerUri).Returns((new Uri($"http://127.0.0.{rand.Next(1, 100)}:{rand.Next(1, 100)}/dsf"))); mockServer.Setup(it => it.ConnectAsync()).ReturnsAsync(true); mockServer.SetupGet(it => it.EnvironmentID).Returns(serverEnvironmentId); mockServer.SetupGet(it => it.DisplayName).Returns("display name"); mockServer.SetupGet(it => it.IsConnected).Returns(true); mockServer.SetupGet(it => it.Connection).Returns(mockEnvironmentConnection.Object); mockServer.SetupGet(o => o.Connection.AppServerUri).Returns((new Uri($"http://127.0.0.{rand.Next(1, 100)}:{rand.Next(1, 100)}/dsf"))); var connectControlViewModel = new ConnectControlViewModel(mockServer.Object, mockEventAggregator.Object) { ShouldUpdateActiveEnvironment = true }; connectControlViewModel.ServerConnected = (sender, e) => { serverConnectedRaised = sender == connectControlViewModel && Equals(e, mockServer.Object); }; CustomContainer.Register(mockShellViewModel.Object); mockPopupController.Setup(it => it.ShowConnectionTimeoutConfirmation("DisplayName")) .Returns <string>( dispName => { mockServer.Setup(it => it.ConnectAsync()).ReturnsAsync(true); return(MessageBoxResult.Yes); }); CustomContainer.Register(mockPopupController.Object); //act connectControlViewModel.SelectedConnection = new Server(serverEnvironmentId, mockEnvironmentConnection.Object); var result = connectControlViewModel.TryConnectAsync(mockServer.Object); //assert Assert.IsTrue(result.Result); Assert.IsTrue(serverConnectedRaised); mockServer.Verify(it => it.ConnectAsync()); mockShellViewModel.Verify(it => it.SetActiveServer(mockServer.Object.EnvironmentID)); }
public void ConnectControlViewModel_ConnectOrDisconnect_GivenServerNull() { //------------Setup for test-------------------------- var connectControlViewModel = new ConnectControlViewModel(_serverMock.Object, new EventAggregator()); connectControlViewModel.SelectedConnection = null; //------------Execute Test--------------------------- var privateObject = new PrivateObject(_target); privateObject.SetField("_selectedConnection", value: null); privateObject.Invoke("ConnectOrDisconnectAsync"); //------------Assert Results------------------------- Assert.IsFalse(_target.IsConnecting); }
public void ConnectControlViewModel_CheckVersionConflict_ThrowsException() { _serverMock.Setup(server1 => server1.IsConnected).Returns(true); _serverMock.Setup(server1 => server1.GetServerVersion()).Throws(new Exception()); var popupController = new Mock <IPopupController>(); popupController.Setup(controller => controller.ShowConnectServerVersionConflict(It.IsAny <string>(), It.IsAny <string>())); var connectControlViewModel = new ConnectControlViewModel(_serverMock.Object, new EventAggregator(), popupController.Object); //------------Execute Test--------------------------- var privateObject = new PrivateObject(connectControlViewModel); privateObject.Invoke("CheckVersionConflictAsync"); //------------Assert Results------------------------- }
public async Task Connect_GivenShowConnectionTimeoutConfirmation_MessageBox_Yes() { //------------Setup for test-------------------------- var popupController = new Mock <IPopupController>(); popupController.SetupSequence(controller => controller.ShowConnectionTimeoutConfirmation(_serverMock.Object.DisplayName)) .Returns(MessageBoxResult.Yes) .Returns(MessageBoxResult.None); var connectControlViewModel = new ConnectControlViewModel(_serverMock.Object, new EventAggregator(), popupController.Object); //------------Execute Test--------------------------- var connect = await connectControlViewModel.TryConnectAsync(_serverMock.Object); //------------Assert Results------------------------- Assert.IsNotNull(connect); }
public void ConnectControlViewModel_CheckVersionConflict_GivenNoVersionConflicts() { //------------Setup for test-------------------------- _serverMock.Setup(server1 => server1.IsConnected).Returns(true); _serverMock.Setup(server1 => server1.GetServerVersion()).Returns("0.0.0.5"); var popupController = new Mock <IPopupController>(); popupController.Setup(controller => controller.ShowConnectServerVersionConflict(It.IsAny <string>(), It.IsAny <string>())); var connectControlViewModel = new ConnectControlViewModel(_serverMock.Object, new EventAggregator(), popupController.Object); //------------Execute Test--------------------------- var privateObject = new PrivateObject(connectControlViewModel); privateObject.Invoke("CheckVersionConflictAsync"); //------------Assert Results------------------------- popupController.Verify(controller => controller.ShowConnectServerVersionConflict(It.IsAny <string>(), It.IsAny <string>()), Times.AtLeastOnce); }
public void TestInitialize() { _serverMock = new Mock <IServer>(); _serverIIMock = new Mock <IServer>(); _eventAggregatorMock = new Mock <IEventAggregator>(); _updateRepositoryMock = new Mock <IStudioUpdateManager>(); _updateRepositoryMock.SetupProperty(manager => manager.ServerSaved); _serverMock.SetupGet(it => it.UpdateRepository).Returns(_updateRepositoryMock.Object); _serverMock.SetupGet(it => it.DisplayName).Returns("some text"); _serverEnvironmentId = Guid.NewGuid(); _serverMock.SetupGet(it => it.EnvironmentID).Returns(_serverEnvironmentId); //_serverMock.Setup(it => it.GetAllServerConnections()).Returns(new List<IServer> {_serverIIMock.Object}); _changedProperties = new List <string>(); _target = new ConnectControlViewModel(_serverMock.Object, _eventAggregatorMock.Object) { ShouldUpdateActiveEnvironment = true }; _target.ShouldUpdateActiveEnvironment = true; _target.PropertyChanged += _target_PropertyChanged; }
public void ConnectControlViewModel_UpdateRepositoryOnServerSaved_GivenEmptyGuid_Result() { //------------Setup for test-------------------------- _serverMock.Setup(server => server.IsConnected).Returns(true); var args = new Mock <INetworkStateChangedEventArgs>(); args.Setup(eventArgs => eventArgs.State).Returns(ConnectionNetworkState.Disconnected); var localhost = new Mock <IServer>(); localhost.Setup(server => server.IsConnected).Returns(false); localhost.Setup(server => server.EnvironmentID).Returns(new Guid()); localhost.Setup(server => server.DisplayName).Returns("localhost (Connected)"); var connectControlViewModel = new ConnectControlViewModel(_serverMock.Object, new EventAggregator()); //------------Execute Test--------------------------- var privateObject = new PrivateObject(connectControlViewModel); privateObject.SetProperty("IsConnecting", false); privateObject.Invoke("UpdateRepositoryOnServerSaved", Guid.Empty, false); //------------Assert Results------------------------- }
public void ConnectControlViewModel_UpdateRepositoryOnServerSaved() { var serverGuid = Guid.NewGuid(); var uri = new Uri("http://bravo.com/"); var serverDisplayName = "johnnyBravoServer"; var mockShellViewModel = new Mock <IShellViewModel>(); var mockExplorerRepository = new Mock <IExplorerRepository>(); var mockEnvironmentConnection = new Mock <IEnvironmentConnection>(); mockEnvironmentConnection.Setup(a => a.AppServerUri).Returns(uri); mockEnvironmentConnection.Setup(a => a.UserName).Returns("johnny"); mockEnvironmentConnection.Setup(a => a.Password).Returns("bravo"); mockEnvironmentConnection.Setup(a => a.WebServerUri).Returns(uri); mockEnvironmentConnection.Setup(a => a.ID).Returns(serverGuid); mockEnvironmentConnection.Setup(a => a.IsConnected).Returns(false); mockEnvironmentConnection.SetupProperty(a => a.DisplayName); mockEnvironmentConnection.Object.DisplayName = serverDisplayName; mockExplorerRepository.Setup( repository => repository.CreateFolder(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid>())); mockExplorerRepository.Setup( repository => repository.Rename(It.IsAny <IExplorerItemViewModel>(), It.IsAny <string>())).Returns(true); var server = new ServerForTesting(mockExplorerRepository); server.EnvironmentID = serverGuid; server.ResourceName = "mr_J_bravo"; server.Connection = mockEnvironmentConnection.Object; mockShellViewModel.Setup(a => a.ActiveServer).Returns(server); mockShellViewModel.Setup(model => model.LocalhostServer).Returns(server); CustomContainer.Register <IServer>(server); CustomContainer.Register(mockShellViewModel.Object); var environmentModel = new Mock <IServer>(); environmentModel.SetupGet(a => a.Connection).Returns(mockEnvironmentConnection.Object); environmentModel.SetupGet(a => a.IsConnected).Returns(true); var e1 = new Server(serverGuid, mockEnvironmentConnection.Object); var repo = new TestServerRespository(environmentModel.Object, e1) { ActiveServer = e1 }; var environmentRepository = new ServerRepository(repo); Assert.IsNotNull(environmentRepository); var passed = false; mockShellViewModel.Setup(a => a.OpenResource(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <IServer>())) .Callback((Guid id1, Guid id2, IServer a) => { passed = a.EnvironmentID == serverGuid; }); //------------Setup for test-------------------------- var connectControlViewModel = new ConnectControlViewModel(server, new EventAggregator()); var privateObject = new PrivateObject(connectControlViewModel); privateObject.SetProperty("IsConnecting", false); privateObject.Invoke("UpdateRepositoryOnServerSaved", serverGuid, false); //------------Execute Test--------------------------- //------------Assert Results------------------------- Assert.AreEqual("johnnyBravoServer", mockEnvironmentConnection.Object.DisplayName); }
public void UpdateActiveEnvironment(IEnvironmentModel environmentModel, bool isSetFromConnectControl) { ConnectControlViewModel.UpdateActiveEnvironment(environmentModel, isSetFromConnectControl); }
public void ConnectControlViewModelEditServerServerIDMatchIsTrue() { var serverGuid = Guid.NewGuid(); Uri uri = new Uri("http://bravo.com/"); var mockShellViewModel = new Mock <IShellViewModel>(); var mockExplorerRepository = new Mock <IExplorerRepository>(); var mockEnvironmentConnection = new Mock <IEnvironmentConnection>(); mockEnvironmentConnection.Setup(a => a.AppServerUri).Returns(uri); mockEnvironmentConnection.Setup(a => a.UserName).Returns("johnny"); mockEnvironmentConnection.Setup(a => a.Password).Returns("bravo"); mockEnvironmentConnection.Setup(a => a.WebServerUri).Returns(uri); mockEnvironmentConnection.Setup(a => a.ID).Returns(serverGuid); mockExplorerRepository.Setup( repository => repository.CreateFolder(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid>())); mockExplorerRepository.Setup( repository => repository.Rename(It.IsAny <IExplorerItemViewModel>(), It.IsAny <string>())).Returns(true); var server = new ServerForTesting(mockExplorerRepository); var server2 = new Server(serverGuid, mockEnvironmentConnection.Object); server.EnvironmentID = serverGuid; server.ResourceName = "mr_J_bravo"; server.Connection = mockEnvironmentConnection.Object; mockShellViewModel.Setup(a => a.ActiveServer).Returns(server); mockShellViewModel.Setup(model => model.LocalhostServer).Returns(server); CustomContainer.Register <IServer>(server); CustomContainer.Register(mockShellViewModel.Object); var environmentModel = new Mock <IServer>(); environmentModel.SetupGet(a => a.Connection).Returns(mockEnvironmentConnection.Object); environmentModel.SetupGet(a => a.IsConnected).Returns(true); var e1 = new Server(serverGuid, mockEnvironmentConnection.Object); var repo = new TestServerRespository(environmentModel.Object, e1) { ActiveServer = e1 }; var environmentRepository = new ServerRepository(repo); Assert.IsNotNull(environmentRepository); bool passed = false; mockShellViewModel.Setup(a => a.OpenResource(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <IServer>())) .Callback((Guid id1, Guid id2, IServer a) => { passed = a.EnvironmentID == serverGuid; }); //------------Setup for test-------------------------- var connectControlViewModel = new ConnectControlViewModel(server, new EventAggregator()); PrivateObject p = new PrivateObject(connectControlViewModel); p.SetField("_selectedConnection", server2); //------------Execute Test--------------------------- connectControlViewModel.Edit(); //------------Assert Results------------------------- Assert.IsTrue(passed); }