@Override protected void resetEditorFrom(@NotNull CloudDebugRunConfiguration runConfiguration) { String projectId = runConfiguration.getCloudProjectId(); // google username may be empty from previous revisions of configurations, should not be null. String googleUsername = Optional.ofNullable(runConfiguration.getGoogleUsername()).orElse(""); if (!Strings.isNullOrEmpty(projectId)) { settingsPanel.setSelectedCloudProject( CloudProject.create( // TODO(ivanporty) no project name in CloudDebugRunConfiguration. projectId /* as name */, projectId, null /* project number */, googleUsername)); } else { settingsPanel.loadActiveCloudProject(); } } }
@VisibleForTesting CloudProject getSelectedProject() { CredentialedUser user = accountComboBox.getItemAt(accountComboBox.getSelectedIndex()); return CloudProject.create( getSelectedProjectName(), getSelectedProjectId(), getSelectedProjectNumber(), user.getEmail()); }
private void selectInProgressProject() { String projectName = "unknownProject"; projectSelector.setSelectedProject( CloudProject.create(projectName, projectName, null, "some-user-id")); }
@SuppressWarnings("unchecked") private void selectEmptyProject() { String projectName = "emptyProject"; projectSelector.setSelectedProject( CloudProject.create(projectName, projectName, null, "some-user-id")); targetSelector.removeAllItems(); targetSelector.setEnabled(false); targetSelector.addItem(NO_MODULES_FOUND_WARNING); }
private RepositorySelector createInitializedSelector() { String mockUserId = "mockUser"; CredentialedUser mockUser = mock(CredentialedUser.class); when(googleLoginService.getLoggedInUser(mockUserId)).thenReturn(Optional.of(mockUser)); return new RepositorySelector( CloudProject.create("my-project", "my-project", mockUserId), false /*canCreateRepository*/); } }
@SuppressWarnings("unchecked") private void selectProjectWithDebuggableModules() { String projectName = "projectWithDebuggableModules"; projectSelector.setSelectedProject( CloudProject.create(projectName, projectName, null, "some-user-id")); targetSelector.removeAllItems(); targetSelector.setEnabled(true); DebugTarget debugTarget = new DebugTarget(new Debuggee(), projectName); targetSelector.addItem(debugTarget); }
@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_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_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 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 setEmptyProject_acceptsAndUpdatesUi() { projectSelector.setSelectedProject(CloudProject.create("", "", "")); verifyUiStateForProject(null); }
@Test public void emptyCloudProject_activeUser_noUiSelection() { prepareOneTestUserOneTestProjectDialog(CloudProject.create("", "", "")); assertThat(projectSelectionDialog.getAccountComboBox().getSelectedItem()) .isEqualTo(mockTestUser); assertThat(projectSelectionDialog.getProjectListTableModel().getRowCount()).isEqualTo(1); assertThat(projectSelectionDialog.getProjectListTable().getSelectedRow()).isEqualTo(-1); }
@Before public void setUp() { projectSelectionDialog.setProjectLoader(mockProjectLoader); projectSelectionDialog.setDialogWrapper(dialogWrapper); doReturn(mockDialogButton).when(projectSelectionDialog).getDialogButton(any()); doNothing().when(projectSelectionDialog).installTableSpeedSearch(any()); doNothing().when(projectSelectionDialog).setLoading(anyBoolean()); projectSelectionDialog.loadAllProjects(); testUiProject = CloudProject.create(TEST_PROJECT_NAME, TEST_PROJECT_ID, TEST_USER_EMAIL); testGoogleProject = new Project(); testGoogleProject.setName(TEST_PROJECT_NAME); testGoogleProject.setProjectId(TEST_PROJECT_NAME + "-id"); when(mockTestUser.getEmail()).thenReturn(TEST_USER_EMAIL); }
@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 resetEditorFrom_doesSet_matchingCloudProject() { String projectId = "some-project"; configuration.setCloudProjectName(projectId); configuration.setGoogleUsername(EMAIL); editor.resetEditorFrom(configuration); CloudProject expectedProject = CloudProject.create(projectId, projectId, EMAIL); verify(projectSelector).setSelectedProject(expectedProject); } }
@Test public void resetEditorFrom_withCloudProjectName_doesSetCloudProjectName() { String projectName = "some-project"; configuration.setCloudProjectName(projectName); configuration.setGoogleUsername(EMAIL); editor.resetEditorFrom(configuration); CloudProject expectedProject = CloudProject.create(projectName, projectName, EMAIL); verify(projectSelector).setSelectedProject(expectedProject); }
@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."); } }
@Test public void getManagementUI_withLibraryAndProjectSelected_isEnabled() { CloudLibrary library = LIBRARY_1.toCloudLibrary(); GoogleCloudApiSelectorPanel panel = new GoogleCloudApiSelectorPanel(ImmutableList.of(library), testFixture.getProject()); JTable table = panel.getCloudLibrariesTable(); checkAddLibraryCheckbox(table, 0); panel.getDetailsPanel().setCloudLibrary(library, panel.getApiManagementMap().get(library)); CloudProject cloudProject = CloudProject.create("name", "id", "user"); ProjectSelector projectSelector = panel.getProjectSelector(); projectSelector.setSelectedProject(cloudProject); projectSelector .getProjectSelectionListeners() .forEach(listener -> listener.projectSelected(cloudProject)); assertThat(panel.getDetailsPanel().getEnableApiCheckbox().isEnabled()).isTrue(); assertThat(panel.getDetailsPanel().getManagementInfoPanel().isVisible()).isFalse(); }
@Test public void getCloudProject_returns_selectedProject() { prepareOneTestUserOneTestProjectDialog(testUiProject); Project secondProject = new Project(); secondProject.setName("project-2"); secondProject.setProjectId("project-2-id"); mockUserProjects(mockTestUser, Arrays.asList(testGoogleProject, secondProject)); cleanLoadUsersAndProjects(); projectSelectionDialog.showProjectInList(secondProject.getName()); CloudProject selectedProject = projectSelectionDialog.getSelectedProject(); CloudProject expected = CloudProject.create( secondProject.getName(), secondProject.getProjectId(), mockTestUser.getEmail()); assertThat(selectedProject).isEqualTo(expected); }