Beispiel #1
0
        public async Task LoadChildren_CollapsesTreeViewItem_WhenOrgsRequestFails()
        {
            var expandedViewModel = new CfInstanceViewModel(FakeCfInstance, null, Services)
            {
                IsExpanded = true,
            };

            expandedViewModel.PropertyChanged += (sender, e) =>
            {
                _receivedEvents.Add(e.PropertyName);
            };

            var fakeFailedResult = new DetailedResult <List <CloudFoundryOrganization> >(
                succeeded: false,
                content: null,
                explanation: "junk",
                cmdDetails: FakeFailureCmdResult);

            MockCloudFoundryService.Setup(mock => mock.
                                          GetOrgsForCfInstanceAsync(expandedViewModel.CloudFoundryInstance, true, 1))
            .ReturnsAsync(fakeFailedResult);

            Assert.IsTrue(expandedViewModel.IsExpanded);

            await expandedViewModel.LoadChildren();

            Assert.IsFalse(expandedViewModel.IsLoading);
            Assert.IsFalse(expandedViewModel.IsExpanded);
            Assert.IsTrue(_receivedEvents.Contains("IsExpanded"));

            MockErrorDialogService.Verify(mock => mock.
                                          DisplayErrorDialog(CfInstanceViewModel._getOrgsFailureMsg, fakeFailedResult.Explanation),
                                          Times.Once);
        }
        public async Task DeleteApp_LogsError_DisplaysError_ClearsCfAppValue_AndClosesDialog_WhenDeleteAppAsyncFails(bool deleteRoutes)
        {
            MockCloudFoundryService.Setup(m => m.DeleteAppAsync(_fakeCfApp, true, deleteRoutes, 1)).ReturnsAsync(FakeFailureDetailedResult);

            Assert.AreEqual(_fakeCfApp, _sut.CfApp);
            _sut.DeleteRoutes = deleteRoutes;

            await _sut.DeleteApp(_fakeConfirmationWindow);

            Assert.IsNull(_sut.CfApp);
            MockDialogService.Verify(ds => ds.CloseDialog(_fakeConfirmationWindow, true), Times.Once);
            MockLogger.Verify(m => m.Error(It.Is <string>(s => s.Contains(AppDeletionConfirmationViewModel._deleteAppErrorMsg)), It.Is <string>(s => s == _fakeCfApp.AppName), It.Is <string>(s => s == FakeFailureDetailedResult.ToString())), Times.Once);
            MockErrorDialogService.Verify(m => m.DisplayErrorDialog(It.Is <string>(s => s.Contains(AppDeletionConfirmationViewModel._deleteAppErrorMsg) && s.Contains(_fakeCfApp.AppName)), It.Is <string>(s => s.Contains(FakeFailureDetailedResult.Explanation))), Times.Once);
        }
        public async Task DeleteApp_LogsError_DisplaysError_ClearsCfAppValue_AndClosesDialog_WhenDeleteAppAsyncThrowsException(bool deleteRoutes)
        {
            var fakeExceptionMsg = "something went wrong in DeleteAppAsync ;)";

            MockCloudFoundryService.Setup(m => m.DeleteAppAsync(_fakeCfApp, true, deleteRoutes, 1)).Throws(new Exception(fakeExceptionMsg));

            Assert.AreEqual(_fakeCfApp, _sut.CfApp);
            _sut.DeleteRoutes = deleteRoutes;

            await _sut.DeleteApp(_fakeConfirmationWindow);

            Assert.IsNull(_sut.CfApp);
            MockDialogService.Verify(ds => ds.CloseDialog(_fakeConfirmationWindow, true), Times.Once);
            MockLogger.Verify(m => m.Error(It.Is <string>(s => s.Contains(AppDeletionConfirmationViewModel._deleteAppErrorMsg)), It.Is <string>(s => s == _fakeCfApp.AppName), It.Is <string>(s => s == fakeExceptionMsg)), Times.Once);
            MockErrorDialogService.Verify(m => m.DisplayErrorDialog(It.Is <string>(title => title.Contains(AppDeletionConfirmationViewModel._deleteAppErrorMsg) && title.Contains(_fakeCfApp.AppName)), It.Is <string>(msg => msg.Contains("Something unexpected happened") && msg.Contains(_fakeCfApp.AppName))), Times.Once);
        }
Beispiel #4
0
        public async Task FetchChildren_DisplaysErrorDialog_WhenOrgsRequestFails()
        {
            var fakeFailedResult = new DetailedResult <List <CloudFoundryOrganization> >(
                succeeded: false,
                content: null,
                explanation: "junk",
                cmdDetails: FakeFailureCmdResult);

            MockCloudFoundryService.Setup(mock => mock.
                                          GetOrgsForCfInstanceAsync(_sut.CloudFoundryInstance, true, It.IsAny <int>()))
            .ReturnsAsync(fakeFailedResult);

            var result = await _sut.FetchChildren();

            CollectionAssert.AreEqual(EmptyListOfOrgs, result);

            MockErrorDialogService.Verify(mock => mock.
                                          DisplayErrorDialog(CfInstanceViewModel._getOrgsFailureMsg, fakeFailedResult.Explanation),
                                          Times.Once);
        }
Beispiel #5
0
        public async Task LoadChildren_DisplaysErrorDialog_WhenSpacesRequestFails()
        {
            var fakeFailedResult = new DetailedResult <List <CloudFoundrySpace> >(
                succeeded: false,
                content: null,
                explanation: "junk",
                cmdDetails: FakeFailureCmdResult);

            MockCloudFoundryService.Setup(mock => mock.
                                          GetSpacesForOrgAsync(_sut.Org, true, It.IsAny <int>()))
            .ReturnsAsync(fakeFailedResult);

            await _sut.LoadChildren();

            Assert.IsFalse(_sut.IsLoading);

            MockErrorDialogService.Verify(mock => mock.
                                          DisplayErrorDialog(OrgViewModel._getSpacesFailureMsg, fakeFailedResult.Explanation),
                                          Times.Once);
        }
Beispiel #6
0
        public async Task FetchChildren_SetsAuthenticationRequiredToTrue_WhenOrgsRequestFailsBecauseOfInvalidRefreshToken()
        {
            _sut = new CfInstanceViewModel(FakeCfInstance, _fakeTasExplorerViewModel, Services, expanded: true);

            var fakeFailedResult =
                new DetailedResult <List <CloudFoundryOrganization> >(succeeded: false, content: null, explanation: "junk", cmdDetails: FakeFailureCmdResult)
            {
                FailureType = FailureType.InvalidRefreshToken,
            };

            MockCloudFoundryService.Setup(mock => mock.
                                          GetOrgsForCfInstanceAsync(_sut.CloudFoundryInstance, true, It.IsAny <int>()))
            .ReturnsAsync(fakeFailedResult);

            Assert.IsFalse(_sut.ParentTasExplorer.AuthenticationRequired);

            var result = await _sut.FetchChildren();

            Assert.IsTrue(_sut.ParentTasExplorer.AuthenticationRequired);

            MockErrorDialogService.Verify(mock => mock.
                                          DisplayErrorDialog(It.IsAny <string>(), It.IsAny <string>()),
                                          Times.Never);
        }