From 29152d38f090f2294be94c9fcdfa7d22ec68e41c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=8A?= =?UTF-8?q?=D1=80=20=D0=9A=D1=83=D1=80=D1=82=D0=B0=D0=BA=D0=BE=D0=B2?= Date: Wed, 4 Sep 2024 09:49:38 +0300 Subject: [PATCH] Simplify button assertions in docker tests It's simpler to use assertTrue/False instead of going through one more level of indirection. --- .../ui/launch/DockerComposeSWTBotTest.java | 4 +- .../ui/testutils/swt/ButtonAssertions.java | 30 ------------- .../EditDockerConnectionSWTBotTest.java | 42 +++++++++---------- .../ui/wizards/ImagePullSWTBotTest.java | 11 +++-- .../docker/ui/wizards/ImageRunSWTBotTest.java | 9 ++-- .../NewDockerConnectionSWTBotTest.java | 15 +++---- 6 files changed, 40 insertions(+), 71 deletions(-) delete mode 100644 containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/testutils/swt/ButtonAssertions.java diff --git a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/launch/DockerComposeSWTBotTest.java b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/launch/DockerComposeSWTBotTest.java index 862ca922b0..dec24585e3 100644 --- a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/launch/DockerComposeSWTBotTest.java +++ b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/launch/DockerComposeSWTBotTest.java @@ -14,6 +14,7 @@ package org.eclipse.linuxtools.internal.docker.ui.launch; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertTrue; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -35,7 +36,6 @@ import org.eclipse.linuxtools.internal.docker.ui.testutils.MockDockerConnectionFactory; import org.eclipse.linuxtools.internal.docker.ui.testutils.ProjectInitializationRule; import org.eclipse.linuxtools.internal.docker.ui.testutils.RunWithProject; -import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.ButtonAssertions; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.ClearConnectionManagerRule; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.ClearLaunchConfigurationsRule; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.CloseShellRule; @@ -297,7 +297,7 @@ public void shouldValidateLaunchConfiguration() throws CoreException { // "OK" button ComboAssertions.assertThat(bot.comboBox(0)).isEnabled().itemSelected("Test"); TextAssertions.assertThat(bot.text(2)).isEnabled().textEquals("/foo"); - ButtonAssertions.assertThat(bot.button("Run")).isEnabled(); + assertTrue(bot.button("Run").isEnabled()); } } diff --git a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/testutils/swt/ButtonAssertions.java b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/testutils/swt/ButtonAssertions.java deleted file mode 100644 index 087df29842..0000000000 --- a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/testutils/swt/ButtonAssertions.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015, 2018 Red Hat. - * - * This program and the accompanying materials are made - * available under the terms of the Eclipse Public License 2.0 - * which is available at https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Red Hat - Initial Contribution - *******************************************************************************/ -package org.eclipse.linuxtools.internal.docker.ui.testutils.swt; - -import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton; - -/** - * Custom assertions on a given {@link SWTBotButton}. - */ -public class ButtonAssertions extends AbstractSWTBotAssertions { - - protected ButtonAssertions(final SWTBotButton actual) { - super(actual, ButtonAssertions.class); - } - - public static ButtonAssertions assertThat(final SWTBotButton actual) { - return new ButtonAssertions(actual); - } - -} diff --git a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/EditDockerConnectionSWTBotTest.java b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/EditDockerConnectionSWTBotTest.java index 81f6c302a6..ee5b492a09 100644 --- a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/EditDockerConnectionSWTBotTest.java +++ b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/EditDockerConnectionSWTBotTest.java @@ -14,6 +14,8 @@ package org.eclipse.linuxtools.internal.docker.ui.wizards; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; @@ -46,7 +48,6 @@ import org.eclipse.linuxtools.internal.docker.ui.testutils.MockDockerContainerConfigFactory; import org.eclipse.linuxtools.internal.docker.ui.testutils.MockDockerHostConfigFactory; import org.eclipse.linuxtools.internal.docker.ui.testutils.MockDockerImageFactory; -import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.ButtonAssertions; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.CheckBoxAssertions; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.CloseShellRule; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.CloseWelcomePageRule; @@ -69,11 +70,10 @@ import org.junit.Test; import org.junit.rules.TemporaryFolder; import org.junit.runner.RunWith; +import org.mandas.docker.client.DockerClient; import org.mockito.ArgumentMatchers; import org.mockito.Mockito; -import org.mandas.docker.client.DockerClient; - /** * Testing the {@link EditDockerConnection} {@link Wizard} */ @@ -240,11 +240,11 @@ public void shouldReportProblemWhenMissingName() { // given configureUnixSocketConnection(); openConnectionEditionWizard("Test"); - ButtonAssertions.assertThat(getFinishButton()).isEnabled(); + assertTrue(getFinishButton().isEnabled()); // when bot.text(0).setText(""); // then - ButtonAssertions.assertThat(getFinishButton()).isNotEnabled(); + assertFalse(getFinishButton().isEnabled()); } @Test @@ -252,11 +252,11 @@ public void shouldReportProblemWhenMissingUnixSocketPath() { // given configureUnixSocketConnection(); openConnectionEditionWizard("Test"); - ButtonAssertions.assertThat(getFinishButton()).isEnabled(); + assertTrue(getFinishButton().isEnabled()); // when bot.text(1).setText(""); // then - ButtonAssertions.assertThat(getFinishButton()).isNotEnabled(); + assertFalse(getFinishButton().isEnabled()); } @Test @@ -264,11 +264,11 @@ public void shouldReportProblemWhenInvalidUnixSocketPath() { // given configureUnixSocketConnection(); openConnectionEditionWizard("Test"); - ButtonAssertions.assertThat(getFinishButton()).isEnabled(); + assertTrue(getFinishButton().isEnabled()); // when bot.text(1).setText("/invalid/path"); // then - ButtonAssertions.assertThat(getFinishButton()).isNotEnabled(); + assertFalse(getFinishButton().isEnabled()); } @Test @@ -276,11 +276,11 @@ public void shouldReportProblemWhenMissingHost() { // given configureTCPConnection(); openConnectionEditionWizard("Test"); - ButtonAssertions.assertThat(getFinishButton()).isEnabled(); + assertTrue(getFinishButton().isEnabled()); // when bot.text(2).setText(""); // then - ButtonAssertions.assertThat(getFinishButton()).isNotEnabled(); + assertFalse(getFinishButton().isEnabled()); } @Test @@ -288,11 +288,11 @@ public void shouldReportProblemWhenInvalidHostMissingScheme() { // given configureTCPConnection(); openConnectionEditionWizard("Test"); - ButtonAssertions.assertThat(getFinishButton()).isEnabled(); + assertTrue(getFinishButton().isEnabled()); // when bot.text(2).setText("foo"); // then - ButtonAssertions.assertThat(getFinishButton()).isNotEnabled(); + assertFalse(getFinishButton().isEnabled()); } @Test @@ -300,11 +300,11 @@ public void shouldReportProblemWhenInvalidHostInvalidScheme() { // given configureTCPConnection(); openConnectionEditionWizard("Test"); - ButtonAssertions.assertThat(getFinishButton()).isEnabled(); + assertTrue(getFinishButton().isEnabled()); // when bot.text(2).setText("ftp://foo"); // then - ButtonAssertions.assertThat(getFinishButton()).isNotEnabled(); + assertFalse(getFinishButton().isEnabled()); } @Test @@ -312,11 +312,11 @@ public void shouldReportProblemWhenInvalidHostMissingPort() { // given configureTCPConnection(); openConnectionEditionWizard("Test"); - ButtonAssertions.assertThat(getFinishButton()).isEnabled(); + assertTrue(getFinishButton().isEnabled()); // when bot.text(2).setText("http://foo"); // then - ButtonAssertions.assertThat(getFinishButton()).isNotEnabled(); + assertFalse(getFinishButton().isEnabled()); } @Test @@ -324,11 +324,11 @@ public void shouldReportProblemWhenMissingPathToCerts() { // given configureTCPConnection(); openConnectionEditionWizard("Test"); - ButtonAssertions.assertThat(getFinishButton()).isEnabled(); + assertTrue(getFinishButton().isEnabled()); // when bot.text(3).setText(""); // then - ButtonAssertions.assertThat(getFinishButton()).isNotEnabled(); + assertFalse(getFinishButton().isEnabled()); } @Test @@ -336,11 +336,11 @@ public void shouldReportProblemWhenInvalidPathToCerts() { // given configureTCPConnection(); openConnectionEditionWizard("Test"); - ButtonAssertions.assertThat(getFinishButton()).isEnabled(); + assertTrue(getFinishButton().isEnabled()); // when bot.text(3).setText("/invalid/path"); // then - ButtonAssertions.assertThat(getFinishButton()).isNotEnabled(); + assertFalse(getFinishButton().isEnabled()); } @Test diff --git a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/ImagePullSWTBotTest.java b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/ImagePullSWTBotTest.java index 43d9e0f8ca..6d0359c10a 100644 --- a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/ImagePullSWTBotTest.java +++ b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/ImagePullSWTBotTest.java @@ -14,6 +14,7 @@ package org.eclipse.linuxtools.internal.docker.ui.wizards; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertFalse; import java.util.concurrent.TimeUnit; @@ -28,7 +29,6 @@ import org.eclipse.linuxtools.internal.docker.ui.testutils.MockDockerConnectionFactory; import org.eclipse.linuxtools.internal.docker.ui.testutils.MockImageFactory; import org.eclipse.linuxtools.internal.docker.ui.testutils.MockRegistryAccountManagerFactory; -import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.ButtonAssertions; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.ClearConnectionManagerRule; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.CloseShellRule; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.CloseWelcomePageRule; @@ -43,11 +43,10 @@ import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; -import org.mockito.ArgumentMatchers; -import org.mockito.Mockito; - import org.mandas.docker.client.DockerClient; import org.mandas.docker.client.exceptions.DockerException; +import org.mockito.ArgumentMatchers; +import org.mockito.Mockito; /** * Testing the {@link ImagePull} wizard @@ -105,7 +104,7 @@ public void shoulDisableSearchButtonWhenNoRegistrySelected() { // when bot.text(0).setText("jboss/wildfly:latest"); // then - ButtonAssertions.assertThat(bot.button("Finish")).isNotEnabled(); + assertFalse(bot.button("Finish").isEnabled()); } @Test @@ -114,7 +113,7 @@ public void shouldNotAllowFinishWhenImageNameIsMissing() { openPullWizard(); // when no data is input for the images name // then - ButtonAssertions.assertThat(bot.button("Finish")).isNotEnabled(); + assertFalse(bot.button("Finish").isEnabled()); } @Test diff --git a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/ImageRunSWTBotTest.java b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/ImageRunSWTBotTest.java index 73819d0dd5..b805f9cd92 100644 --- a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/ImageRunSWTBotTest.java +++ b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/ImageRunSWTBotTest.java @@ -14,6 +14,7 @@ package org.eclipse.linuxtools.internal.docker.ui.wizards; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertFalse; import java.util.ArrayList; import java.util.Arrays; @@ -38,7 +39,6 @@ import org.eclipse.linuxtools.internal.docker.ui.testutils.MockDockerImageFactory; import org.eclipse.linuxtools.internal.docker.ui.testutils.MockImageFactory; import org.eclipse.linuxtools.internal.docker.ui.testutils.MockImageInfoFactory; -import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.ButtonAssertions; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.ClearConnectionManagerRule; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.CloseShellRule; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.CloseWelcomePageRule; @@ -52,9 +52,6 @@ import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; -import org.mockito.ArgumentMatchers; -import org.mockito.Mockito; - import org.mandas.docker.client.DockerClient; import org.mandas.docker.client.exceptions.DockerException; import org.mandas.docker.client.messages.Container; @@ -62,6 +59,8 @@ import org.mandas.docker.client.messages.ContainerInfo; import org.mandas.docker.client.messages.Image; import org.mandas.docker.client.messages.ImageInfo; +import org.mockito.ArgumentMatchers; +import org.mockito.Mockito; /** * Testing the {@link ImageRun} wizard @@ -119,7 +118,7 @@ public void shouldReportErrorIfContainerWithSameNameExists() { // wait for https://bugs.eclipse.org/bugs/show_bug.cgi?id=482889 to be // able to check the wizard validation message //assertThat(bot.text(WizardMessages.getString("ImageRunSelectionPage.containerWithSameName"))).isNotNull(); - ButtonAssertions.assertThat(bot.button("Finish")).isNotEnabled(); + assertFalse(bot.button("Finish").isEnabled()); } @Test diff --git a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/NewDockerConnectionSWTBotTest.java b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/NewDockerConnectionSWTBotTest.java index 0710e30903..b4927c4f84 100644 --- a/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/NewDockerConnectionSWTBotTest.java +++ b/containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/wizards/NewDockerConnectionSWTBotTest.java @@ -13,6 +13,9 @@ package org.eclipse.linuxtools.internal.docker.ui.wizards; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + import java.io.File; import java.io.IOException; @@ -24,7 +27,6 @@ import org.eclipse.linuxtools.internal.docker.ui.testutils.MockDockerClientFactory; import org.eclipse.linuxtools.internal.docker.ui.testutils.MockDockerConnectionFactory; import org.eclipse.linuxtools.internal.docker.ui.testutils.MockDockerConnectionSettingsFinder; -import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.ButtonAssertions; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.CheckBoxAssertions; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.CloseShellRule; import org.eclipse.linuxtools.internal.docker.ui.testutils.swt.CloseWelcomePageRule; @@ -54,7 +56,6 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; - import org.mandas.docker.client.DockerClient; /** @@ -88,7 +89,7 @@ public void lookupDockerExplorerView() throws Exception { dockerExplorerViewBot = bot.viewById(DockerExplorerView.VIEW_ID); dockerExplorerViewBot.show(); bot.views().stream().filter(v -> v.getReference().getId().equals(DockerContainersView.VIEW_ID) - || v.getReference().getId().equals(DockerImagesView.VIEW_ID)).forEach(v -> v.close()); + || v.getReference().getId().equals(DockerImagesView.VIEW_ID)).forEach(SWTBotView::close); dockerExplorerViewBot.setFocus(); this.addConnectionButton = dockerExplorerViewBot.toolbarButton("&Add Connection"); } @@ -225,7 +226,7 @@ public void shouldNotAllowNewConnectionWithDifferentNameAndSameUnixSocketSetting bot.text(0).setText("foo"); // then the wizard should not allow for completion because a connection // with the connection settings already exists. - ButtonAssertions.assertThat(bot.button("Finish")).isNotEnabled(); + assertFalse(bot.button("Finish").isEnabled()); } @Test @@ -241,7 +242,7 @@ public void shouldNotAllowNewConnectionWithDifferentNameAndSameTCPSettings() { bot.text(0).setText("foo"); // then the wizard should not allow for completion because a connection // with the connection settings already exists. - ButtonAssertions.assertThat(bot.button("Finish")).isNotEnabled(); + assertFalse(bot.button("Finish").isEnabled()); } @Test @@ -260,7 +261,7 @@ public void shouldAllowNewConnectionWithDifferentNameAndUnixSettings() throws IO bot.text(1).setText(otherDockerSocketTmpPath); // then the wizard should not allow for completion because a connection // with the connection settings already exists. - ButtonAssertions.assertThat(bot.button("Finish")).isEnabled(); + assertFalse(bot.button("Finish").isEnabled()); } @Test @@ -278,7 +279,7 @@ public void shouldAllowNewConnectionWithDifferentNameAndTCPSettings() { bot.text(2).setText("https://bar:1234"); // then the wizard should not allow for completion because a connection // with the connection settings already exists. - ButtonAssertions.assertThat(bot.button("Finish")).isEnabled(); + assertTrue(bot.button("Finish").isEnabled()); } @Test