@Test public void validProject_no_LoggedInUsers_showLoginPrompt() { when(mockLoginService.isLoggedIn()).thenReturn(false); projectSelector.setSelectedProject(TEST_PROJECT); assertThat(projectSelector.getAccountInfoLabel().getHyperlinkText()) .isEqualTo( GoogleCloudCoreMessageBundle.message( "cloud.project.selector.not.signed.in", TEST_PROJECT.googleUsername())); assertThat(projectSelector.getAccountInfoLabel().getIcon()).isNull(); }
@Test public void validProject_logOut_changesTo_loginPrompt() { projectSelector.setSelectedProject(TEST_PROJECT); // log out all users, notify login listeners. when(mockLoginService.isLoggedIn()).thenReturn(false); projectSelector.googleLoginListener.statusChanged(); // drain UI events. ApplicationManager.getApplication().invokeAndWait(() -> {}); assertThat(projectSelector.getAccountInfoLabel().getHyperlinkText()) .isEqualTo( GoogleCloudCoreMessageBundle.message( "cloud.project.selector.not.signed.in", TEST_PROJECT.googleUsername())); assertThat(projectSelector.getAccountInfoLabel().getIcon()).isNull(); }
private void verifyUiStateForProject(CloudProject project) { if (project == null) { assertThat(projectSelector.getProjectNameLabel().getHyperlinkText()) .isEqualTo( GoogleCloudCoreMessageBundle.getString("cloud.project.selector.no.selected.project")); // no account information UI is visible/populated. assertThat(projectSelector.getProjectAccountSeparatorLabel().isVisible()).isFalse(); assertThat(projectSelector.getAccountInfoLabel().getHyperlinkText()).isEmpty(); assertThat(projectSelector.getAccountInfoLabel().getIcon()).isNull(); } else { assertThat(projectSelector.getProjectNameLabel().getHyperlinkText()) .isEqualTo(project.projectName()); assertThat(projectSelector.getProjectAccountSeparatorLabel().isVisible()).isTrue(); assertThat(projectSelector.getAccountInfoLabel().getHyperlinkText()) .contains(project.googleUsername()); assertThat(projectSelector.getAccountInfoLabel().getIcon()).isNotNull(); } }