Search in sources :

Example 6 with CloudLibrary

use of com.google.cloud.tools.libraries.json.CloudLibrary in project google-cloud-intellij by GoogleCloudPlatform.

the class CloudLibraryProjectStateTest method getCloudLibraries_withOnlyCloudDependencies_returnsValidCloudLibrary.

@Test
public void getCloudLibraries_withOnlyCloudDependencies_returnsValidCloudLibrary() {
    when(librariesService.getCloudLibraries()).thenReturn(ImmutableList.of(LIBRARY.toCloudLibrary()));
    ApplicationManager.getApplication().invokeAndWait(() -> {
        try {
            Module module = MavenTestUtils.getInstance().createNewMavenModule(moduleBuilder, testFixture.getProject());
            TestCloudLibraryClientMavenCoordinates mavenCoordinates = LIBRARY.clients().get(0).mavenCoordinates();
            String groupId = mavenCoordinates.groupId();
            String artifactId = mavenCoordinates.artifactId();
            MavenId managedDependency = new MavenId(groupId, artifactId, "1.0");
            writeDependenciesToPom(module, ImmutableList.of(managedDependency));
            state.syncManagedProjectLibraries();
            Set<CloudLibrary> libraries = state.getCloudLibraries(module);
            assertThat_cloudLibrariesContainsExactlyOne(libraries);
        } finally {
            MavenServerManager.getInstance().shutdown(true);
        }
    });
}
Also used : TestCloudLibraryClientMavenCoordinates(com.google.cloud.tools.intellij.testing.apis.TestCloudLibrary.TestCloudLibraryClientMavenCoordinates) MavenId(org.jetbrains.idea.maven.model.MavenId) TestCloudLibrary(com.google.cloud.tools.intellij.testing.apis.TestCloudLibrary) CloudLibrary(com.google.cloud.tools.libraries.json.CloudLibrary) Module(com.intellij.openapi.module.Module) Test(org.junit.Test)

Example 7 with CloudLibrary

use of com.google.cloud.tools.libraries.json.CloudLibrary in project google-cloud-intellij by GoogleCloudPlatform.

the class GoogleCloudApiSelectorPanelTest method getApisToEnable_withAllLibrariesChecked_AndNoShouldEnableChecked_returnsNoneEnabled.

@Test
public void getApisToEnable_withAllLibrariesChecked_AndNoShouldEnableChecked_returnsNoneEnabled() {
    CloudLibrary library1 = LIBRARY_1.toCloudLibrary();
    CloudLibrary library2 = LIBRARY_2.toCloudLibrary();
    GoogleCloudApiSelectorPanel panel = new GoogleCloudApiSelectorPanel(ImmutableList.of(library1, library2), testFixture.getProject());
    JTable table = panel.getCloudLibrariesTable();
    checkAddLibraryCheckbox(table, 0);
    checkAddLibraryCheckbox(table, 1);
    Map<CloudLibrary, CloudApiManagementSpec> apiManagementMap = panel.getApiManagementMap();
    panel.getDetailsPanel().setCloudLibrary(library1, BOM_VERSION, apiManagementMap.get(library1));
    checkEnableCheckbox(panel.getDetailsPanel().getEnableApiCheckbox(), false);
    panel.getDetailsPanel().setCloudLibrary(library2, BOM_VERSION, apiManagementMap.get(library2));
    checkEnableCheckbox(panel.getDetailsPanel().getEnableApiCheckbox(), false);
    assertThat(panel.getApisToEnable()).isEmpty();
}
Also used : JTable(javax.swing.JTable) TestCloudLibrary(com.google.cloud.tools.intellij.testing.apis.TestCloudLibrary) CloudLibrary(com.google.cloud.tools.libraries.json.CloudLibrary) Test(org.junit.Test)

Example 8 with CloudLibrary

use of com.google.cloud.tools.libraries.json.CloudLibrary in project google-cloud-intellij by GoogleCloudPlatform.

the class GoogleCloudApiSelectorPanelTest method getPanel_withMultipleLibraries_multipleSelected_hasCheckboxesAndPopulatedDetails.

@Test
public void getPanel_withMultipleLibraries_multipleSelected_hasCheckboxesAndPopulatedDetails() {
    CloudLibrary library1 = LIBRARY_1.toCloudLibrary();
    CloudLibrary library2 = LIBRARY_2.toCloudLibrary();
    // The given list should be reordered by the name's natural order, placing library1 first.
    GoogleCloudApiSelectorPanel panel = new GoogleCloudApiSelectorPanel(ImmutableList.of(library2, library1), testFixture.getProject());
    JTable table = panel.getCloudLibrariesTable();
    checkAddLibraryCheckbox(table, 1);
    checkAddLibraryCheckbox(table, 0);
    assertThat(table.getSelectionModel().isSelectedIndex(0)).isTrue();
    assertThat(table.getSelectionModel().isSelectedIndex(1)).isFalse();
    TableModel model = table.getModel();
    assertThat(model.getRowCount()).isEqualTo(2);
    assertThat(model.getValueAt(0, 0)).isEqualTo(library1);
    assertThat(model.getValueAt(1, 0)).isEqualTo(library2);
    assertThat((Boolean) model.getValueAt(0, 1)).isTrue();
    assertThat((Boolean) model.getValueAt(1, 1)).isTrue();
    assertDetailsShownForLibrary(panel.getDetailsPanel(), LIBRARY_1, JAVA_CLIENT_1);
}
Also used : JTable(javax.swing.JTable) TestCloudLibrary(com.google.cloud.tools.intellij.testing.apis.TestCloudLibrary) CloudLibrary(com.google.cloud.tools.libraries.json.CloudLibrary) TableModel(javax.swing.table.TableModel) Test(org.junit.Test)

Example 9 with CloudLibrary

use of com.google.cloud.tools.libraries.json.CloudLibrary in project google-cloud-intellij by GoogleCloudPlatform.

the class GoogleCloudApiSelectorPanelTest method getPanel_withOneLibrary_selectedLibrary_hasCheckboxAndPopulatedDetails.

@Test
public void getPanel_withOneLibrary_selectedLibrary_hasCheckboxAndPopulatedDetails() {
    CloudLibrary library = LIBRARY_1.toCloudLibrary();
    GoogleCloudApiSelectorPanel panel = new GoogleCloudApiSelectorPanel(ImmutableList.of(library), testFixture.getProject());
    JTable table = panel.getCloudLibrariesTable();
    checkAddLibraryCheckbox(table, 0);
    assertThat(table.getSelectionModel().isSelectedIndex(0)).isTrue();
    TableModel model = table.getModel();
    assertThat(model.getRowCount()).isEqualTo(1);
    assertThat(model.getValueAt(0, 0)).isEqualTo(library);
    assertThat((Boolean) model.getValueAt(0, 1)).isTrue();
    assertDetailsShownForLibrary(panel.getDetailsPanel(), LIBRARY_1, JAVA_CLIENT_1);
}
Also used : JTable(javax.swing.JTable) TestCloudLibrary(com.google.cloud.tools.intellij.testing.apis.TestCloudLibrary) CloudLibrary(com.google.cloud.tools.libraries.json.CloudLibrary) TableModel(javax.swing.table.TableModel) Test(org.junit.Test)

Example 10 with CloudLibrary

use of com.google.cloud.tools.libraries.json.CloudLibrary in project google-cloud-intellij by GoogleCloudPlatform.

the class GoogleCloudApiSelectorPanelTest method getPanel_withMultipleLibraries_selectedLibrary_hasCheckboxesAndPopulatedDetails.

@Test
public void getPanel_withMultipleLibraries_selectedLibrary_hasCheckboxesAndPopulatedDetails() {
    CloudLibrary library1 = LIBRARY_1.toCloudLibrary();
    CloudLibrary library2 = LIBRARY_2.toCloudLibrary();
    // The given list should be reordered by the name's natural order, placing library1 first.
    GoogleCloudApiSelectorPanel panel = new GoogleCloudApiSelectorPanel(ImmutableList.of(library2, library1), testFixture.getProject());
    JTable table = panel.getCloudLibrariesTable();
    // Checks the second row's checkbox, which should be library2.
    checkAddLibraryCheckbox(table, 1);
    assertThat(table.getSelectionModel().isSelectedIndex(0)).isFalse();
    assertThat(table.getSelectionModel().isSelectedIndex(1)).isTrue();
    TableModel model = table.getModel();
    assertThat(model.getRowCount()).isEqualTo(2);
    assertThat(model.getValueAt(0, 0)).isEqualTo(library1);
    assertThat(model.getValueAt(1, 0)).isEqualTo(library2);
    assertThat((Boolean) model.getValueAt(0, 1)).isFalse();
    assertThat((Boolean) model.getValueAt(1, 1)).isTrue();
    assertDetailsShownForLibrary(panel.getDetailsPanel(), LIBRARY_2, JAVA_CLIENT_2);
}
Also used : JTable(javax.swing.JTable) TestCloudLibrary(com.google.cloud.tools.intellij.testing.apis.TestCloudLibrary) CloudLibrary(com.google.cloud.tools.libraries.json.CloudLibrary) TableModel(javax.swing.table.TableModel) Test(org.junit.Test)

Aggregations

CloudLibrary (com.google.cloud.tools.libraries.json.CloudLibrary)29 TestCloudLibrary (com.google.cloud.tools.intellij.testing.apis.TestCloudLibrary)25 Test (org.junit.Test)24 JTable (javax.swing.JTable)13 TableModel (javax.swing.table.TableModel)7 Role (com.google.api.services.iam.v1.model.Role)3 Module (com.intellij.openapi.module.Module)3 MavenId (org.jetbrains.idea.maven.model.MavenId)3 CloudProject (com.google.cloud.tools.intellij.project.CloudProject)2 TestCloudLibraryClientMavenCoordinates (com.google.cloud.tools.intellij.testing.apis.TestCloudLibrary.TestCloudLibraryClientMavenCoordinates)2 GoogleCloudCoreIcons (com.google.cloud.tools.intellij.GoogleCloudCoreIcons)1 GctTracking (com.google.cloud.tools.intellij.analytics.GctTracking)1 UsageTrackerProvider (com.google.cloud.tools.intellij.analytics.UsageTrackerProvider)1 PropertiesFileFlagReader (com.google.cloud.tools.intellij.flags.PropertiesFileFlagReader)1 CredentialedUser (com.google.cloud.tools.intellij.login.CredentialedUser)1 ProjectSelector (com.google.cloud.tools.intellij.project.ProjectSelector)1 GctBundle (com.google.cloud.tools.intellij.util.GctBundle)1 Notification (com.intellij.notification.Notification)1 NotificationDisplayType (com.intellij.notification.NotificationDisplayType)1 NotificationGroup (com.intellij.notification.NotificationGroup)1