Search in sources :

Example 21 with DockerConnection

use of org.eclipse.linuxtools.internal.docker.core.DockerConnection in project linuxtools by eclipse.

the class DockerExplorerViewSWTBotTest method shouldDisplayConnectionsPane.

@Test
public void shouldDisplayConnectionsPane() {
    // given
    final DockerClient client = MockDockerClientFactory.build();
    final DockerConnection dockerConnection = MockDockerConnectionFactory.from("Test", client).withDefaultTCPConnectionSettings();
    DockerConnectionManagerUtils.configureConnectionManager(dockerConnection);
    // then
    DockerExplorerViewAssertions.assertThat(dockerExplorerView).isNotEmpty();
}
Also used : DockerConnection(org.eclipse.linuxtools.internal.docker.core.DockerConnection) DockerClient(com.spotify.docker.client.DockerClient) Test(org.junit.Test)

Example 22 with DockerConnection

use of org.eclipse.linuxtools.internal.docker.core.DockerConnection in project linuxtools by eclipse.

the class DockerExplorerViewSWTBotTest method shouldProvideDisabledRemoveCommandOnMultipleContainersAtOnce.

@Test
public void shouldProvideDisabledRemoveCommandOnMultipleContainersAtOnce() {
    // given
    final DockerClient client = MockDockerClientFactory.container(MockContainerFactory.name("gentle_foo").status("Running").build()).container(MockContainerFactory.name("angry_bar").status("Stopped").build()).build();
    final DockerConnection dockerConnection = MockDockerConnectionFactory.from("Test", client).withDefaultTCPConnectionSettings();
    DockerConnectionManagerUtils.configureConnectionManager(dockerConnection);
    // open the context menu on one of the containers
    selectContainersInTreeView("Test", "gentle_foo", "angry_bar");
    final SWTBotMenu menuCommand = dockerExplorerViewBot.bot().tree().contextMenu("Remove");
    // then
    MenuAssertion.assertThat(menuCommand).isVisible().isNotEnabled();
}
Also used : DockerConnection(org.eclipse.linuxtools.internal.docker.core.DockerConnection) DockerClient(com.spotify.docker.client.DockerClient) SWTBotMenu(org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu) Test(org.junit.Test)

Example 23 with DockerConnection

use of org.eclipse.linuxtools.internal.docker.core.DockerConnection in project linuxtools by eclipse.

the class DockerExplorerViewSWTBotTest method shouldRemoveAllConnectionsSimultaneously.

@Test
public void shouldRemoveAllConnectionsSimultaneously() throws DockerException, InterruptedException {
    // given
    final DockerClient client = MockDockerClientFactory.build();
    final DockerConnection dockerConnection1 = MockDockerConnectionFactory.from("Test1", client).withDefaultTCPConnectionSettings();
    final DockerConnection dockerConnection2 = MockDockerConnectionFactory.from("Test2", client).withDefaultTCPConnectionSettings();
    DockerConnectionManagerUtils.configureConnectionManager(dockerConnection1, dockerConnection2);
    final List<String> initialConnections = Stream.of(dockerExplorerViewBot.bot().tree().getAllItems()).map(item -> item.getText()).collect(Collectors.toList());
    assertThat(initialConnections).contains("Test1", "Test2");
    // when
    SWTUtils.select(dockerExplorerViewBot.bot().tree(), "Test1", "Test2");
    SWTUtils.getContextMenu(dockerExplorerViewBot.bot().tree(), "Remove").click();
    // then
    final List<String> remainingConnections = Stream.of(dockerExplorerViewBot.bot().tree().getAllItems()).map(item -> item.getText()).collect(Collectors.toList());
    assertThat(remainingConnections).doesNotContain("Test1", "Test2");
}
Also used : DockerConnection(org.eclipse.linuxtools.internal.docker.core.DockerConnection) Conditions(org.eclipse.swtbot.eclipse.finder.waits.Conditions) CloseWelcomePageRule(org.eclipse.linuxtools.internal.docker.ui.testutils.swt.CloseWelcomePageRule) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) SWTBotMenu(org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu) SWTBotTreeItem(org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem) RunWith(org.junit.runner.RunWith) DockerConnectionManagerUtils(org.eclipse.linuxtools.internal.docker.ui.testutils.swt.DockerConnectionManagerUtils) TabDescriptorAssertions(org.eclipse.linuxtools.internal.docker.ui.testutils.swt.TabDescriptorAssertions) DockerClient(com.spotify.docker.client.DockerClient) WidgetNotFoundException(org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException) After(org.junit.After) MockContainerFactory(org.eclipse.linuxtools.internal.docker.ui.testutils.MockContainerFactory) Assertions(org.assertj.core.api.Assertions) SWTWorkbenchBot(org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot) ClassRule(org.junit.ClassRule) SWTBotView(org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView) Before(org.junit.Before) DockerException(com.spotify.docker.client.exceptions.DockerException) MockImageFactory(org.eclipse.linuxtools.internal.docker.ui.testutils.MockImageFactory) Viewer(org.eclipse.jface.viewers.Viewer) PlatformUI(org.eclipse.ui.PlatformUI) DockerConnectionManager(org.eclipse.linuxtools.docker.core.DockerConnectionManager) MockDockerConnectionFactory(org.eclipse.linuxtools.internal.docker.ui.testutils.MockDockerConnectionFactory) DockerExplorerViewAssertions(org.eclipse.linuxtools.internal.docker.ui.testutils.swt.DockerExplorerViewAssertions) PropertySheet(org.eclipse.ui.views.properties.PropertySheet) Test(org.junit.Test) Collectors(java.util.stream.Collectors) MockDockerClientFactory(org.eclipse.linuxtools.internal.docker.ui.testutils.MockDockerClientFactory) TabbedPropertySheetPage(org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage) TimeUnit(java.util.concurrent.TimeUnit) SWTBotTreeItemAssertions(org.eclipse.linuxtools.internal.docker.ui.testutils.swt.SWTBotTreeItemAssertions) SWTBotJunit4ClassRunner(org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner) Mockito(org.mockito.Mockito) List(java.util.List) Stream(java.util.stream.Stream) DockerConnection(org.eclipse.linuxtools.internal.docker.core.DockerConnection) Rule(org.junit.Rule) MenuAssertion(org.eclipse.linuxtools.internal.docker.ui.testutils.swt.MenuAssertion) ClearConnectionManagerRule(org.eclipse.linuxtools.internal.docker.ui.testutils.swt.ClearConnectionManagerRule) MockContainerInfoFactory(org.eclipse.linuxtools.internal.docker.ui.testutils.MockContainerInfoFactory) TestLoggerRule(org.eclipse.linuxtools.internal.docker.ui.testutils.swt.TestLoggerRule) SWTUtils(org.eclipse.linuxtools.internal.docker.ui.testutils.swt.SWTUtils) Assert(org.junit.Assert) DockerContainerRefreshManager(org.eclipse.linuxtools.internal.docker.core.DockerContainerRefreshManager) DockerClient(com.spotify.docker.client.DockerClient) Test(org.junit.Test)

Example 24 with DockerConnection

use of org.eclipse.linuxtools.internal.docker.core.DockerConnection in project linuxtools by eclipse.

the class DockerExplorerViewSWTBotTest method shouldProvideDisabledStopCommandOnMultipleContainersAtOnce.

@Test
public void shouldProvideDisabledStopCommandOnMultipleContainersAtOnce() {
    // given
    final DockerClient client = MockDockerClientFactory.container(MockContainerFactory.name("gentle_foo").status("Running").build()).container(MockContainerFactory.name("angry_bar").status("Stopped").build()).build();
    final DockerConnection dockerConnection = MockDockerConnectionFactory.from("Test", client).withDefaultTCPConnectionSettings();
    DockerConnectionManagerUtils.configureConnectionManager(dockerConnection);
    // open the context menu on one of the containers
    selectContainersInTreeView("Test", "gentle_foo", "angry_bar");
    final SWTBotMenu menuCommand = dockerExplorerViewBot.bot().tree().contextMenu("Stop");
    // then
    MenuAssertion.assertThat(menuCommand).isVisible().isNotEnabled();
}
Also used : DockerConnection(org.eclipse.linuxtools.internal.docker.core.DockerConnection) DockerClient(com.spotify.docker.client.DockerClient) SWTBotMenu(org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu) Test(org.junit.Test)

Example 25 with DockerConnection

use of org.eclipse.linuxtools.internal.docker.core.DockerConnection in project linuxtools by eclipse.

the class DockerExplorerViewSWTBotTest method shouldShowSelectedContainerInPropertiesView.

@Test
public void shouldShowSelectedContainerInPropertiesView() {
    // given
    final DockerClient client = MockDockerClientFactory.container(MockContainerFactory.name("angry_bar").status("Stopped").build()).build();
    final DockerConnection dockerConnection = MockDockerConnectionFactory.from("Test", client).withDefaultTCPConnectionSettings();
    DockerConnectionManagerUtils.configureConnectionManager(dockerConnection);
    // open the context menu on one the container
    selectContainersInTreeView("Test", "angry_bar");
    // show container info in Properties view
    SWTUtils.getContextMenu(dockerExplorerViewBot.bot().tree(), "Show In", "Properties").click();
    // the properties view should be visible
    assertThat(this.bot.viewById("org.eclipse.ui.views.PropertySheet").isActive()).isEqualTo(true);
    // then the properties view should have a selected tab with container
    // info
    final PropertySheet propertySheet = SWTUtils.syncExec(() -> SWTUtils.getView(bot, "org.eclipse.ui.views.PropertySheet", true));
    assertThat(propertySheet.getCurrentPage()).isInstanceOf(TabbedPropertySheetPage.class);
    final TabbedPropertySheetPage currentPage = (TabbedPropertySheetPage) propertySheet.getCurrentPage();
    TabDescriptorAssertions.assertThat(currentPage.getSelectedTab()).isNotNull().hasId("org.eclipse.linuxtools.docker.ui.properties.container.info");
}
Also used : DockerConnection(org.eclipse.linuxtools.internal.docker.core.DockerConnection) DockerClient(com.spotify.docker.client.DockerClient) PropertySheet(org.eclipse.ui.views.properties.PropertySheet) TabbedPropertySheetPage(org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage) Test(org.junit.Test)

Aggregations

DockerConnection (org.eclipse.linuxtools.internal.docker.core.DockerConnection)108 DockerClient (com.spotify.docker.client.DockerClient)75 Test (org.junit.Test)71 IDockerConnection (org.eclipse.linuxtools.docker.core.IDockerConnection)31 SWTBotTreeItem (org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem)21 DockerException (org.eclipse.linuxtools.docker.core.DockerException)18 SWTBotMenu (org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu)15 ILaunchConfiguration (org.eclipse.debug.core.ILaunchConfiguration)9 RunWithProject (org.eclipse.linuxtools.internal.docker.ui.testutils.RunWithProject)9 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)8 Job (org.eclipse.core.runtime.jobs.Job)8 Path (java.nio.file.Path)6 IDockerImage (org.eclipse.linuxtools.docker.core.IDockerImage)6 ProgressHandler (com.spotify.docker.client.ProgressHandler)5 RunConsole (org.eclipse.linuxtools.internal.docker.ui.consoles.RunConsole)5 PropertySheet (org.eclipse.ui.views.properties.PropertySheet)5 TabbedPropertySheetPage (org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)5 Before (org.junit.Before)5 File (java.io.File)4 IOException (java.io.IOException)4