public CloudProject getSelectedCloudProject() { return projectSelector.getSelectedProject(); }
CloudProject getCloudProject() { return projectSelector.getSelectedProject(); }
@Nullable public String getGcpUserName() { return Optional.ofNullable(projectSelector.getSelectedProject()) .map(CloudProject::googleUsername) .orElse(null); }
private void updateManagementUI() { TableModel model = cloudLibrariesTable.getModel(); boolean addLibrary = cloudLibrariesTable.getSelectedRow() != -1 && (boolean) model.getValueAt(cloudLibrariesTable.getSelectedRow(), CLOUD_LIBRARY_SELECT_COL); detailsPanel.setManagementUIEnabled(addLibrary && projectSelector.getSelectedProject() != null); }
/** * Sets the project / version to allow the deployment line items to be decorated with additional * identifying data. See {@link AppEngineRuntimeInstance#getDeploymentName}. */ public void setDeploymentProjectAndVersion(DeploymentSource deploymentSource) { if (deploymentSource instanceof AppEngineDeployable) { ((AppEngineDeployable) deploymentSource) .setProjectName( Optional.ofNullable(projectSelector.getSelectedProject()) .map(CloudProject::projectId) .orElse("")); ((AppEngineDeployable) deploymentSource) .setVersion( Strings.isNullOrEmpty(versionIdField.getText()) ? "auto" : versionIdField.getText()); } }
@Override protected void doOKAction() { CloudProject selectedProject = projectSelector.getSelectedProject(); projectId = selectedProject.projectId(); repositoryId = repositorySelector.getText(); remoteName = remoteNameSelector.getText(); credentialedUser = Services.getLoginService().getLoggedInUser(selectedProject.googleUsername()).orElse(null); super.doOKAction(); } }
@Test public void projectChange_returnValidValue() { when(projectSelectionDialog.showDialog(any())).thenReturn(TEST_PROJECT); projectSelector.handleOpenProjectSelectionDialog(); assertThat(projectSelector.getSelectedProject()).isEqualTo(TEST_PROJECT); }
@Test public void projectSelector_startsEmpty() { assertThat(projectSelector.getSelectedProject()).isNull(); verifyUiStateForProject(null); }
@Test public void applyEditorTo_withUser_doesSetGoogleUsername() { when(credentialedUser.getEmail()).thenReturn(EMAIL); CloudProject project = CloudProject.create("some-project", "some-project", EMAIL); when(projectSelector.getSelectedProject()).thenReturn(project); editor.applyEditorTo(configuration); assertThat(configuration.getGoogleUsername()).isEqualTo(EMAIL); }
@Test public void applyEditorTo_withUser_doesSetGoogleUsername() throws Exception { when(credentialedUser.getEmail()).thenReturn(EMAIL); String projectId = "some-project"; CloudProject project = CloudProject.create(projectId, projectId, EMAIL); when(projectSelector.getSelectedProject()).thenReturn(project); editor.applyEditorTo(configuration); assertThat(configuration.getGoogleUsername()).isEqualTo(EMAIL); }
@Test public void applyEditorTo_doesSetCloudProjectName() throws Exception { String projectId = "some-project"; CloudProject project = CloudProject.create(projectId, projectId, EMAIL); when(projectSelector.getSelectedProject()).thenReturn(project); editor.applyEditorTo(configuration); assertThat(configuration.getCloudProjectName()).isEqualTo(projectId); }
@Test public void projectSelector_validProjectSelected_infoPanelShowsProjectDetails() { String projectId = "projectId"; String googleUsername = "some-user-id"; CloudProject project = CloudProject.create(projectId, projectId, googleUsername); when(credentialedUser.getCredential()).thenReturn(credential); when(mockGoogleLoginService.getLoggedInUser(googleUsername)) .thenReturn(Optional.of(credentialedUser)); when(projectSelector.getSelectedProject()).thenReturn(project); deploymentConfiguration.setCloudProjectName(projectId); deploymentConfiguration.setGoogleUsername(googleUsername); configurationPanel.resetEditorFrom(deploymentConfiguration); verify(infoPanel).refresh(projectId, credential); } }
@Test public void loadActiveProject_setsValidProject_withValidIdeProject() { projectSelector.setIdeProject(mockIdeProject); when(mockActiveCloudProjectManager.getActiveCloudProject(mockIdeProject)) .thenReturn(TEST_PROJECT); projectSelector.loadActiveCloudProject(); assertThat(projectSelector.getSelectedProject()).isEqualTo(TEST_PROJECT); verifyUiStateForProject(TEST_PROJECT); }
@Test public void applyEditorTo_doesSetCloudProjectName() { CloudProject project = CloudProject.create("some-project", "some-project", EMAIL); when(projectSelector.getSelectedProject()).thenReturn(project); editor.applyEditorTo(configuration); assertThat(configuration.getCloudProjectName()).isEqualTo(project.projectId()); }
@Test public void loadActiveProject_withoutIdeProject_doesNothing() { projectSelector.loadActiveCloudProject(); assertThat(projectSelector.getSelectedProject()).isNull(); verifyUiStateForProject(null); }
@Test public void projectSelector_invalidProjectSelected_infoPanelShowsError() { CloudProject project = CloudProject.create("projectId", "projectId", "some-user-id"); when(projectSelector.getSelectedProject()).thenReturn(project); deploymentConfiguration.setCloudProjectName("projectName"); deploymentConfiguration.setGoogleUsername("some-user-id"); configurationPanel.resetEditorFrom(deploymentConfiguration); verify(infoPanel) .setMessage( AppEngineMessageBundle.getString("appengine.infopanel.no.region"), true /* isError*/); }
@Test public void loadActiveProject_withoutIdeProject_doesNotChangeSelection() { projectSelector.setSelectedProject(TEST_PROJECT); projectSelector.loadActiveCloudProject(); assertThat(projectSelector.getSelectedProject()).isEqualTo(TEST_PROJECT); verifyUiStateForProject(TEST_PROJECT); }
@Test public void testNotificationLabel_emptyProjectSelection() { when(projectSelector.getSelectedProject()).thenReturn(null); bucketPanel.refresh(); assertTrue(bucketPanel.getNotificationPanel().isVisible()); assertFalse(bucketPanel.getBucketListPanel().isVisible()); assertThat(bucketPanel.getNotificationLabel().getText()) .isEqualTo("To view your buckets select a Cloud Project."); }
@Test public void resetEditorFrom_withDefaultConfiguration_doesSetDefaults() { editor.resetEditorFrom(configuration); assertThat(editor.getCommonConfig().getVersionIdField().getText()).isEmpty(); assertThat(editor.getCommonConfig().getPromoteCheckbox().isSelected()).isFalse(); assertThat(editor.getCommonConfig().getProjectSelector().getSelectedProject()).isNull(); assertThat(editor.getCommonConfig().getStopPreviousVersionCheckbox().isSelected()).isFalse(); assertThat(editor.getCommonConfig().getDeployAllConfigsCheckbox().isSelected()).isFalse(); assertThat(editor.getCommonConfig().getEnvironmentLabel().getText()).isEmpty(); }
@Test public void testNotificationLabel_nonExistentProject() { CloudProject nonExistingProject = CloudProject.create("non-existent-project", "non-existent-project", "non-existing-user"); when(projectSelector.getSelectedProject()).thenReturn(nonExistingProject); bucketPanel.refresh(); assertTrue(bucketPanel.getNotificationPanel().isVisible()); assertFalse(bucketPanel.getBucketListPanel().isVisible()); assertThat(bucketPanel.getNotificationLabel().getText()) .isEqualTo("Could not load buckets for selected project."); } }