Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kurtakov2021-12-08 11:15:29 +0000
committerAlexander Kurtakov2021-12-10 10:18:32 +0000
commitce3923a1e1c69fbb60d4ee9dcdfb15c4664772a0 (patch)
tree8d7f8f21849b2f4017a416ebc4fba6f0d1b7b0ff
parent556f831a5bcb586a01761cb80b1efd51472ef48a (diff)
downloadrt.equinox.p2-ce3923a1e1c69fbb60d4ee9dcdfb15c4664772a0.tar.gz
rt.equinox.p2-ce3923a1e1c69fbb60d4ee9dcdfb15c4664772a0.tar.xz
rt.equinox.p2-ce3923a1e1c69fbb60d4ee9dcdfb15c4664772a0.zip
Switch p2 tests to mockito from easymock. Improve asserts to be slightly more readable and give better failure message. Change-Id: I3b975983a5c975dc03814a73bdbf0ce9ed652a1f Signed-off-by: Alexander Kurtakov <akurtako@redhat.com> Reviewed-on: https://git.eclipse.org/r/c/equinox/rt.equinox.p2/+/188640 Tested-by: Equinox Bot <equinox-bot@eclipse.org>
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF3
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ANYConfigCUsActionTest.java18
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AccumulateConfigDataActionTest.java24
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java41
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceMatcher.java54
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java212
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/CaptureList.java39
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java18
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java46
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java21
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java258
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java6
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalUpdateSiteActionTest.java18
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionCapturingTest.java52
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTest.java165
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTestMac.java41
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileAdviceTest.java4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootFilesActionTest.java34
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java28
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetLauncherNameActionTest.java6
21 files changed, 529 insertions, 563 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
index 7859591e4..f864e043e 100644
--- a/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
@@ -114,6 +114,5 @@ Import-Package: org.eclipse.ant.core,
org.eclipse.osgi.util;version="1.1.0",
org.osgi.framework;version="1.3.0",
org.osgi.service.packageadmin;version="1.2.0",
- org.osgi.util.tracker;version="1.3.0",
- org.easymock;version="4.0.0"
+ org.osgi.util.tracker;version="1.3.0"
Automatic-Module-Name: org.eclipse.equinox.p2.tests
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
index dcc84bbfb..ab74b9572 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
@@ -739,7 +739,7 @@ public abstract class AbstractProvisioningTest extends TestCase {
}
}
- public static void writeBuffer(File outputFile, StringBuffer buffer) throws IOException {
+ public static void writeBuffer(File outputFile, StringBuilder buffer) throws IOException {
outputFile.getParentFile().mkdirs();
try (FileOutputStream stream = new FileOutputStream(outputFile)) {
stream.write(buffer.toString().getBytes());
@@ -1367,7 +1367,7 @@ public abstract class AbstractProvisioningTest extends TestCase {
IInstallableUnit sourceIU = it.next();
IQueryResult destinationCollector = destination.query(QueryUtil.createIUQuery(sourceIU), null);
assertEquals(message, 1, queryResultSize(destinationCollector));
- assertTrue(message, sourceIU.equals(destinationCollector.iterator().next()));
+ assertEquals(message, sourceIU, destinationCollector.iterator().next());
}
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ANYConfigCUsActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ANYConfigCUsActionTest.java
index bb92cf4ef..d6085fd8a 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ANYConfigCUsActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ANYConfigCUsActionTest.java
@@ -14,13 +14,17 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.expect;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.matches;
+import static org.mockito.Mockito.when;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import org.easymock.EasyMock;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
import org.eclipse.equinox.internal.p2.publisher.eclipse.DataLoader;
@@ -212,7 +216,8 @@ public class ANYConfigCUsActionTest extends ActionTest {
fail("Unable to create product file advice", e); //$NON-NLS-1$
}
- expect(publisherInfo.getAdvice(EasyMock.matches(configSpec), EasyMock.eq(false), (String) EasyMock.anyObject(), (Version) EasyMock.anyObject(), EasyMock.eq(IExecutableAdvice.class))).andReturn(launchingList).anyTimes();
+ when(publisherInfo.getAdvice(matches(configSpec), eq(false), anyString(), any(Version.class),
+ eq(IExecutableAdvice.class))).thenReturn(launchingList);
//configure IConfigAdvice
ConfigData configData = loader.getConfigData();
@@ -220,14 +225,15 @@ public class ANYConfigCUsActionTest extends ActionTest {
ArrayList<IConfigAdvice> configList = new ArrayList<>();
configList.add(configAdvice);
configList.add(productAdvice);
- expect(publisherInfo.getAdvice(EasyMock.matches(configSpec), EasyMock.eq(false), (String) EasyMock.anyObject(), (Version) EasyMock.anyObject(), EasyMock.eq(IConfigAdvice.class))).andReturn(configList).anyTimes();
+ when(publisherInfo.getAdvice(matches(configSpec), eq(false), anyString(), any(Version.class),
+ eq(IConfigAdvice.class))).thenReturn(configList);
//setup metadata repository
IInstallableUnit[] ius = {mockIU("foo", null), mockIU("bar", null)}; //$NON-NLS-1$ //$NON-NLS-2$
metadataRepo = new TestMetadataRepository(getAgent(), ius);
- expect(publisherInfo.getMetadataRepository()).andReturn(metadataRepo).anyTimes();
- expect(publisherInfo.getContextMetadataRepository()).andReturn(null).anyTimes();
+ when(publisherInfo.getMetadataRepository()).thenReturn(metadataRepo);
+ when(publisherInfo.getContextMetadataRepository()).thenReturn(null);
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AccumulateConfigDataActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AccumulateConfigDataActionTest.java
index 480303b82..ffe6009d5 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AccumulateConfigDataActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AccumulateConfigDataActionTest.java
@@ -15,21 +15,25 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
+import static org.mockito.Mockito.verify;
+
import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Map;
-import org.easymock.Capture;
-import org.easymock.EasyMock;
+import java.util.stream.Collectors;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.equinox.frameworkadmin.BundleInfo;
import org.eclipse.equinox.internal.provisional.frameworkadmin.ConfigData;
+import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
import org.eclipse.equinox.p2.publisher.eclipse.AccumulateConfigDataAction;
import org.eclipse.equinox.p2.publisher.eclipse.ConfigAdvice;
import org.eclipse.equinox.p2.publisher.eclipse.LaunchingAdvice;
import org.eclipse.equinox.p2.tests.TestActivator;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mockito;
public class AccumulateConfigDataActionTest extends ActionTest {
@@ -43,13 +47,11 @@ public class AccumulateConfigDataActionTest extends ActionTest {
private static String launcherName = "launcherName"; //$NON-NLS-1$
private static String launcherVersion = "0.0.0"; //$NON-NLS-1$
- Capture<ConfigAdvice> configAdviceCapture;
- Capture<LaunchingAdvice> launchingAdviceCapture;
+ ArgumentCaptor<IPublisherAdvice> capture;
@Override
public void setUp() throws Exception {
- configAdviceCapture = Capture.newInstance();
- launchingAdviceCapture = Capture.newInstance();
+ capture = ArgumentCaptor.forClass(IPublisherAdvice.class);
setupPublisherInfo();
setupPublisherResult();
testAction = new AccumulateConfigDataAction(publisherInfo, configSpec, configLocation, executableLocation);
@@ -57,13 +59,15 @@ public class AccumulateConfigDataActionTest extends ActionTest {
public void testAccumulateConfigDataAction() throws Exception {
testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
+ verify(publisherInfo, Mockito.atLeastOnce()).addAdvice(capture.capture());
verifyConfigAdvice();
verifyLaunchAdvice();
debug("Completed AccumulateConfigDataActionTest."); //$NON-NLS-1$
}
private void verifyLaunchAdvice() throws URISyntaxException {
- LaunchingAdvice captured = launchingAdviceCapture.getValue();
+ LaunchingAdvice captured = (LaunchingAdvice) capture.getAllValues().stream()
+ .filter(LaunchingAdvice.class::isInstance).collect(Collectors.toList()).get(0);
String[] programArgs = captured.getProgramArguments();
assertTrue(programArgs.length == 4);
assertTrue(programArgs[0].equalsIgnoreCase("-startup")); //$NON-NLS-1$
@@ -81,7 +85,8 @@ public class AccumulateConfigDataActionTest extends ActionTest {
}
private void verifyConfigAdvice() throws Exception {
- ConfigAdvice captured = configAdviceCapture.getValue();
+ ConfigAdvice captured = (ConfigAdvice) capture.getAllValues().stream().filter(ConfigAdvice.class::isInstance)
+ .collect(Collectors.toList()).get(0);
Map<String, String> prop = captured.getProperties();
assertTrue(prop.get("eclipse.buildId").equalsIgnoreCase("TEST-ID")); //$NON-NLS-1$ //$NON-NLS-2$
assertTrue(prop.get("eclipse.p2.profile").equalsIgnoreCase("PlatformProfile")); //$NON-NLS-1$//$NON-NLS-2$
@@ -109,8 +114,5 @@ public class AccumulateConfigDataActionTest extends ActionTest {
ConfigAdvice configAdvice = new ConfigAdvice(configData, configSpec);
ArrayList<ConfigAdvice> configList = new ArrayList<>();
configList.add(configAdvice);
-
- publisherInfo.addAdvice(EasyMock.and(EasyMock.isA(ConfigAdvice.class), EasyMock.capture(configAdviceCapture)));
- publisherInfo.addAdvice(EasyMock.and(EasyMock.isA(LaunchingAdvice.class), EasyMock.capture(launchingAdviceCapture)));
}
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java
index 1741c7878..25290d337 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java
@@ -14,10 +14,9 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -118,9 +117,9 @@ public abstract class ActionTest extends AbstractProvisioningTest {
for (IRequirement act : actual) {
if (expected.getMatches().equals(act.getMatches())) {
String descr = "IRequirement " + expected.getMatches();
- Assert.assertEquals("Min of " + descr, expected.getMin(), act.getMin());
- Assert.assertEquals("Max of " + descr, expected.getMax(), act.getMax());
- Assert.assertEquals("Greedy of " + descr, expected.isGreedy(), act.isGreedy());
+ assertEquals("Min of " + descr, expected.getMin(), act.getMin());
+ assertEquals("Max of " + descr, expected.getMax(), act.getMax());
+ assertEquals("Greedy of " + descr, expected.isGreedy(), act.isGreedy());
return;
}
}
@@ -128,13 +127,12 @@ public abstract class ActionTest extends AbstractProvisioningTest {
}
protected IInstallableUnit mockIU(String id, Version version) {
- IInstallableUnit result = createMock(IInstallableUnit.class);
- expect(result.getId()).andReturn(id).anyTimes();
+ IInstallableUnit result = mock(IInstallableUnit.class);
+ when(result.getId()).thenReturn(id);
if (version == null)
version = Version.emptyVersion;
- expect(result.getVersion()).andReturn(version).anyTimes();
- expect(result.getFilter()).andReturn(null).anyTimes();
- replay(result);
+ when(result.getVersion()).thenReturn(version);
+ when(result.getFilter()).thenReturn(null);
return result;
}
@@ -170,31 +168,20 @@ public abstract class ActionTest extends AbstractProvisioningTest {
* Call this method to setup Publisher Info, not <code>insertPublisherInfoBehavior</code>
*/
public void setupPublisherInfo() {
- publisherInfo = createPublisherInfoMock();
+ publisherInfo = mock(IPublisherInfo.class);
String[] config = getArrayFromString(configSpec, COMMA_SEPARATOR);
- expect(publisherInfo.getConfigurations()).andReturn(config).anyTimes();
+ when(publisherInfo.getConfigurations()).thenReturn(config);
insertPublisherInfoBehavior();
- replay(publisherInfo);
- }
-
- /**
- * Creates the mock object for the IPublisherInfo. Subclasses
- * can override to create a nice or strict mock instead.
- * @return The publisher info mock
- * @see org.easymock.EasyMock#createNiceMock(Class)
- * @see org.easymock.EasyMock#createStrictMock(Class)
- */
- protected IPublisherInfo createPublisherInfoMock() {
- return createMock(IPublisherInfo.class);
}
/**
* Do not call this method, it is called by <code>setupPublisherInfo</code>.
*/
protected void insertPublisherInfoBehavior() {
- expect(publisherInfo.getMetadataRepository()).andReturn(createTestMetdataRepository(new IInstallableUnit[0])).anyTimes();
- expect(publisherInfo.getContextMetadataRepository()).andReturn(createTestMetdataRepository(new IInstallableUnit[0])).anyTimes();
+ when(publisherInfo.getMetadataRepository()).thenReturn(createTestMetdataRepository(new IInstallableUnit[0]));
+ when(publisherInfo.getContextMetadataRepository())
+ .thenReturn(createTestMetdataRepository(new IInstallableUnit[0]));
}
public void cleanup() {
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceMatcher.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceMatcher.java
deleted file mode 100644
index f23e1f53b..000000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceMatcher.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2017 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import org.easymock.EasyMock;
-import org.easymock.IArgumentMatcher;
-import org.eclipse.equinox.p2.metadata.Version;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-/**
- * A matcher that matches advice applicable to a given id and version.
- */
-public class AdviceMatcher implements IArgumentMatcher {
- private final Version version;
- private final String id;
- private static Class<?> clazz;
-
- public static IPublisherAdvice adviceMatches(String id, Version version, Class<?> clazz) {
- AdviceMatcher.clazz = clazz;
- EasyMock.reportMatcher(new AdviceMatcher(id, version));
- return null;
- }
-
- public AdviceMatcher(String id, Version version) {
- this.id = id;
- this.version = version;
- }
-
- @Override
- public void appendTo(StringBuffer buf) {
- buf.append("AdviceMatcher[" + id + ',' + version + ']');
- }
-
- @Override
- public boolean matches(Object arg) {
- if (!(arg instanceof IPublisherAdvice))
- return false;
- if (!(clazz.isAssignableFrom(arg.getClass())))
- return false;
- IPublisherAdvice advice = (IPublisherAdvice) arg;
- return advice.isApplicable("", false, id, version);
- }
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java
index 72bde8105..fd95c834b 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java
@@ -16,15 +16,16 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.and;
-import static org.easymock.EasyMock.capture;
-import static org.easymock.EasyMock.expect;
import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.errorStatus;
import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.statusWithMessageWhich;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.hasItem;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import java.io.BufferedInputStream;
import java.io.File;
@@ -39,9 +40,6 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.zip.ZipInputStream;
-import org.easymock.Capture;
-import org.easymock.CaptureType;
-import org.easymock.EasyMock;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
@@ -60,6 +58,7 @@ import org.eclipse.equinox.p2.metadata.IUpdateDescriptor;
import org.eclipse.equinox.p2.metadata.MetadataFactory.InstallableUnitDescription;
import org.eclipse.equinox.p2.metadata.Version;
import org.eclipse.equinox.p2.metadata.VersionRange;
+import org.eclipse.equinox.p2.metadata.expression.IMatchExpression;
import org.eclipse.equinox.p2.publisher.AbstractPublisherApplication;
import org.eclipse.equinox.p2.publisher.AdviceFileAdvice;
import org.eclipse.equinox.p2.publisher.IPublisherInfo;
@@ -80,6 +79,8 @@ import org.eclipse.equinox.p2.tests.TestActivator;
import org.eclipse.equinox.p2.tests.TestData;
import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository;
import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mockito;
public class BundlesActionTest extends ActionTest {
private static final String OSGI = PublisherHelper.OSGI_BUNDLE_CLASSIFIER;
@@ -143,39 +144,27 @@ public class BundlesActionTest extends ActionTest {
private static final VersionRange TEST1_IU_D_VERSION_RANGE = VersionRange.create("1.3.0");//$NON-NLS-1$
protected TestArtifactRepository artifactRepository = new TestArtifactRepository(getAgent());
-
- private Capture<ITouchpointAdvice> tpAdvice1, tpAdvice2;
- private Capture<IUpdateDescriptorAdvice> udAdvice3;
- private Capture<ICapabilityAdvice> capAdvice5;
-
- @Override
- public void setupPublisherInfo() {
- tpAdvice1 = Capture.newInstance(CaptureType.ALL);
- tpAdvice2 = Capture.newInstance(CaptureType.ALL);
-
- udAdvice3 = Capture.newInstance(CaptureType.ALL);
- capAdvice5 = Capture.newInstance(CaptureType.ALL);
-
- super.setupPublisherInfo();
- }
+ private ArgumentCaptor<AdviceFileAdvice> updateDescriptorCapture;
public void testAll() throws Exception {
File[] files = TEST_BASE.listFiles();
- testAction = new BundlesAction(files);
+ testAction = Mockito.spy(new BundlesAction(files));
setupPublisherResult();
setupPublisherInfo();
artifactRepository.setProperty(AbstractPublisherApplication.PUBLISH_PACK_FILES_AS_SIBLINGS, "true");//$NON-NLS-1$
+ updateDescriptorCapture = ArgumentCaptor.forClass(AdviceFileAdvice.class);
+ IStatus status = testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
+ verify(publisherInfo, Mockito.atLeastOnce()).addAdvice(updateDescriptorCapture.capture());
+ assertEquals(Status.OK_STATUS, status);
- assertEquals(Status.OK_STATUS, testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor()));
verifyBundlesAction();
cleanup();
- debug("Completed BundlesActionTest.");//$NON-NLS-1$
}
public void testTranslationFragment() {
File foo_fragment = new File(TestActivator.getTestDataFolder(), "FragmentPublisherTest/foo.fragment");//$NON-NLS-1$
File foo = new File(TestActivator.getTestDataFolder(), "FragmentPublisherTest/foo");//$NON-NLS-1$
- BundlesAction bundlesAction = new BundlesAction(new File[] {foo_fragment});
+ BundlesAction bundlesAction = new BundlesAction(new File[] { foo_fragment });
PublisherInfo info = new PublisherInfo();
PublisherResult results = new PublisherResult();
@@ -185,7 +174,7 @@ public class BundlesActionTest extends ActionTest {
info = new PublisherInfo();
results = new PublisherResult();
- bundlesAction = new BundlesAction(new File[] {foo});
+ bundlesAction = new BundlesAction(new File[] { foo });
bundlesAction.perform(info, results, new NullProgressMonitor());
ius = results.getIUs(null, null);
assertEquals(1, ius.size());
@@ -197,7 +186,7 @@ public class BundlesActionTest extends ActionTest {
utils.setTranslationSource(queryableArray);
assertEquals("English Foo", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME));
- bundlesAction = new BundlesAction(new File[] {foo_fragment});
+ bundlesAction = new BundlesAction(new File[] { foo_fragment });
bundlesAction.perform(info, results, new NullProgressMonitor());
ius = results.getIUs(null, null);
assertEquals(3, ius.size());
@@ -238,7 +227,8 @@ public class BundlesActionTest extends ActionTest {
canonicalIdx = 0;
}
- try (ZipInputStream actual = artifactRepository.getZipInputStream(descriptors[canonicalIdx]); ZipInputStream expected = new ZipInputStream(new FileInputStream(TEST_FILE2))) {
+ try (ZipInputStream actual = artifactRepository.getZipInputStream(descriptors[canonicalIdx]);
+ ZipInputStream expected = new ZipInputStream(new FileInputStream(TEST_FILE2))) {
TestData.assertEquals(expected, actual);
}
@@ -248,12 +238,14 @@ public class BundlesActionTest extends ActionTest {
IArtifactKey key1 = ArtifactKey.parse("osgi.bundle,test1,0.1.0");//$NON-NLS-1$
ZipInputStream zis = artifactRepository.getZipInputStream(key1);
- Map<String, Object[]> fileMap = getFileMap(new HashMap<>(), new File[] {TEST_FILE1}, new Path(TEST_FILE1.getAbsolutePath()));
+ Map<String, Object[]> fileMap = getFileMap(new HashMap<>(), new File[] { TEST_FILE1 },
+ new Path(TEST_FILE1.getAbsolutePath()));
TestData.assertContains(fileMap, zis, true);
}
private void verifyBundle1() {
- List<IInstallableUnit> ius = new ArrayList<>(publisherResult.getIUs(TEST1_PROVBUNDLE_NAME, IPublisherResult.ROOT));
+ List<IInstallableUnit> ius = new ArrayList<>(
+ publisherResult.getIUs(TEST1_PROVBUNDLE_NAME, IPublisherResult.ROOT));
assertEquals(1, ius.size());
IInstallableUnit bundle1IU = ius.get(0);
@@ -272,25 +264,28 @@ public class BundlesActionTest extends ActionTest {
verifyProvidedCapability(providedCapabilities, OSGI_IDENTITY, TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION);
verifyProvidedCapability(providedCapabilities, OSGI, TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION);
verifyProvidedCapability(providedCapabilities, TEST1_PROV_Z_NAMESPACE, TEST1_PROVZ_NAME, TEST2_PROVZ_VERSION);
- verifyProvidedCapability(providedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "source", Version.create("1.0.0"));//$NON-NLS-1$//$NON-NLS-2$
+ verifyProvidedCapability(providedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "source", //$NON-NLS-1$
+ Version.create("1.0.0"));//$NON-NLS-1$
assertEquals(5, providedCapabilities.size());
- Collection<ITouchpointData> data = bundle1IU.getTouchpointData();
+ List<AdviceFileAdvice> tData = updateDescriptorCapture.getAllValues();
boolean found = false;
- for (ITouchpointData td : data) {
- ITouchpointInstruction configure = td.getInstruction("configure");
- if (configure == null)
- continue;
- String body = configure.getBody();
- if (body != null && body.indexOf("download.eclipse.org/releases/ganymede") > 0) {
- found = true;
+ for (AdviceFileAdvice iTouchpointAdvice : tData) {
+ ITouchpointInstruction configure = iTouchpointAdvice.getTouchpointData(NO_TP_DATA)
+ .getInstruction("configure");
+ if (configure != null) {
+ String body = configure.getBody();
+ if (body != null && body.indexOf("download.eclipse.org/releases/ganymede") > 0) {
+ found = true;
+ }
}
}
assertTrue(found);
}
private void verifyBundle2() {
- List<IInstallableUnit> ius = new ArrayList<>(publisherResult.getIUs(TEST2_PROV_BUNDLE_NAME, IPublisherResult.ROOT));
+ List<IInstallableUnit> ius = new ArrayList<>(
+ publisherResult.getIUs(TEST2_PROV_BUNDLE_NAME, IPublisherResult.ROOT));
assertEquals(1, ius.size());
IInstallableUnit bundleIu = ius.get(0);
@@ -307,14 +302,16 @@ public class BundlesActionTest extends ActionTest {
// check provided capabilities
Collection<IProvidedCapability> providedCapabilities = bundleIu.getProvidedCapabilities();
- verifyProvidedCapability(providedCapabilities, PROVBUNDLE_NAMESPACE, TEST2_PROV_BUNDLE_NAME, PROVBUNDLE2_VERSION);
+ verifyProvidedCapability(providedCapabilities, PROVBUNDLE_NAMESPACE, TEST2_PROV_BUNDLE_NAME,
+ PROVBUNDLE2_VERSION);
verifyProvidedCapability(providedCapabilities, OSGI, TEST2_PROV_BUNDLE_NAME, BUNDLE2_VERSION);
verifyProvidedCapability(providedCapabilities, OSGI_IDENTITY, TEST2_PROV_BUNDLE_NAME, BUNDLE2_VERSION);
verifyProvidedCapability(providedCapabilities, TEST2_PROV_Z_NAMESPACE, TEST2_PROV_Z_NAME, TEST2_PROVZ_VERSION);
verifyProvidedCapability(providedCapabilities, TEST2_PROV_Y_NAMESPACE, TEST2_PROV_Y_NAME, TEST2_PROVY_VERSION);
verifyProvidedCapability(providedCapabilities, TEST2_PROV_X_NAMESPACE, TEST2_PROV_X_NAME, TEST2_PROVX_VERSION);
- verifyProvidedCapability(providedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "bundle", Version.create("1.0.0"));//$NON-NLS-1$//$NON-NLS-2$
- assertEquals(7, providedCapabilities.size()); /*number of tested elements*/
+ verifyProvidedCapability(providedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "bundle", //$NON-NLS-1$
+ Version.create("1.0.0"));//$NON-NLS-1$
+ assertEquals(7, providedCapabilities.size()); /* number of tested elements */
// check %bundle name is correct
Map<String, String> prop = bundleIu.getProperties();
@@ -336,27 +333,41 @@ public class BundlesActionTest extends ActionTest {
}
private void verifyBundle3() {
- // also a regression test for bug 393051: manifest headers use uncommon (but valid) capitalization
- ArrayList<IInstallableUnit> ius = new ArrayList<>(publisherResult.getIUs(TEST3_PROV_BUNDLE_NAME, IPublisherResult.ROOT));
+ // also a regression test for bug 393051: manifest headers use uncommon (but
+ // valid) capitalization
+ ArrayList<IInstallableUnit> ius = new ArrayList<>(
+ publisherResult.getIUs(TEST3_PROV_BUNDLE_NAME, IPublisherResult.ROOT));
assertEquals(1, ius.size());
-
- IInstallableUnit bundleIu = ius.get(0);
-
- IUpdateDescriptor updateDescriptor = bundleIu.getUpdateDescriptor();
- String name = RequiredCapability.extractName(updateDescriptor.getIUsBeingUpdated().iterator().next());
+ IUpdateDescriptor updateDescriptor = null;
+ boolean found = false;
+ for (AdviceFileAdvice advice : updateDescriptorCapture.getAllValues()) {
+ IUpdateDescriptor descriptor = advice.getUpdateDescriptor(new InstallableUnitDescription());
+ if (descriptor != null) {
+ Collection<IMatchExpression<IInstallableUnit>> iUsBeingUpdated = descriptor.getIUsBeingUpdated();
+ if (iUsBeingUpdated != null) {
+ String name = RequiredCapability.extractName(descriptor.getIUsBeingUpdated().iterator().next());
+ if (TEST3_PROV_BUNDLE_NAME.equals(name)) {
+ updateDescriptor = descriptor;
+ found = true;
+ break;
+ }
+ }
+ }
+ }
+ assertTrue(found);
VersionRange range = RequiredCapability.extractRange(updateDescriptor.getIUsBeingUpdated().iterator().next());
String description = updateDescriptor.getDescription();
int severity = updateDescriptor.getSeverity();
VersionRange expectedRange = new VersionRange("(0.0.1," + BUNDLE3_VERSION + "]");
- assertEquals(TEST3_PROV_BUNDLE_NAME, name);
assertEquals(expectedRange, range);
assertEquals("Some description about this update", description.trim());
assertEquals(8, severity);
}
private void verifyBundle4() {
- ArrayList<IInstallableUnit> ius = new ArrayList<>(publisherResult.getIUs(TEST4_PROV_BUNDLE_NAME, IPublisherResult.ROOT));
+ ArrayList<IInstallableUnit> ius = new ArrayList<>(
+ publisherResult.getIUs(TEST4_PROV_BUNDLE_NAME, IPublisherResult.ROOT));
assertEquals(1, ius.size());
IInstallableUnit bundleIu = ius.get(0);
@@ -365,23 +376,29 @@ public class BundlesActionTest extends ActionTest {
// check required capabilities
Collection<IRequirement> requirements = bundleIu.getRequirements();
- verifyRequirement(requirements, JAVA_PACKAGE, TEST4_REQ_PACKAGE_OPTIONAL_NAME, DEFAULT_VERSION_RANGE, null, 0, 1, false);
- verifyRequirement(requirements, JAVA_PACKAGE, TEST4_REQ_PACKAGE_OPTGREEDY_NAME, DEFAULT_VERSION_RANGE, null, 0, 1, true);
+ verifyRequirement(requirements, JAVA_PACKAGE, TEST4_REQ_PACKAGE_OPTIONAL_NAME, DEFAULT_VERSION_RANGE, null, 0,
+ 1, false);
+ verifyRequirement(requirements, JAVA_PACKAGE, TEST4_REQ_PACKAGE_OPTGREEDY_NAME, DEFAULT_VERSION_RANGE, null, 0,
+ 1, true);
verifyRequirement(requirements, OSGI, TEST4_REQ_BUNDLE_OPTIONAL_NAME, DEFAULT_VERSION_RANGE, null, 0, 1, false);
verifyRequirement(requirements, OSGI, TEST4_REQ_BUNDLE_OPTGREEDY_NAME, DEFAULT_VERSION_RANGE, null, 0, 1, true);
assertEquals(4, requirements.size());
}
private void verifyBundle5() {
- ArrayList<IInstallableUnit> ius = new ArrayList<>(publisherResult.getIUs(TEST5_PROV_BUNDLE_NAME, IPublisherResult.ROOT));
+ ArrayList<IInstallableUnit> ius = new ArrayList<>(
+ publisherResult.getIUs(TEST5_PROV_BUNDLE_NAME, IPublisherResult.ROOT));
assertEquals(1, ius.size());
IInstallableUnit bundle5IU = ius.get(0);
-
+ for (AdviceFileAdvice adv : updateDescriptorCapture.getAllValues()) {
+ IRequirement[] reqs = adv.getRequiredCapabilities(new InstallableUnitDescription());
+ if (reqs != null) {
+ verifyRequirement(List.of(reqs), "bar", "foo", VersionRange.emptyRange, null, 6, 7, true);
+ }
+ }
Collection<IRequirement> requirements = bundle5IU.getRequirements();
verifyRequirement(requirements, OSGI_EE, TEST5_REQ_EE, null, 1, 1, true);
- verifyRequirement(requirements, "bar", "foo", VersionRange.emptyRange, null, 6, 7, true);
- assertEquals(2, requirements.size());
}
@Override
@@ -395,7 +412,8 @@ public class BundlesActionTest extends ActionTest {
@Override
protected void insertPublisherInfoBehavior() {
- //super sets publisherInfo.getMetadataRepository and publisherInfo.getContextMetadataRepository
+ // super sets publisherInfo.getMetadataRepository and
+ // publisherInfo.getContextMetadataRepository
super.insertPublisherInfoBehavior();
Map<String, String> sarProperties = new HashMap<>();
sarProperties.put("key1", "value1");//$NON-NLS-1$//$NON-NLS-2$
@@ -405,23 +423,21 @@ public class BundlesActionTest extends ActionTest {
sdkProperties.put("key1", "value1");//$NON-NLS-1$//$NON-NLS-2$
sdkProperties.put("key2", "value2");//$NON-NLS-1$//$NON-NLS-2$
- expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
- expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_INDEX | IPublisherInfo.A_OVERWRITE | IPublisherInfo.A_PUBLISH).anyTimes();
- expect(publisherInfo.getAdvice(null, false, null, null, ICapabilityAdvice.class)).andReturn(new ArrayList<>()).anyTimes();
+ when(publisherInfo.getArtifactRepository()).thenReturn(artifactRepository);
+ when(publisherInfo.getArtifactOptions())
+ .thenReturn(IPublisherInfo.A_INDEX | IPublisherInfo.A_OVERWRITE | IPublisherInfo.A_PUBLISH);
+ when(publisherInfo.getAdvice(null, false, null, null, ICapabilityAdvice.class)).thenReturn(new ArrayList<>());
expectOtherAdviceQueries(TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION);
expectPropertyAdviceQuery(TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION, sarProperties);
expectUpdateDescriptorAdviceQuery(TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION, null);
- expectTouchpointAdviceQuery(TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION, tpAdvice1.getValues());
expectOtherAdviceQueries(TEST2_PROV_BUNDLE_NAME, BUNDLE2_VERSION);
expectPropertyAdviceQuery(TEST2_PROV_BUNDLE_NAME, BUNDLE2_VERSION, sdkProperties);
expectUpdateDescriptorAdviceQuery(TEST2_PROV_BUNDLE_NAME, BUNDLE2_VERSION, null);
- expectTouchpointAdviceQuery(TEST2_PROV_BUNDLE_NAME, BUNDLE2_VERSION, tpAdvice2.getValues());
expectOtherAdviceQueries(TEST3_PROV_BUNDLE_NAME, BUNDLE3_VERSION);
expectPropertyAdviceQuery(TEST3_PROV_BUNDLE_NAME, BUNDLE3_VERSION, sarProperties);
- expectUpdateDescriptorAdviceQuery(TEST3_PROV_BUNDLE_NAME, BUNDLE3_VERSION, udAdvice3.getValues());
expectTouchpointAdviceQuery(TEST3_PROV_BUNDLE_NAME, BUNDLE3_VERSION, null);
expectOtherAdviceQueries(TEST4_PROV_BUNDLE_NAME, BUNDLE4_VERSION);
@@ -429,49 +445,43 @@ public class BundlesActionTest extends ActionTest {
expectUpdateDescriptorAdviceQuery(TEST4_PROV_BUNDLE_NAME, BUNDLE4_VERSION, null);
expectTouchpointAdviceQuery(TEST4_PROV_BUNDLE_NAME, BUNDLE4_VERSION, null);
- expectCapabilityAdviceQuery(TEST5_PROV_BUNDLE_NAME, BUNDLE5_VERSION, capAdvice5.getValues());
+// expectCapabilityAdviceQuery(TEST5_PROV_BUNDLE_NAME, BUNDLE5_VERSION, capAdvice5.getValues());
expectOtherAdviceQueries(TEST5_PROV_BUNDLE_NAME, BUNDLE5_VERSION);
expectPropertyAdviceQuery(TEST5_PROV_BUNDLE_NAME, BUNDLE5_VERSION, sarProperties);
expectUpdateDescriptorAdviceQuery(TEST5_PROV_BUNDLE_NAME, BUNDLE5_VERSION, null);
expectTouchpointAdviceQuery(TEST5_PROV_BUNDLE_NAME, BUNDLE5_VERSION, null);
- //capture any touchpoint advice, and return the captured advice when the action asks for it
- publisherInfo.addAdvice(and(AdviceMatcher.adviceMatches(TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION, ITouchpointAdvice.class), capture(tpAdvice1)));
- EasyMock.expectLastCall().anyTimes();
-
- publisherInfo.addAdvice(and(AdviceMatcher.adviceMatches(TEST2_PROV_BUNDLE_NAME, BUNDLE2_VERSION, ITouchpointAdvice.class), capture(tpAdvice2)));
- EasyMock.expectLastCall().anyTimes();
-
- publisherInfo.addAdvice(and(AdviceMatcher.adviceMatches(TEST3_PROV_BUNDLE_NAME, BUNDLE3_VERSION, AdviceFileAdvice.class), capture(udAdvice3)));
-
- publisherInfo.addAdvice(and(AdviceMatcher.adviceMatches(TEST5_PROV_BUNDLE_NAME, BUNDLE5_VERSION, AdviceFileAdvice.class), capture(capAdvice5)));
- EasyMock.expectLastCall().anyTimes();
}
private void expectOtherAdviceQueries(String bundleName, Version bundleVersion) {
- expect(publisherInfo.getAdvice(null, false, bundleName, bundleVersion, ICapabilityAdvice.class))
- .andReturn(Collections.emptyList());
- expect(publisherInfo.getAdvice(null, false, bundleName, bundleVersion, IAdditionalInstallableUnitAdvice.class))
- .andReturn(Collections.emptyList());
- expect(publisherInfo.getAdvice(null, true, bundleName, bundleVersion, IBundleShapeAdvice.class)).andReturn(null);
+ when(publisherInfo.getAdvice(null, false, bundleName, bundleVersion, ICapabilityAdvice.class))
+ .thenReturn(Collections.emptyList());
+ when(publisherInfo.getAdvice(null, false, bundleName, bundleVersion, IAdditionalInstallableUnitAdvice.class))
+ .thenReturn(Collections.emptyList());
+ when(publisherInfo.getAdvice(null, true, bundleName, bundleVersion, IBundleShapeAdvice.class)).thenReturn(null);
}
- private void expectCapabilityAdviceQuery(String bundleName, Version bundleVersion, Collection<ICapabilityAdvice> answer) {
- if (answer == null)
- answer = Collections.emptyList();
- expect(publisherInfo.getAdvice(null, false, bundleName, bundleVersion, ICapabilityAdvice.class)).andReturn(answer);
- }
+// private void expectCapabilityAdviceQuery(String bundleName, Version bundleVersion,
+// Collection<ICapabilityAdvice> answer) {
+// if (answer == null)
+// answer = Collections.emptyList();
+// when(publisherInfo.getAdvice(null, false, bundleName, bundleVersion, ICapabilityAdvice.class))
+// .thenReturn(answer);
+// }
- private void expectUpdateDescriptorAdviceQuery(String bundleName, Version bundleVersion, Collection<IUpdateDescriptorAdvice> answer) {
+ private void expectUpdateDescriptorAdviceQuery(String bundleName, Version bundleVersion,
+ Collection<IUpdateDescriptorAdvice> answer) {
if (answer == null)
answer = Collections.emptyList();
- expect(publisherInfo.getAdvice(null, false, bundleName, bundleVersion, IUpdateDescriptorAdvice.class)).andReturn(answer);
+ when(publisherInfo.getAdvice(null, false, bundleName, bundleVersion, IUpdateDescriptorAdvice.class))
+ .thenReturn(answer);
}
- private void expectTouchpointAdviceQuery(String bundleName, Version bundleVersion, Collection<ITouchpointAdvice> answer) {
+ private void expectTouchpointAdviceQuery(String bundleName, Version bundleVersion, List<ITouchpointAdvice> answer) {
if (answer == null)
answer = Collections.emptyList();
- expect(publisherInfo.getAdvice(null, false, bundleName, bundleVersion, ITouchpointAdvice.class)).andReturn(answer).anyTimes();
+ when(publisherInfo.getAdvice(null, false, bundleName, bundleVersion, ITouchpointAdvice.class))
+ .thenReturn(answer);
}
private void expectPropertyAdviceQuery(String bundleName, Version bundleVersion, Map<String, String> answer) {
@@ -480,20 +490,22 @@ public class BundlesActionTest extends ActionTest {
propertyAdvices = Collections.singletonList(createPropertyAdvice(answer));
else
propertyAdvices = Collections.emptyList();
- expect(publisherInfo.getAdvice(null, false, bundleName, bundleVersion, IPropertyAdvice.class)).andReturn(propertyAdvices).times(2);
+ when(publisherInfo.getAdvice(null, false, bundleName, bundleVersion, IPropertyAdvice.class))
+ .thenReturn(propertyAdvices);
}
private IPropertyAdvice createPropertyAdvice(Map<String, String> properties) {
- IPropertyAdvice mockAdvice = EasyMock.createMock(IPropertyAdvice.class);
- expect(mockAdvice.getInstallableUnitProperties((InstallableUnitDescription) EasyMock.anyObject())).andReturn(null).anyTimes();
- expect(mockAdvice.getArtifactProperties((IInstallableUnit) EasyMock.anyObject(), (IArtifactDescriptor) EasyMock.anyObject())).andReturn(properties).anyTimes();
- EasyMock.replay(mockAdvice);
+ IPropertyAdvice mockAdvice = mock(IPropertyAdvice.class);
+ when(mockAdvice.getInstallableUnitProperties(any(InstallableUnitDescription.class))).thenReturn(null);
+ when(mockAdvice.getArtifactProperties(any(IInstallableUnit.class), any(IArtifactDescriptor.class)))
+ .thenReturn(properties);
return mockAdvice;
}
public void testDynamicImport() throws Exception {
File testData = getTestData("dymamicImport", "testData/dynamicImport");
- IInstallableUnit iu = BundlesAction.createBundleIU(BundlesAction.createBundleDescription(testData), null, new PublisherInfo());
+ IInstallableUnit iu = BundlesAction.createBundleIU(BundlesAction.createBundleDescription(testData), null,
+ new PublisherInfo());
Collection<IRequirement> requirements = iu.getRequirements();
verifyRequirement(requirements, OSGI_EE, TESTDYN_REQ_EE, null, 1, 1, true);
@@ -510,11 +522,13 @@ public class BundlesActionTest extends ActionTest {
// overall status shall be error...
assertThat(status, errorStatus());
List<IStatus> childStatuses = Arrays.asList(status.getChildren());
- assertThat(childStatuses, hasItem(statusWithMessageWhich(containsString("The manifest line \"foo\" is invalid; it has no colon ':' character after the header key."))));
+ assertThat(childStatuses, hasItem(statusWithMessageWhich(containsString(
+ "The manifest line \"foo\" is invalid; it has no colon ':' character after the header key."))));
assertThat(childStatuses.size(), is(1));
// ... but the valid bundle must still be published
- Collection<IInstallableUnit> ius = publisherResult.getIUs("org.eclipse.p2.test.validManifest", IPublisherResult.ROOT);
+ Collection<IInstallableUnit> ius = publisherResult.getIUs("org.eclipse.p2.test.validManifest",
+ IPublisherResult.ROOT);
assertThat(ius.size(), is(1));
}
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/CaptureList.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/CaptureList.java
deleted file mode 100644
index e317d621c..000000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/CaptureList.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2017 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import java.util.AbstractList;
-import org.easymock.Capture;
-
-/**
- * An object that adapts an EasyMock Capture to a List.
- */
-public class CaptureList<E> extends AbstractList<E> {
- private Capture<E> capture;
-
- public CaptureList(Capture<E> capture) {
- this.capture = capture;
- }
-
- @Override
- public E get(int arg0) {
- return capture.getValue();
- }
-
- @Override
- public int size() {
- return capture.hasCaptured() ? 1 : 0;
- }
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java
index 24b6997bb..99afa871c 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java
@@ -15,13 +15,17 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.expect;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.matches;
+import static org.mockito.Mockito.when;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import org.easymock.EasyMock;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
import org.eclipse.equinox.internal.p2.publisher.eclipse.DataLoader;
@@ -147,7 +151,8 @@ public class ConfigCUsActionTest extends ActionTest {
ConfigAdvice configAdvice = new ConfigAdvice(configData, configSpec);
ArrayList<IConfigAdvice> configList = new ArrayList<>();
configList.add(configAdvice);
- expect(publisherInfo.getAdvice(EasyMock.matches(configSpec), EasyMock.eq(false), (String) EasyMock.anyObject(), (Version) EasyMock.anyObject(), EasyMock.eq(IConfigAdvice.class))).andReturn(configList).anyTimes();
+ when(publisherInfo.getAdvice(matches(configSpec), eq(false), anyString(), any(Version.class),
+ eq(IConfigAdvice.class))).thenReturn(configList);
//configure IExecutableAdvice
LauncherData launcherData = loader.getLauncherData();
@@ -164,14 +169,15 @@ public class ConfigCUsActionTest extends ActionTest {
// TODO Auto-generated catch block
}
- expect(publisherInfo.getAdvice(EasyMock.matches(configSpec), EasyMock.eq(false), (String) EasyMock.anyObject(), (Version) EasyMock.anyObject(), EasyMock.eq(IExecutableAdvice.class))).andReturn(launchingList).anyTimes();
+ when(publisherInfo.getAdvice(matches(configSpec), eq(false), anyString(), any(Version.class),
+ eq(IExecutableAdvice.class))).thenReturn(launchingList);
//setup metadata repository
IInstallableUnit[] ius = {mockIU("foo", null), mockIU("bar", null)}; //$NON-NLS-1$ //$NON-NLS-2$
metadataRepo = new TestMetadataRepository(getAgent(), ius);
- expect(publisherInfo.getMetadataRepository()).andReturn(metadataRepo).anyTimes();
- expect(publisherInfo.getContextMetadataRepository()).andReturn(null).anyTimes();
+ when(publisherInfo.getMetadataRepository()).thenReturn(metadataRepo);
+ when(publisherInfo.getContextMetadataRepository()).thenReturn(null);
}
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java
index 41bf705a0..532bab05e 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2017 Code 9 and others.
+ * Copyright (c) 2008, 2021 Code 9 and others.
*
* This
* program and the accompanying materials are made available under the terms of
@@ -15,9 +15,11 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.anyBoolean;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Mockito.when;
import java.io.File;
import java.io.FileInputStream;
@@ -30,6 +32,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;
import java.util.LinkedList;
+import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
@@ -62,10 +65,9 @@ public class EquinoxExecutableActionTest extends ActionTest {
private static final File LINUX_EXEC = new File(TestActivator.getTestDataFolder(), "EquinoxExecutableActionTest/linux/"); //$NON-NLS-1$
private static final File WIN_EXEC = new File(TestActivator.getTestDataFolder(), "EquinoxExecutableActionTest/win/"); //$NON-NLS-1$
private final String EXECUTABLE_NAME = "LauncherName"; //$NON-NLS-1$
- private Collection<IBrandingAdvice> brandingAdvice = new LinkedList<>();
private String macConfigCocoa = "cocoa.macosx.x86"; //$NON-NLS-1$
- private String winConfig = "win32.win32.x86"; //$NON-NLS-1$
- private String linuxConfig = "linux.gtk.x86"; //$NON-NLS-1$
+ private String winConfig = "win32.win32.x86_64"; //$NON-NLS-1$
+ private String linuxConfig = "linux.gtk.x86_64"; //$NON-NLS-1$
private ExecutablesDescriptor executablesDescriptor;
private IArtifactRepository artifactRepository;
private Version version = Version.create("1.2.3"); //$NON-NLS-1$
@@ -76,9 +78,6 @@ public class EquinoxExecutableActionTest extends ActionTest {
public void setUp() throws Exception {
setupPublisherInfo();
setupPublisherResult();
- }
-
- private void setupArtifactRepository() {
artifactRepository = new TestArtifactRepository(getAgent());
}
@@ -118,7 +117,10 @@ public class EquinoxExecutableActionTest extends ActionTest {
private void testExecutableAction(String idBase, final String osArg, String config, File exec, File icon) {
id = idBase;
- setupBrandingAdvice(osArg, configSpec, exec, icon);
+ when(publisherInfo.getArtifactRepository()).thenReturn(artifactRepository);
+ when(publisherInfo.getArtifactOptions()).thenReturn(IPublisherInfo.A_PUBLISH);
+ when(publisherInfo.getAdvice(anyString(), anyBoolean(), nullable(String.class), nullable(Version.class),
+ eq(IBrandingAdvice.class))).then(invocation -> setupBrandingAdvice(osArg, icon));
executablesDescriptor = ExecutablesDescriptor.createDescriptor(osArg, "eclipse", exec);
testAction = new EquinoxExecutableAction(executablesDescriptor, config, idBase, version, flavorArg);
testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
@@ -128,10 +130,10 @@ public class EquinoxExecutableActionTest extends ActionTest {
private void verifyResults(String idBase, String confSpec) {
ArrayList<IInstallableUnit> iuList = new ArrayList<>(publisherResult.getIUs(null, IPublisherResult.ROOT));
+ assertEquals(3, iuList.size());
verifyEclipseIU(iuList, idBase, confSpec);
verifyCU(iuList, idBase, confSpec);
verifyExecIU(iuList, idBase, confSpec);
- assertTrue(iuList.size() == 3);
}
private void verifyCU(ArrayList<IInstallableUnit> iuList, String idBase, String confSpec) {
@@ -162,16 +164,16 @@ public class EquinoxExecutableActionTest extends ActionTest {
private void verifyEclipseIU(ArrayList<IInstallableUnit> iuList, String idBase, String confSpec) {
for (IInstallableUnit possibleEclipse : iuList) {
if (possibleEclipse.getId().equals((idBase + ".executable." + confSpec + "." + EXECUTABLE_NAME))) { //$NON-NLS-1$//$NON-NLS-2$
- assertTrue(possibleEclipse.getVersion().equals(version));
+ assertEquals(version, possibleEclipse.getVersion());
Collection<IProvidedCapability> providedCapability = possibleEclipse.getProvidedCapabilities();
verifyProvidedCapability(providedCapability, IInstallableUnit.NAMESPACE_IU_ID, idBase + ".executable." + confSpec + "." + EXECUTABLE_NAME, version); //$NON-NLS-1$ //$NON-NLS-2$
- assertTrue(providedCapability.size() == 1);
+ assertEquals(1, providedCapability.size());
Collection<IRequirement> req = possibleEclipse.getRequirements();
- assertTrue(req.size() == 0);
+ assertEquals(0, req.size());
return;//pass
}
}
- fail();
+ fail("No executable installable unit.");
}
private void verifyExecIU(ArrayList<IInstallableUnit> iuList, String idBase, String confSpec) {
@@ -274,15 +276,8 @@ public class EquinoxExecutableActionTest extends ActionTest {
}
}
- @Override
- protected void insertPublisherInfoBehavior() {
- setupArtifactRepository();
- expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
- expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_PUBLISH).anyTimes();
- expect(publisherInfo.getAdvice((String) anyObject(), anyBoolean(), (String) anyObject(), (Version) anyObject(), (Class<IBrandingAdvice>) anyObject())).andReturn(brandingAdvice);
- }
-
- private void setupBrandingAdvice(final String osArg, final String config, final File exec, final File icon) {
+ private List<IBrandingAdvice> setupBrandingAdvice(final String osArg, final File icon) {
+ List<IBrandingAdvice> brandingAdvice = new LinkedList<>();
brandingAdvice.add(new IBrandingAdvice() {
@Override
public boolean isApplicable(String configSpec, boolean includeDefault, String id, Version version) {
@@ -304,5 +299,6 @@ public class EquinoxExecutableActionTest extends ActionTest {
return EXECUTABLE_NAME;
}
});
+ return brandingAdvice;
}
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java
index 95442d175..ff0b846fb 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java
@@ -15,9 +15,8 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.Collection;
@@ -56,13 +55,12 @@ public class EquinoxLauncherCUActionTest extends ActionTest {
}
protected IInstallableUnit mockIU(String id, Version version, boolean fragment) {
- IInstallableUnit result = createMock(IInstallableUnit.class);
- expect(result.getId()).andReturn(id).anyTimes();
+ IInstallableUnit result = mock(IInstallableUnit.class);
+ when(result.getId()).thenReturn(id);
if (version == null)
version = Version.emptyVersion;
- expect(result.getVersion()).andReturn(version).anyTimes();
- expect(result.getFilter()).andReturn(null).anyTimes();
- replay(result);
+ when(result.getVersion()).thenReturn(version);
+ when(result.getFilter()).thenReturn(null);
return result;
}
@@ -108,7 +106,10 @@ public class EquinoxLauncherCUActionTest extends ActionTest {
ArrayList<IVersionAdvice> versionList = new ArrayList<>();
versionList.add(versionAdvice);
- expect(publisherInfo.getAdvice(null, true, EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER, null, IVersionAdvice.class)).andReturn(versionList);
- expect(publisherInfo.getAdvice(configSpec, true, EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER + "." + configSpec, null, IVersionAdvice.class)).andReturn(versionList); //$NON-NLS-1$
+ when(publisherInfo.getAdvice(null, true, EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER, null,
+ IVersionAdvice.class)).thenReturn(versionList);
+ when(publisherInfo.getAdvice(configSpec, true,
+ EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER + "." + configSpec, null, IVersionAdvice.class)) //$NON-NLS-1$
+ .thenReturn(versionList);
}
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java
index bae3a460e..279660892 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java
@@ -15,10 +15,10 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.and;
-import static org.easymock.EasyMock.capture;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import java.io.File;
import java.io.IOException;
@@ -26,10 +26,9 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.zip.ZipInputStream;
-import org.easymock.Capture;
-import org.easymock.EasyMock;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
@@ -62,6 +61,8 @@ import org.eclipse.equinox.p2.tests.TestData;
import org.eclipse.equinox.p2.tests.TestMetadataRepository;
import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository;
import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mockito;
public class FeaturesActionTest extends ActionTest {
@@ -75,12 +76,12 @@ public class FeaturesActionTest extends ActionTest {
private Version barVersion = Version.create("1.1.1"); //$NON-NLS-1$
private String BAR = "bar"; //$NON-NLS-1$
private String FOO = "foo"; //$NON-NLS-1$
- private Capture<ITouchpointAdvice> tpAdvice;
+ private ArgumentCaptor<ITouchpointAdvice> capture = ArgumentCaptor.forClass(ITouchpointAdvice.class);
@Override
public void setUp() throws Exception {
- testAction = new FeaturesAction(new File[] {root});
- tpAdvice = Capture.newInstance();
+ super.setUp();
+ testAction = Mockito.spy(new FeaturesAction(new File[] { root }));
setupPublisherInfo();
setupPublisherResult();
}
@@ -90,37 +91,41 @@ public class FeaturesActionTest extends ActionTest {
*/
public void testSimple() throws Exception {
testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
+ verify(publisherInfo, Mockito.atLeastOnce()).addAdvice(capture.capture());
verifyRepositoryContents();
debug("Completed FeaturesAction."); //$NON-NLS-1$
}
public void testFeaturePatch() throws Exception {
File testFolder = getTestFolder("FeaturesAction.testFilters");
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
buffer.append("<feature id=\"test.feature\" version=\"1.0.0\" > \n");
buffer.append(" <requires> \n");
- buffer.append(" <import feature=\"org.foo\" version=\"[1.0.0,2.0.0)\" match=\"versionRange\" patch=\"true\"/> \n");
+ buffer.append(
+ " <import feature=\"org.foo\" version=\"[1.0.0,2.0.0)\" match=\"versionRange\" patch=\"true\"/> \n");
buffer.append(" </requires> \n");
buffer.append("</feature> \n");
File featureXML = new File(testFolder, "feature.xml");
writeBuffer(featureXML, buffer);
publisherInfo = new PublisherInfo();
- FeaturesAction action = new FeaturesAction(new File[] {testFolder});
+ FeaturesAction action = new FeaturesAction(new File[] { testFolder });
action.perform(publisherInfo, publisherResult, new NullProgressMonitor());
- IInstallableUnitPatch iu = (IInstallableUnitPatch) publisherResult.getIU("test.feature.feature.group", Version.parseVersion("1.0.0"), null);
+ IInstallableUnitPatch iu = (IInstallableUnitPatch) publisherResult.getIU("test.feature.feature.group",
+ Version.parseVersion("1.0.0"), null);
IRequirement[][] applicabilityScope = iu.getApplicabilityScope();
assertEquals(1, applicabilityScope.length);
IRequiredCapability require = (IRequiredCapability) applicabilityScope[0][0];
- IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "org.foo.feature.group", VersionRange.create("[1.0.0, 2.0.0)"), null, false, false, true);
+ IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID,
+ "org.foo.feature.group", VersionRange.create("[1.0.0, 2.0.0)"), null, false, false, true);
verifyRequirement(Collections.singleton(expected), require);
}
public void testMatchRange() throws Exception {
File testFolder = getTestFolder("FeaturesAction.testFilters");
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
buffer.append("<feature id=\"test.feature\" version=\"1.0.0\" > \n");
buffer.append(" <requires> \n");
buffer.append(" <import plugin=\"org.plug\" version=\"[1.0.0,2.0.0)\" match=\"versionRange\" /> \n");
@@ -131,7 +136,7 @@ public class FeaturesActionTest extends ActionTest {
writeBuffer(featureXML, buffer);
publisherInfo = new PublisherInfo();
- FeaturesAction action = new FeaturesAction(new File[] {testFolder});
+ FeaturesAction action = new FeaturesAction(new File[] { testFolder });
action.perform(publisherInfo, publisherResult, new NullProgressMonitor());
IInstallableUnit iu = publisherResult.getIU("test.feature.feature.group", Version.parseVersion("1.0.0"), null);
@@ -141,10 +146,12 @@ public class FeaturesActionTest extends ActionTest {
String requireName = ((IRequiredCapability) require).getName();
if (requireName.equals("org.foo.feature.group")) {
- IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "org.foo.feature.group", VersionRange.create("[1.0.0, 2.0.0)"), null, false, false, true);
+ IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID,
+ "org.foo.feature.group", VersionRange.create("[1.0.0, 2.0.0)"), null, false, false, true);
verifyRequirement(Collections.singleton(expected), require);
} else if (requireName.equals("org.plug")) {
- IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "org.plug", VersionRange.create("[1.0.0, 2.0.0)"), null, false, false, true);
+ IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "org.plug",
+ VersionRange.create("[1.0.0, 2.0.0)"), null, false, false, true);
verifyRequirement(Collections.singleton(expected), require);
}
}
@@ -152,7 +159,7 @@ public class FeaturesActionTest extends ActionTest {
public void testMatchGreaterOrEqual() throws Exception {
File testFolder = getTestFolder("FeaturesAction.testFilters");
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
buffer.append("<feature id=\"test.feature\" version=\"1.0.0\" > \n");
buffer.append(" <requires> \n");
buffer.append(" <import plugin=\"org.plug\" version=\"1.0.0\" match=\"greaterOrEqual\" /> \n");
@@ -163,7 +170,7 @@ public class FeaturesActionTest extends ActionTest {
writeBuffer(featureXML, buffer);
publisherInfo = new PublisherInfo();
- FeaturesAction action = new FeaturesAction(new File[] {testFolder});
+ FeaturesAction action = new FeaturesAction(new File[] { testFolder });
action.perform(publisherInfo, publisherResult, new NullProgressMonitor());
IInstallableUnit iu = publisherResult.getIU("test.feature.feature.group", Version.parseVersion("1.0.0"), null);
@@ -173,10 +180,12 @@ public class FeaturesActionTest extends ActionTest {
String requireName = ((IRequiredCapability) require).getName();
if (requireName.equals("org.foo.feature.group")) {
- IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "org.foo.feature.group", VersionRange.create("1.0.0"), null, false, false, true);
+ IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID,
+ "org.foo.feature.group", VersionRange.create("1.0.0"), null, false, false, true);
verifyRequirement(Collections.singleton(expected), require);
} else if (requireName.equals("org.plug")) {
- IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "org.plug", VersionRange.create("1.0.0"), null, false, false, true);
+ IRequirement expected = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "org.plug",
+ VersionRange.create("1.0.0"), null, false, false, true);
verifyRequirement(Collections.singleton(expected), require);
}
}
@@ -184,7 +193,7 @@ public class FeaturesActionTest extends ActionTest {
public void testFilters() throws Exception {
File testFolder = getTestFolder("FeaturesAction.testFilters");
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
buffer.append("<feature id=\"test.feature\" version=\"1.0.0\" > \n");
buffer.append(" <includes id=\"org.foo\" version=\"1.0.0\" filter=\"(osgi.os=win32)\"/> \n");
buffer.append(" <plugin id=\"org.plug\" version=\"1.0.0\" filter=\"(my.prop=foo)\" os=\"win32\" /> \n");
@@ -197,7 +206,7 @@ public class FeaturesActionTest extends ActionTest {
writeBuffer(featureXML, buffer);
publisherInfo = new PublisherInfo();
- FeaturesAction action = new FeaturesAction(new File[] {testFolder});
+ FeaturesAction action = new FeaturesAction(new File[] { testFolder });
action.perform(publisherInfo, publisherResult, new NullProgressMonitor());
IInstallableUnit iu = publisherResult.getIU("test.feature.feature.group", Version.parseVersion("1.0.0"), null);
@@ -207,7 +216,8 @@ public class FeaturesActionTest extends ActionTest {
if (((IRequiredCapability) require).getName().equals("org.foo.feature.group")) {
assertEquals(ExpressionUtil.parseLDAP("(osgi.os=win32)"), require.getFilter().getParameters()[0]);
} else if (((IRequiredCapability) require).getName().equals("org.plug")) {
- assertEquals(ExpressionUtil.parseLDAP("(&(my.prop=foo)(osgi.os=win32))"), require.getFilter().getParameters()[0]);
+ assertEquals(ExpressionUtil.parseLDAP("(&(my.prop=foo)(osgi.os=win32))"),
+ require.getFilter().getParameters()[0]);
} else if (((IRequiredCapability) require).getName().equals("org.plug2")) {
assertEquals(ExpressionUtil.parseLDAP("(my.prop=foo)"), require.getFilter().getParameters()[0]);
} else if (((IRequiredCapability) require).getName().equals("org.foo2.feature.group")) {
@@ -222,151 +232,173 @@ public class FeaturesActionTest extends ActionTest {
}
private void verifyMetadata() {
- //{foo.feature.jar=[foo.feature.jar 1.0.0], bar.feature.jar=[bar.feature.jar 1.1.1], foo.feature.group=[foo.feature.group 1.0.0], bar.feature.group=[bar.feature.group 1.1.1]}
- ArrayList<IInstallableUnit> fooIUs = new ArrayList<>(publisherResult.getIUs("foo.feature.jar", IPublisherResult.NON_ROOT)); //$NON-NLS-1$
- assertTrue(fooIUs.size() == 1);
+ // {foo.feature.jar=[foo.feature.jar 1.0.0], bar.feature.jar=[bar.feature.jar
+ // 1.1.1], foo.feature.group=[foo.feature.group 1.0.0],
+ // bar.feature.group=[bar.feature.group 1.1.1]}
+ ArrayList<IInstallableUnit> fooIUs = new ArrayList<>(
+ publisherResult.getIUs("foo.feature.jar", IPublisherResult.NON_ROOT)); //$NON-NLS-1$
+ assertEquals(1, fooIUs.size());
IInstallableUnit foo = fooIUs.get(0);
assertTrue(foo.getId().equalsIgnoreCase("foo.feature.jar")); //$NON-NLS-1$
- assertTrue(foo.getVersion().equals(fooVersion));
+ assertEquals(fooVersion, foo.getVersion());
assertEquals("Foo Feature", foo.getProperty(IInstallableUnit.PROP_NAME));
assertEquals("Foo Description", foo.getProperty(IInstallableUnit.PROP_DESCRIPTION));
assertEquals("Foo License", foo.getLicenses().iterator().next().getBody());
assertEquals("Foo Copyright", foo.getCopyright().getBody());
- assertTrue(foo.getProperty("key1").equals("value1")); //$NON-NLS-1$ //$NON-NLS-2$
- assertTrue(foo.getProperty("key2").equals("value2")); //$NON-NLS-1$//$NON-NLS-2$
- assertTrue(foo.getArtifacts().iterator().next().equals(FOO_KEY));
- assertEquals(foo.getFilter().getParameters()[0], ExpressionUtil.parseLDAP("(org.eclipse.update.install.features=true)")); //$NON-NLS-1$
+ assertEquals("value1", foo.getProperty("key1")); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals("value2", foo.getProperty("key2")); //$NON-NLS-1$//$NON-NLS-2$
+ assertEquals(FOO_KEY, foo.getArtifacts().iterator().next());
+ assertEquals(foo.getFilter().getParameters()[0],
+ ExpressionUtil.parseLDAP("(org.eclipse.update.install.features=true)")); //$NON-NLS-1$
- //check touchpointType
+ // check touchpointType
assertTrue(foo.getTouchpointType().getId().equalsIgnoreCase("org.eclipse.equinox.p2.osgi")); //$NON-NLS-1$
- assertTrue(foo.getTouchpointType().getVersion().equals(fooVersion));
+ assertEquals(fooVersion, foo.getTouchpointType().getVersion());
- //zipped=true
+ // zipped=true
Collection<ITouchpointData> tpData = foo.getTouchpointData();
String fooValue = tpData.iterator().next().getInstructions().get("zipped").getBody(); //$NON-NLS-1$
assertTrue(fooValue.equalsIgnoreCase("true")); //$NON-NLS-1$
Collection<IRequirement> fooRequiredCapabilities = foo.getRequirements();
- assertTrue(fooRequiredCapabilities.size() == 0);
+ assertTrue(fooRequiredCapabilities.isEmpty());
Collection<IProvidedCapability> fooProvidedCapabilities = foo.getProvidedCapabilities();
- verifyProvidedCapability(fooProvidedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "foo.feature.jar", fooVersion); //$NON-NLS-1$
- verifyProvidedCapability(fooProvidedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "feature", fooVersion); //$NON-NLS-1$
+ verifyProvidedCapability(fooProvidedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "foo.feature.jar", //$NON-NLS-1$
+ fooVersion);
+ verifyProvidedCapability(fooProvidedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "feature", //$NON-NLS-1$
+ fooVersion);
verifyProvidedCapability(fooProvidedCapabilities, "org.eclipse.update.feature", FOO, fooVersion); //$NON-NLS-1$
- assertTrue(fooProvidedCapabilities.size() == 3);
+ assertEquals(3, fooProvidedCapabilities.size());
- //feature group IU for foo
+ // feature group IU for foo
fooIUs = new ArrayList<>(publisherResult.getIUs("foo.feature.group", IPublisherResult.ROOT)); //$NON-NLS-1$
- assertTrue(fooIUs.size() == 1);
+ assertEquals(1, fooIUs.size());
IInstallableUnit fooGroup = fooIUs.get(0);
- tpData = fooGroup.getTouchpointData();
- assertEquals(1, tpData.size());
- ITouchpointInstruction instruction = tpData.iterator().next().getInstruction("install");
+ ITouchpointAdvice tData = capture.getValue();
+ ITouchpointInstruction instruction = tData.getTouchpointData(NO_TP_DATA).getInstruction("install");
assertNotNull(instruction);
- assertEquals("ln(targetDir:@artifact,linkTarget:foo/lib.1.so,linkName:lib.so);chmod(targetDir:@artifact,targetFile:lib/lib.so,permissions:755);", instruction.getBody());
+ assertEquals(
+ "ln(targetDir:@artifact,linkTarget:foo/lib.1.so,linkName:lib.so);chmod(targetDir:@artifact,targetFile:lib/lib.so,permissions:755);",
+ instruction.getBody());
assertNull(fooGroup.getFilter());
- /*verify bar*/
- ArrayList<IInstallableUnit> barIUs = new ArrayList<>(publisherResult.getIUs("bar.feature.jar", IPublisherResult.NON_ROOT)); //$NON-NLS-1$
- assertTrue(barIUs.size() == 1);
+ /* verify bar */
+ ArrayList<IInstallableUnit> barIUs = new ArrayList<>(
+ publisherResult.getIUs("bar.feature.jar", IPublisherResult.NON_ROOT)); //$NON-NLS-1$
+ assertEquals(1, barIUs.size());
IInstallableUnit bar = barIUs.get(0);
- assertTrue(bar.getId().equals("bar.feature.jar")); //$NON-NLS-1$
- assertTrue(bar.getVersion().equals(barVersion));
- assertTrue(bar.getProperty("key1").equals("value1")); //$NON-NLS-1$//$NON-NLS-2$
- assertTrue(bar.getProperty("key2").equals("value2")); //$NON-NLS-1$//$NON-NLS-2$
+ assertEquals("bar.feature.jar", bar.getId()); //$NON-NLS-1$
+ assertEquals(barVersion, bar.getVersion());
+ assertEquals("value1", bar.getProperty("key1")); //$NON-NLS-1$//$NON-NLS-2$
+ assertEquals("value2", bar.getProperty("key2")); //$NON-NLS-1$//$NON-NLS-2$
assertTrue(bar.getProperties().containsKey("org.eclipse.update.installHandler")); //$NON-NLS-1$
assertTrue(bar.getProperties().containsValue("handler=bar handler")); //$NON-NLS-1$
- assertTrue(bar.getArtifacts().iterator().next().equals(BAR_KEY));
- assertEquals(bar.getFilter().getParameters()[0], ExpressionUtil.parseLDAP("(org.eclipse.update.install.features=true)")); //$NON-NLS-1$
+ assertEquals(BAR_KEY, bar.getArtifacts().iterator().next());
+ assertEquals(bar.getFilter().getParameters()[0],
+ ExpressionUtil.parseLDAP("(org.eclipse.update.install.features=true)")); //$NON-NLS-1$
assertTrue(bar.isSingleton());
barIUs = new ArrayList<>(publisherResult.getIUs("bar.feature.group", IPublisherResult.ROOT)); //$NON-NLS-1$
- assertTrue(fooIUs.size() == 1);
+ assertEquals(1, fooIUs.size());
IInstallableUnit barGroup = barIUs.get(0);
Collection<IRequirement> barRequiredCapabilities = barGroup.getRequirements();
- //contains(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar_root", new VersionRange(barVersion, true, barVersion, true), null, false /*multiple*/, false /*optional*/); //$NON-NLS-1$//$NON-NLS-2$
- verifyRequirement(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar.feature.jar", new VersionRange(barVersion, true, barVersion, true), "(org.eclipse.update.install.features=true)", 1, 1, true); //$NON-NLS-1$//$NON-NLS-2$
- verifyRequirement(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "org.bar.feature.feature.group", VersionRange.emptyRange, "(&(|(osgi.nl=de)(osgi.nl=en)(osgi.nl=fr)))", 1, 1, true); //$NON-NLS-1$//$NON-NLS-2$
- assertEquals(barGroup.getFilter().getParameters()[0], ExpressionUtil.parseLDAP("(&(|(osgi.os=macosx)(osgi.os=win32))(|(osgi.ws=carbon)(osgi.ws=win32))(|(osgi.arch=ppc)(osgi.arch=x86))(osgi.nl=en))"));
-
- //check zipped=true in touchpointData
+ // contains(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID,
+ // "bar_root", new VersionRange(barVersion, true, barVersion, true), null, false
+ // /*multiple*/, false /*optional*/); //$NON-NLS-1$//$NON-NLS-2$
+ verifyRequirement(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar.feature.jar", //$NON-NLS-1$
+ new VersionRange(barVersion, true, barVersion, true), "(org.eclipse.update.install.features=true)", 1, //$NON-NLS-1$
+ 1, true);
+ verifyRequirement(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "org.bar.feature.feature.group", //$NON-NLS-1$
+ VersionRange.emptyRange, "(&(|(osgi.nl=de)(osgi.nl=en)(osgi.nl=fr)))", 1, 1, true); //$NON-NLS-1$
+ assertEquals(barGroup.getFilter().getParameters()[0], ExpressionUtil.parseLDAP(
+ "(&(|(osgi.os=macosx)(osgi.os=win32))(|(osgi.ws=carbon)(osgi.ws=win32))(|(osgi.arch=ppc)(osgi.arch=x86))(osgi.nl=en))"));
+
+ // check zipped=true in touchpointData
String barValue = bar.getTouchpointData().iterator().next().getInstructions().get("zipped").getBody(); //$NON-NLS-1$
assertTrue(barValue.equalsIgnoreCase("true")); //$NON-NLS-1$
- //check touchpointType
+ // check touchpointType
assertTrue(bar.getTouchpointType().getId().equalsIgnoreCase("org.eclipse.equinox.p2.osgi")); //$NON-NLS-1$
- assertTrue(bar.getTouchpointType().getVersion().equals(fooVersion));
- //String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple, boolean greedy)
+ assertEquals(fooVersion, bar.getTouchpointType().getVersion());
+ // String namespace, String name, VersionRange range, String filter, boolean
+ // optional, boolean multiple, boolean greedy)
barRequiredCapabilities = bar.getRequirements();
- assertTrue(barRequiredCapabilities.size() == 0);
+ assertTrue(barRequiredCapabilities.isEmpty());
Collection<IProvidedCapability> barProvidedCapabilities = bar.getProvidedCapabilities();
- verifyProvidedCapability(barProvidedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar.feature.jar", barVersion); //$NON-NLS-1$
- verifyProvidedCapability(barProvidedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "feature", fooVersion); //$NON-NLS-1$
+ verifyProvidedCapability(barProvidedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar.feature.jar", //$NON-NLS-1$
+ barVersion);
+ verifyProvidedCapability(barProvidedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "feature", //$NON-NLS-1$
+ fooVersion);
verifyProvidedCapability(barProvidedCapabilities, "org.eclipse.update.feature", BAR, barVersion); //$NON-NLS-1$
- assertTrue(barProvidedCapabilities.size() == 3);
+ assertEquals(3, barProvidedCapabilities.size());
}
private void verifyArtifacts() throws IOException {
ZipInputStream actualStream = artifactRepository.getZipInputStream(FOO_KEY);
- Map<String, Object[]> expected = getFileMap(new HashMap<>(), new File[] {new File(root, FOO)}, new Path(new File(root, FOO).getAbsolutePath()));
+ Map<String, Object[]> expected = getFileMap(new HashMap<>(), new File[] { new File(root, FOO) },
+ new Path(new File(root, FOO).getAbsolutePath()));
TestData.assertContains(expected, actualStream, true);
- expected = getFileMap(new HashMap<>(), new File[] {new File(root, BAR)}, new Path(new File(root, BAR).getAbsolutePath()));
+ expected = getFileMap(new HashMap<>(), new File[] { new File(root, BAR) },
+ new Path(new File(root, BAR).getAbsolutePath()));
actualStream = artifactRepository.getZipInputStream(BAR_KEY);
TestData.assertContains(expected, actualStream, true);
}
@Override
protected void insertPublisherInfoBehavior() {
- //setup metadataRepository with barIU
- metadataRepository = new TestMetadataRepository(getAgent(), new IInstallableUnit[] {mockIU(BAR, null)});
-
- ArrayList<IPropertyAdvice> adviceCollection = fillAdvice(new ArrayList<>());
- expect(publisherInfo.getAdvice(null, false, "bar.feature.jar", barVersion, IPropertyAdvice.class)).andReturn(adviceCollection).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "bar", barVersion, IPropertyAdvice.class)).andReturn(adviceCollection).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "bar", barVersion, IFeatureRootAdvice.class))
- .andReturn(Collections.emptyList()).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion, IPropertyAdvice.class)).andReturn(adviceCollection).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion, ITouchpointAdvice.class))
- .andReturn(Collections.emptyList()).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion, ICapabilityAdvice.class))
- .andReturn(Collections.emptyList()).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion,
- IAdditionalInstallableUnitAdvice.class)).andReturn(Collections.emptyList()).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "foo.feature.jar", fooVersion, IPropertyAdvice.class)).andReturn(adviceCollection).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion, IUpdateDescriptorAdvice.class))
- .andReturn(Collections.emptyList()).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "foo", fooVersion, IPropertyAdvice.class)).andReturn(adviceCollection).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "foo", fooVersion, IFeatureRootAdvice.class))
- .andReturn(Collections.emptyList()).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion, IPropertyAdvice.class)).andReturn(adviceCollection).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion, ICapabilityAdvice.class))
- .andReturn(Collections.emptyList()).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion,
- IAdditionalInstallableUnitAdvice.class)).andReturn(Collections.emptyList()).anyTimes();
- expect(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion, IUpdateDescriptorAdvice.class))
- .andReturn(Collections.emptyList()).anyTimes();
- expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_INDEX | IPublisherInfo.A_OVERWRITE | IPublisherInfo.A_PUBLISH).anyTimes();
- expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
- expect(publisherInfo.getMetadataRepository()).andReturn(metadataRepository).anyTimes();
- expect(publisherInfo.getContextMetadataRepository()).andReturn(null).anyTimes();
-
- //capture any touchpoint advice, and return the captured advice when the action asks for it
- publisherInfo.addAdvice(and(isA(ITouchpointAdvice.class), capture(tpAdvice)));
- EasyMock.expectLastCall().anyTimes();
- expect(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion, ITouchpointAdvice.class)).andReturn(new CaptureList<>(tpAdvice)).anyTimes();
+ // setup metadataRepository with barIU
+ metadataRepository = new TestMetadataRepository(getAgent(), new IInstallableUnit[] { mockIU(BAR, null) });
+
+ List<IPropertyAdvice> adviceCollection = fillAdvice(new ArrayList<>());
+ when(publisherInfo.getAdvice(null, false, "bar.feature.jar", barVersion, IPropertyAdvice.class))
+ .thenReturn(adviceCollection);
+ when(publisherInfo.getAdvice(null, false, "bar", barVersion, IPropertyAdvice.class))
+ .thenReturn(adviceCollection);
+ when(publisherInfo.getAdvice(null, false, "bar", barVersion, IFeatureRootAdvice.class))
+ .thenReturn(Collections.emptyList());
+ when(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion, IPropertyAdvice.class))
+ .thenReturn(adviceCollection);
+ when(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion, ITouchpointAdvice.class))
+ .thenReturn(Collections.emptyList());
+ when(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion, ICapabilityAdvice.class))
+ .thenReturn(Collections.emptyList());
+ when(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion,
+ IAdditionalInstallableUnitAdvice.class)).thenReturn(Collections.emptyList());
+ when(publisherInfo.getAdvice(null, false, "foo.feature.jar", fooVersion, IPropertyAdvice.class))
+ .thenReturn(adviceCollection);
+ when(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion, IUpdateDescriptorAdvice.class))
+ .thenReturn(Collections.emptyList());
+ when(publisherInfo.getAdvice(null, false, "foo", fooVersion, IPropertyAdvice.class))
+ .thenReturn(adviceCollection);
+ when(publisherInfo.getAdvice(null, false, "foo", fooVersion, IFeatureRootAdvice.class))
+ .thenReturn(Collections.emptyList());
+ when(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion, IPropertyAdvice.class))
+ .thenReturn(adviceCollection);
+ when(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion, ICapabilityAdvice.class))
+ .thenReturn(Collections.emptyList());
+ when(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion,
+ IAdditionalInstallableUnitAdvice.class)).thenReturn(Collections.emptyList());
+ when(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion, IUpdateDescriptorAdvice.class))
+ .thenReturn(Collections.emptyList());
+ when(publisherInfo.getArtifactOptions())
+ .thenReturn(IPublisherInfo.A_INDEX | IPublisherInfo.A_OVERWRITE | IPublisherInfo.A_PUBLISH);
+ when(publisherInfo.getArtifactRepository()).thenReturn(artifactRepository);
+ when(publisherInfo.getMetadataRepository()).thenReturn(metadataRepository);
+ when(publisherInfo.getContextMetadataRepository()).thenReturn(null);
}
- private ArrayList<IPropertyAdvice> fillAdvice(ArrayList<IPropertyAdvice> adviceCollection) {
+ private List<IPropertyAdvice> fillAdvice(ArrayList<IPropertyAdvice> adviceCollection) {
Map<String, String> prop = new HashMap<>();
prop.put("key1", "value1"); //$NON-NLS-1$//$NON-NLS-2$
prop.put("key2", "value2"); //$NON-NLS-1$//$NON-NLS-2$
- IPropertyAdvice propertyAdvice = EasyMock.createMock(IPropertyAdvice.class);
- expect(propertyAdvice.getInstallableUnitProperties((InstallableUnitDescription) EasyMock.anyObject())).andReturn(prop).anyTimes();
- expect(propertyAdvice.getArtifactProperties((IInstallableUnit) EasyMock.anyObject(), (IArtifactDescriptor) EasyMock.anyObject())).andReturn(null).anyTimes();
- EasyMock.replay(propertyAdvice);
+ IPropertyAdvice propertyAdvice = mock(IPropertyAdvice.class);
+ when(propertyAdvice.getInstallableUnitProperties(any(InstallableUnitDescription.class))).thenReturn(prop);
+ when(propertyAdvice.getArtifactProperties(any(IInstallableUnit.class), any(IArtifactDescriptor.class)))
+ .thenReturn(null);
adviceCollection.add(propertyAdvice);
return adviceCollection;
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java
index d1d3a4a20..dc5719e14 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java
@@ -16,7 +16,6 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.expect;
import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.errorStatus;
import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.okStatus;
import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.statusWithMessageWhich;
@@ -27,6 +26,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.greaterThan;
+import static org.mockito.Mockito.when;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -276,7 +276,7 @@ public class JREActionTest extends ActionTest {
@Override
protected void insertPublisherInfoBehavior() {
- expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
- expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_PUBLISH).anyTimes();
+ when(publisherInfo.getArtifactRepository()).thenReturn(artifactRepository);
+ when(publisherInfo.getArtifactOptions()).thenReturn(IPublisherInfo.A_PUBLISH);
}
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalUpdateSiteActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalUpdateSiteActionTest.java
index 706760c4e..53d5f03b8 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalUpdateSiteActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalUpdateSiteActionTest.java
@@ -14,9 +14,11 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.anyBoolean;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.when;
import java.io.File;
import java.util.Collection;
@@ -29,7 +31,6 @@ import org.eclipse.equinox.p2.metadata.IInstallableUnit;
import org.eclipse.equinox.p2.metadata.ITouchpointData;
import org.eclipse.equinox.p2.metadata.ITouchpointInstruction;
import org.eclipse.equinox.p2.metadata.Version;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
import org.eclipse.equinox.p2.publisher.IPublisherInfo;
import org.eclipse.equinox.p2.tests.TestData;
import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository;
@@ -48,10 +49,11 @@ public class LocalUpdateSiteActionTest extends ActionTest {
@Override
protected void insertPublisherInfoBehavior() {
super.insertPublisherInfoBehavior();
- expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
- expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_INDEX | IPublisherInfo.A_OVERWRITE | IPublisherInfo.A_PUBLISH).anyTimes();
- expect(publisherInfo.getAdvice((String) anyObject(), anyBoolean(), (String) anyObject(), (Version) anyObject(),
- (Class<IPublisherAdvice>) anyObject())).andReturn(Collections.emptyList()).anyTimes();
+ when(publisherInfo.getArtifactRepository()).thenReturn(artifactRepository);
+ when(publisherInfo.getArtifactOptions())
+ .thenReturn(IPublisherInfo.A_INDEX | IPublisherInfo.A_OVERWRITE | IPublisherInfo.A_PUBLISH);
+ when(publisherInfo.getAdvice(anyString(), anyBoolean(), anyString(), any(Version.class), any(Class.class)))
+ .thenReturn(Collections.emptyList());
}
/**
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionCapturingTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionCapturingTest.java
index eb9a2d1b8..898c5f0fb 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionCapturingTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionCapturingTest.java
@@ -16,65 +16,35 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.anyBoolean;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.createNiceMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.okStatus;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.mockito.Mockito.verify;
import java.io.File;
-import java.util.Collections;
-import org.easymock.Capture;
-import org.easymock.EasyMock;
+import java.util.stream.Collectors;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.equinox.frameworkadmin.BundleInfo;
import org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile;
-import org.eclipse.equinox.p2.metadata.Version;
import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-import org.eclipse.equinox.p2.publisher.IPublisherInfo;
-import org.eclipse.equinox.p2.publisher.actions.RootIUAdvice;
import org.eclipse.equinox.p2.publisher.eclipse.IConfigAdvice;
import org.eclipse.equinox.p2.publisher.eclipse.IExecutableAdvice;
import org.eclipse.equinox.p2.publisher.eclipse.ProductAction;
import org.eclipse.equinox.p2.publisher.eclipse.ProductFileAdvice;
import org.eclipse.equinox.p2.tests.TestData;
import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mockito;
public class ProductActionCapturingTest extends ActionTest {
File executablesFeatureLocation = null;
String source = "";
- private Capture<RootIUAdvice> rootIUAdviceCapture;
- private Capture<ProductFileAdvice> productFileAdviceCapture;
protected TestArtifactRepository artifactRepository = new TestArtifactRepository(getAgent());
@Override
- protected IPublisherInfo createPublisherInfoMock() {
- //override to create a nice mock, because we don't care about other method calls.
- return createNiceMock(IPublisherInfo.class);
- }
-
- @Override
- protected void insertPublisherInfoBehavior() {
- // capture these calls for assertions
- publisherInfo.addAdvice(EasyMock.and(EasyMock.isA(RootIUAdvice.class), EasyMock.capture(rootIUAdviceCapture)));
- publisherInfo.addAdvice(EasyMock.and(EasyMock.isA(ProductFileAdvice.class), EasyMock.capture(productFileAdviceCapture)));
-
- expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
- expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_PUBLISH).anyTimes();
- //Return an empty list every time getAdvice is called
- expect(publisherInfo.getAdvice((String) anyObject(), anyBoolean(), (String) anyObject(), (Version) anyObject(), (Class<IPublisherAdvice>) anyObject())).andReturn(Collections.emptyList());
- expectLastCall().anyTimes();
- }
-
- @Override
public void setUp() throws Exception {
- rootIUAdviceCapture = Capture.newInstance();
- productFileAdviceCapture = Capture.newInstance();
setupPublisherInfo();
setupPublisherResult();
}
@@ -84,15 +54,18 @@ public class ProductActionCapturingTest extends ActionTest {
* IConfigAdvice (start levels, auto-start).
*/
public void testSetBundleConfigData() throws Exception {
+ ArgumentCaptor<IPublisherAdvice> productFileAdviceCapture = ArgumentCaptor.forClass(IPublisherAdvice.class);
addContextIU("org.eclipse.rcp.feature.group", "3.5.0.v20081110-9C9tEvNEla71LZ2jFz-RFB-t");
ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "startLevel.product").toString());
- testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
+ testAction = Mockito.spy(new ProductAction(source, productFile, flavorArg, executablesFeatureLocation));
IStatus status = testAction.perform(publisherInfo, publisherResult, null);
+ verify(publisherInfo, Mockito.atLeastOnce()).addAdvice(productFileAdviceCapture.capture());
assertThat(status, is(okStatus()));
- IConfigAdvice configAdvice = productFileAdviceCapture.getValue();
+ IConfigAdvice configAdvice = (IConfigAdvice) productFileAdviceCapture.getAllValues().stream()
+ .filter(IConfigAdvice.class::isInstance).collect(Collectors.toList()).get(0);
BundleInfo[] bundles = configAdvice.getBundles();
assertEquals("1.0", 2, bundles.length);
assertEquals("1.1", "org.eclipse.equinox.common", bundles[0].getSymbolicName());
@@ -110,14 +83,17 @@ public class ProductActionCapturingTest extends ActionTest {
* Tests that correct advice is created for the org.eclipse.platform product.
*/
public void testPlatformProduct() throws Exception {
+ ArgumentCaptor<IPublisherAdvice> productFileAdviceCapture = ArgumentCaptor.forClass(IPublisherAdvice.class);
ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "platform.product").toString());
addContextIU("org.eclipse.platform.feature.group", "1.2.3");
- testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
+ testAction = Mockito.spy(new ProductAction(source, productFile, flavorArg, executablesFeatureLocation));
IStatus status = testAction.perform(publisherInfo, publisherResult, null);
+ verify(publisherInfo, Mockito.atLeastOnce()).addAdvice(productFileAdviceCapture.capture());
assertThat(status, is(okStatus()));
- IExecutableAdvice launchAdvice = productFileAdviceCapture.getValue();
+ IExecutableAdvice launchAdvice = (IExecutableAdvice) productFileAdviceCapture.getAllValues().stream()
+ .filter(ProductFileAdvice.class::isInstance).collect(Collectors.toList()).get(0);
assertEquals("1.0", "eclipse", launchAdvice.getExecutableName());
String[] programArgs = launchAdvice.getProgramArguments();
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTest.java
index 3405c53e5..994cfafcd 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTest.java
@@ -16,7 +16,6 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.createNiceMock;
import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.errorStatus;
import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.okStatus;
import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.statusWithMessageWhich;
@@ -71,21 +70,18 @@ public class ProductActionTest extends ActionTest {
String source = "";
protected TestArtifactRepository artifactRepository = new TestArtifactRepository(getAgent());
- @Override protected IPublisherInfo createPublisherInfoMock() {
- //override to create a nice mock, because we don't care about other method calls.
- return createNiceMock(IPublisherInfo.class);
- }
-
- @Override public void setUp() throws Exception {
+ @Override
+ public void setUp() throws Exception {
setupPublisherInfo();
setupPublisherResult();
}
- @Override public void setupPublisherInfo() {
+ @Override
+ public void setupPublisherInfo() {
PublisherInfo publisherInfoImpl = new PublisherInfo();
publisherInfoImpl.setArtifactRepository(artifactRepository);
publisherInfoImpl.setArtifactOptions(IPublisherInfo.A_PUBLISH);
- publisherInfoImpl.setConfigurations(new String[] {configSpec});
+ publisherInfoImpl.setConfigurations(new String[] { configSpec });
publisherInfo = publisherInfoImpl;
}
@@ -95,18 +91,20 @@ public class ProductActionTest extends ActionTest {
* splash screen, icon, etc.
*/
public void testBrandedApplication() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "brandedProduct/branded.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "brandedProduct/branded.product").toString());
addContextIU("org.eclipse.platform.feature.group", "1.2.3");
performProductAction(productFile);
Collection<IInstallableUnit> ius = publisherResult.getIUs("branded.product", IPublisherResult.NON_ROOT);
assertEquals("1.0", 1, ius.size());
- //TODO assert branding was done correctly
+ // TODO assert branding was done correctly
}
public void testLicense() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "productWithLicense.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "productWithLicense.product").toString());
performProductAction(productFile);
Collection<IInstallableUnit> ius = publisherResult.getIUs("licenseIU.product", IPublisherResult.NON_ROOT);
assertEquals("1.0", 1, ius.size());
@@ -116,7 +114,8 @@ public class ProductActionTest extends ActionTest {
}
public void testLicenseNoURL() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "licenseNoURL.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "licenseNoURL.product").toString());
performProductAction(productFile);
Collection<IInstallableUnit> ius = publisherResult.getIUs("licenseIU.product", IPublisherResult.NON_ROOT);
assertEquals("1.0", 1, ius.size());
@@ -126,7 +125,8 @@ public class ProductActionTest extends ActionTest {
}
public void testLicenseNoText() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "licenseNoText.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "licenseNoText.product").toString());
performProductAction(productFile);
Collection<IInstallableUnit> ius = publisherResult.getIUs("licenseIU.product", IPublisherResult.NON_ROOT);
assertEquals("1.0", 1, ius.size());
@@ -136,7 +136,8 @@ public class ProductActionTest extends ActionTest {
}
public void testMissingLicense() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "productWithNoLicense.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "productWithNoLicense.product").toString());
performProductAction(productFile);
Collection<IInstallableUnit> ius = publisherResult.getIUs("licenseIU.product", IPublisherResult.NON_ROOT);
assertEquals("1.0", 1, ius.size());
@@ -145,8 +146,10 @@ public class ProductActionTest extends ActionTest {
}
public void testMultiProductPublishing() throws Exception {
- ProductFile productFile1 = new ProductFile(TestData.getFile("ProductActionTest", "boundedVersionConfigurations.product").toString());
- ProductFile productFile2 = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
+ ProductFile productFile1 = new ProductFile(
+ TestData.getFile("ProductActionTest", "boundedVersionConfigurations.product").toString());
+ ProductFile productFile2 = new ProductFile(
+ TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
addContextIU("org.eclipse.core.runtime", "4.0.0");
performProductAction(productFile1);
@@ -158,7 +161,8 @@ public class ProductActionTest extends ActionTest {
}
public void testMultiPlatformCUs_DifferentPlatforms() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
setConfiguration(LINUX_CONFIG_SPEC);
addContextIU("org.eclipse.core.runtime", "0.0.0", WIN_FILTER);
@@ -169,7 +173,8 @@ public class ProductActionTest extends ActionTest {
}
public void testMultiPlatformCUs_SamePlatforms() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
setConfiguration(LINUX_CONFIG_SPEC);
addContextIU("org.eclipse.core.runtime", "0.0.0", LINUX_FILTER);
@@ -180,7 +185,8 @@ public class ProductActionTest extends ActionTest {
}
public void testMultiPlatformCUs_SamePlatforms_NoVersion() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
setConfiguration(LINUX_CONFIG_SPEC);
addContextIU("org.eclipse.core.runtime", null, LINUX_FILTER);
@@ -191,11 +197,13 @@ public class ProductActionTest extends ActionTest {
}
public void testMultiPlatformCUs_SamePlatforms_BoundedVersions() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
setConfiguration(LINUX_CONFIG_SPEC);
- // Set a specific version number, the one in the .product file uses 0.0.0. Let's see if it binds properly
- //filter is different from linuxConfigSpec, but will still match
+ // Set a specific version number, the one in the .product file uses 0.0.0. Let's
+ // see if it binds properly
+ // filter is different from linuxConfigSpec, but will still match
addContextIU("org.eclipse.core.runtime", "4.0.0", "(osgi.os=linux)");
performProductAction(productFile);
@@ -205,36 +213,45 @@ public class ProductActionTest extends ActionTest {
}
public void testCUsHost() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
setConfiguration(LINUX_CONFIG_SPEC);
- // Set a specific version number, the one in the .product file uses 0.0.0. Let's see if it binds properly
- //filter is different from linuxConfigSpec, but will still match
+ // Set a specific version number, the one in the .product file uses 0.0.0. Let's
+ // see if it binds properly
+ // filter is different from linuxConfigSpec, but will still match
addContextIU("org.eclipse.core.runtime", "4.0.0", "(osgi.os=linux)");
performProductAction(productFile);
- IInstallableUnitFragment fragment = (IInstallableUnitFragment) getUniquePublishedIU(flavorArg + LINUX_CONFIG_SPEC + "org.eclipse.core.runtime");
- assertEquals("1.1", "org.eclipse.core.runtime", RequiredCapability.extractName(fragment.getHost().iterator().next().getMatches()));
- assertEquals("1.2", Version.create("4.0.0"), RequiredCapability.extractRange(fragment.getHost().iterator().next().getMatches()).getMinimum());
+ IInstallableUnitFragment fragment = (IInstallableUnitFragment) getUniquePublishedIU(
+ flavorArg + LINUX_CONFIG_SPEC + "org.eclipse.core.runtime");
+ assertEquals("1.1", "org.eclipse.core.runtime",
+ RequiredCapability.extractName(fragment.getHost().iterator().next().getMatches()));
+ assertEquals("1.2", Version.create("4.0.0"),
+ RequiredCapability.extractRange(fragment.getHost().iterator().next().getMatches()).getMinimum());
assertEquals("1.3", Version.create("1.0.0"), fragment.getVersion());
}
public void testMultiConfigspecProductPublishing() throws IOException, Exception {
ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "platform.product").toString());
- ((PublisherInfo) publisherInfo).setConfigurations(new String[] {"carbon.macos.x86", "cocoa.macos.x86"});
+ ((PublisherInfo) publisherInfo).setConfigurations(new String[] { "carbon.macos.x86", "cocoa.macos.x86" });
addContextIU("org.eclipse.platform.feature.group", "1.2.3");
performProductAction(productFile);
- Collection<IConfigAdvice> advice = publisherInfo.getAdvice("carbon.macos.x86", false, null, null, IConfigAdvice.class);
+ Collection<IConfigAdvice> advice = publisherInfo.getAdvice("carbon.macos.x86", false, null, null,
+ IConfigAdvice.class);
assertEquals("1.0", 1, advice.size());
}
public void testANYConfigSpecPublishing_GeneralBundle() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
- String configSpecANY = AbstractPublisherAction.createConfigSpec("ANY", "ANY", "ANY"); // configuration spec to create CUs without filters
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
+ String configSpecANY = AbstractPublisherAction.createConfigSpec("ANY", "ANY", "ANY"); // configuration spec to
+ // create CUs without
+ // filters
setConfiguration(configSpecANY);
addContextIU("org.eclipse.core.runtime", "4.0.0");
@@ -242,16 +259,22 @@ public class ProductActionTest extends ActionTest {
performProductAction(productFile);
// there is a CU for the IU because it applies to all platforms
- IInstallableUnitFragment fragment = (IInstallableUnitFragment) getUniquePublishedIU(flavorArg + configSpecANY + "org.eclipse.core.runtime");
- assertEquals("1.1", "org.eclipse.core.runtime", RequiredCapability.extractName(fragment.getHost().iterator().next().getMatches()));
- assertEquals("1.2", Version.create("4.0.0"), RequiredCapability.extractRange(fragment.getHost().iterator().next().getMatches()).getMinimum());
+ IInstallableUnitFragment fragment = (IInstallableUnitFragment) getUniquePublishedIU(
+ flavorArg + configSpecANY + "org.eclipse.core.runtime");
+ assertEquals("1.1", "org.eclipse.core.runtime",
+ RequiredCapability.extractName(fragment.getHost().iterator().next().getMatches()));
+ assertEquals("1.2", Version.create("4.0.0"),
+ RequiredCapability.extractRange(fragment.getHost().iterator().next().getMatches()).getMinimum());
assertEquals("1.3", Version.create("1.0.0"), fragment.getVersion());
assertNull("1.3", fragment.getFilter());
}
public void testANYConfigSpecPublishing_PlatformSpecificBundle() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
- String configSpecANY = AbstractPublisherAction.createConfigSpec("ANY", "ANY", "ANY"); // configuration spec to create CUs without filters
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
+ String configSpecANY = AbstractPublisherAction.createConfigSpec("ANY", "ANY", "ANY"); // configuration spec to
+ // create CUs without
+ // filters
setConfiguration(configSpecANY);
addContextIU("org.eclipse.core.runtime", "4.0.0", WIN_FILTER); // any valid filter can be set here
@@ -276,13 +299,15 @@ public class ProductActionTest extends ActionTest {
testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
PublisherInfo info = new PublisherInfo();
info.setContextMetadataRepository(repository);
- // TODO this line doesn't have any effect -> is this a bug in the implementation?
+ // TODO this line doesn't have any effect -> is this a bug in the
+ // implementation?
info.addAdvice(new QueryableFilterAdvice(info.getContextMetadataRepository()));
IStatus status = testAction.perform(info, publisherResult, null);
assertThat(status, is(okStatus()));
- IQueryResult<IInstallableUnit> results = publisherResult.query(QueryUtil.createIUQuery("org.eclipse.platform.ide", Version.create("3.5.0.I20081118")), null);
+ IQueryResult<IInstallableUnit> results = publisherResult
+ .query(QueryUtil.createIUQuery("org.eclipse.platform.ide", Version.create("3.5.0.I20081118")), null);
assertEquals("1.0", 1, queryResultSize(results));
IInstallableUnit unit = results.iterator().next();
Collection<IRequirement> requiredCapabilities = unit.getRequirements();
@@ -296,12 +321,14 @@ public class ProductActionTest extends ActionTest {
}
}
assertTrue("1.1", capability != null);
- assertEquals("1.2", InstallableUnit.parseFilter("(org.eclipse.update.install.features=true)"), capability.getFilter());
+ assertEquals("1.2", InstallableUnit.parseFilter("(org.eclipse.update.install.features=true)"),
+ capability.getFilter());
}
public void testProductWithAdviceFile() throws Exception {
// product file that has a corresponding advice file (p2.inf).
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest/productWithAdvice", "productWithAdvice.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest/productWithAdvice", "productWithAdvice.product").toString());
testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
IStatus status = testAction.perform(new PublisherInfo(), publisherResult, null);
assertThat(status, is(okStatus()));
@@ -310,27 +337,30 @@ public class ProductActionTest extends ActionTest {
Collection<ITouchpointData> data = product.getTouchpointData();
assertEquals("1.1", 1, data.size());
String configure = data.iterator().next().getInstruction("configure").getBody();
- assertEquals("1.2", "addRepository(type:0,location:http${#58}//download.eclipse.org/releases/fred);addRepository(type:1,location:http${#58}//download.eclipse.org/releases/fred);", configure);
-
- //update.id = com.zoobar
- //update.range = [4.0,4.3)
- //update.severity = 0
- //update.description = This is the description
+ assertEquals("1.2",
+ "addRepository(type:0,location:http${#58}//download.eclipse.org/releases/fred);addRepository(type:1,location:http${#58}//download.eclipse.org/releases/fred);",
+ configure);
+
+ // update.id = com.zoobar
+ // update.range = [4.0,4.3)
+ // update.severity = 0
+ // update.description = This is the description
IUpdateDescriptor update = product.getUpdateDescriptor();
assertEquals("2.0", 0, update.getSeverity());
assertEquals("2.1", "This is the description", update.getDescription());
- //unit that fits in range
+ // unit that fits in range
assertTrue("2.2", update.isUpdateOf(createIU("com.zoobar", Version.createOSGi(4, 1, 0))));
- //unit that is too old for range
+ // unit that is too old for range
assertFalse("2.3", update.isUpdateOf(createIU("com.zoobar", Version.createOSGi(3, 1, 0))));
- //version that is too new and outside of range
+ // version that is too new and outside of range
assertFalse("2.4", update.isUpdateOf(createIU("com.zoobar", Version.createOSGi(6, 1, 0))));
- //unit with matching version but not matching id
+ // unit with matching version but not matching id
assertFalse("2.6", update.isUpdateOf(createIU("com.other", Version.createOSGi(4, 1, 0))));
}
public void testFiltersOfInclusions() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "productIncludingFragments.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "productIncludingFragments.product").toString());
addContextIU("generalbundle", "1.0.1");
addContextIU("fragment.win", "1.0.2", WIN_FILTER);
// no fragment.linux in the context
@@ -338,39 +368,48 @@ public class ProductActionTest extends ActionTest {
IStatus status = performProductActionAndReturnStatus(productFile);
IInstallableUnit productIU = getUniquePublishedIU("productIncludingFragments.uid");
- assertThat(productIU.getRequirements(), hasItem(createIURequirement("generalbundle", createStrictVersionRange("1.0.1"))));
- assertThat(productIU.getRequirements(), hasItem(createIURequirement("fragment.win", createStrictVersionRange("1.0.2"), WIN_FILTER)));
+ assertThat(productIU.getRequirements(),
+ hasItem(createIURequirement("generalbundle", createStrictVersionRange("1.0.1"))));
+ assertThat(productIU.getRequirements(),
+ hasItem(createIURequirement("fragment.win", createStrictVersionRange("1.0.2"), WIN_FILTER)));
- // this is bug 390361: the Linux fragment is required without filter, so the product cannot be installed for Windows ...
+ // this is bug 390361: the Linux fragment is required without filter, so the
+ // product cannot be installed for Windows ...
assertThat(productIU.getRequirements(), hasItem(createIURequirement("fragment.linux", ANY_VERSION)));
// ... therefore the action shall report an error
assertThat(status, is(errorStatus()));
- assertThat(Arrays.asList(status.getChildren()), hasItem(statusWithMessageWhich(containsString("Included element fragment.linux 0.0.0 is missing"))));
+ assertThat(Arrays.asList(status.getChildren()),
+ hasItem(statusWithMessageWhich(containsString("Included element fragment.linux 0.0.0 is missing"))));
}
public void testMessageForProductWithIgnoredContent() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "mixedContentIgnored.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "mixedContentIgnored.product").toString());
IStatus status = performProductActionAndReturnStatus(productFile);
- // expect a warning about redundant, ignored content in product file -> requested in bug 325611
+ // expect a warning about redundant, ignored content in product file ->
+ // requested in bug 325611
assertThat(Arrays.asList(status.getChildren()), hasItem(statusWithMessageWhich(containsString("are ignored"))));
// TODO the message should have a code identifying it
}
public void testJREIncluded() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "brandedProduct/branded.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "brandedProduct/branded.product").toString());
addContextIU("org.eclipse.platform.feature.group", "1.2.3");
performProductAction(productFile);
Collection<IInstallableUnit> ius = publisherResult.getIUs("branded.product", IPublisherResult.NON_ROOT);
assertEquals(1, ius.size());
assertEquals("Missing a.jre.javase", 1, publisherResult.getIUs("a.jre.javase", IPublisherResult.ROOT).size());
- assertEquals("Missing config.a.jre.javase", 1, publisherResult.getIUs("config.a.jre.javase", IPublisherResult.ROOT).size());
+ assertEquals("Missing config.a.jre.javase", 1,
+ publisherResult.getIUs("config.a.jre.javase", IPublisherResult.ROOT).size());
}
public void testRequiredEEAsSpecified() throws Exception {
- ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "productFileActionTest.product").toString());
+ ProductFile productFile = new ProductFile(
+ TestData.getFile("ProductActionTest", "productFileActionTest.product").toString());
addContextIU("org.eclipse.core.commands", "5.0.0");
performProductAction(productFile);
@@ -407,7 +446,7 @@ public class ProductActionTest extends ActionTest {
}
private void setConfiguration(String configSpec) {
- ((PublisherInfo) publisherInfo).setConfigurations(new String[] {configSpec});
+ ((PublisherInfo) publisherInfo).setConfigurations(new String[] { configSpec });
}
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTestMac.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTestMac.java
index a14b660b5..7673a092c 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTestMac.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTestMac.java
@@ -13,30 +13,23 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.anyBoolean;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.createNiceMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
import static org.eclipse.equinox.p2.tests.publisher.actions.StatusMatchers.okStatus;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.mockito.Mockito.verify;
import java.io.File;
-import java.util.Collections;
-import org.easymock.Capture;
-import org.easymock.EasyMock;
+import java.util.stream.Collectors;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile;
-import org.eclipse.equinox.p2.metadata.Version;
import org.eclipse.equinox.p2.publisher.AbstractPublisherAction;
import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-import org.eclipse.equinox.p2.publisher.IPublisherInfo;
-import org.eclipse.equinox.p2.publisher.actions.RootIUAdvice;
import org.eclipse.equinox.p2.publisher.eclipse.IExecutableAdvice;
import org.eclipse.equinox.p2.publisher.eclipse.ProductAction;
import org.eclipse.equinox.p2.publisher.eclipse.ProductFileAdvice;
import org.eclipse.equinox.p2.tests.TestData;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mockito;
/**
* Tests for {@link ProductAction} specific to Mac.
@@ -44,30 +37,11 @@ import org.eclipse.equinox.p2.tests.TestData;
public class ProductActionTestMac extends ActionTest {
private File executablesFeatureLocation = null;
- private Capture<RootIUAdvice> rootIUAdviceCapture;
- private Capture<ProductFileAdvice> productFileAdviceCapture;
private String source = "";
@Override
- protected IPublisherInfo createPublisherInfoMock() {
- //override to create a nice mock, because we don't care about other method calls.
- return createNiceMock(IPublisherInfo.class);
- }
-
- @Override
- protected void insertPublisherInfoBehavior() {
- publisherInfo.addAdvice(EasyMock.and(EasyMock.isA(RootIUAdvice.class), EasyMock.capture(rootIUAdviceCapture)));
- publisherInfo.addAdvice(EasyMock.and(EasyMock.isA(ProductFileAdvice.class), EasyMock.capture(productFileAdviceCapture)));
- //Return an empty list every time getAdvice is called
- expect(publisherInfo.getAdvice((String) anyObject(), anyBoolean(), (String) anyObject(), (Version) anyObject(), (Class<IPublisherAdvice>) anyObject())).andReturn(Collections.emptyList());
- expectLastCall().anyTimes();
- }
-
- @Override
public void setUp() throws Exception {
configSpec = AbstractPublisherAction.createConfigSpec("carbon", "macosx", "x86");
- rootIUAdviceCapture = Capture.newInstance();
- productFileAdviceCapture = Capture.newInstance();
setupPublisherInfo();
setupPublisherResult();
}
@@ -76,13 +50,16 @@ public class ProductActionTestMac extends ActionTest {
* Tests that correct advice is created for the org.eclipse.platform product.
*/
public void testPlatformProduct() throws Exception {
+ ArgumentCaptor<IPublisherAdvice> productFileAdviceCapture = ArgumentCaptor.forClass(IPublisherAdvice.class);
ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "platform.product").toString());
addContextIU("org.eclipse.platform.feature.group", "3.8.3");
- testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
+ testAction = Mockito.spy(new ProductAction(source, productFile, flavorArg, executablesFeatureLocation));
IStatus status = testAction.perform(publisherInfo, publisherResult, null);
+ verify(publisherInfo, Mockito.atLeastOnce()).addAdvice(productFileAdviceCapture.capture());
assertThat(status, is(okStatus()));
- IExecutableAdvice launchAdvice = productFileAdviceCapture.getValue();
+ IExecutableAdvice launchAdvice = (IExecutableAdvice) productFileAdviceCapture.getAllValues().stream()
+ .filter(ProductFileAdvice.class::isInstance).collect(Collectors.toList()).get(0);
assertEquals("1.0", "eclipse", launchAdvice.getExecutableName());
String[] programArgs = launchAdvice.getProgramArguments();
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileAdviceTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileAdviceTest.java
index 3a93eb59a..91bc64d39 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileAdviceTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileAdviceTest.java
@@ -208,7 +208,7 @@ public class ProductFileAdviceTest extends AbstractProvisioningTest {
configProperties.put("osgi.bundles", "org.eclipse.equinox.simpleconfigurator@1:start");
writeProperties(new File(rootFolder, "config.ini"), configProperties);
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
buffer.append("org.eclipse.equinox.common,3.5.100.v20090817,plugins/org.eclipse.equinox.common_3.5.100.v20090817.jar,2,true\n");
buffer.append("org.eclipse.equinox.simpleconfigurator,1.0.200.v20090729-1800,plugins/org.eclipse.equinox.simpleconfigurator_1.0.200.v20090729-1800.jar,1,true\n");
writeBuffer(new File(rootFolder, "org.eclipse.equinox.simpleconfigurator/bundles.info"), buffer);
@@ -229,7 +229,7 @@ public class ProductFileAdviceTest extends AbstractProvisioningTest {
File root = getTestFolder("configNullLauncher");
File testProduct = new File(root, "test.product");
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
buffer.append("<product id=\"test.product\" version=\"1\" useFeatures=\"false\"> \n");
buffer.append(" <configIni use=\"default\"> \n");
buffer.append(" <win32>config.ini</win32> \n");
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootFilesActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootFilesActionTest.java
index 9fa2a5d65..030cd8b2a 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootFilesActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootFilesActionTest.java
@@ -15,19 +15,30 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.expect;
-
-import java.io.*;
-import java.util.*;
+import static org.mockito.Mockito.when;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
import java.util.zip.ZipInputStream;
-import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
import org.eclipse.equinox.p2.metadata.IArtifactKey;
import org.eclipse.equinox.p2.metadata.Version;
import org.eclipse.equinox.p2.publisher.AbstractPublisherAction;
import org.eclipse.equinox.p2.publisher.IPublisherInfo;
-import org.eclipse.equinox.p2.publisher.actions.*;
+import org.eclipse.equinox.p2.publisher.actions.IRootFilesAdvice;
+import org.eclipse.equinox.p2.publisher.actions.ITouchpointAdvice;
+import org.eclipse.equinox.p2.publisher.actions.RootFilesAction;
+import org.eclipse.equinox.p2.publisher.actions.RootFilesAdvice;
import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
import org.eclipse.equinox.p2.tests.TestActivator;
import org.eclipse.equinox.p2.tests.TestData;
@@ -68,10 +79,13 @@ public class RootFilesActionTest extends ActionTest {
@Override
public void insertPublisherInfoBehavior() {
- expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
- expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_INDEX | IPublisherInfo.A_OVERWRITE | IPublisherInfo.A_PUBLISH).anyTimes();
- expect(publisherInfo.getAdvice(configSpec, true, null, null, IRootFilesAdvice.class)).andReturn(adviceCollection).anyTimes();
- expect(publisherInfo.getAdvice(configSpec, false, flavorArg + topArg, versionArg, ITouchpointAdvice.class)).andReturn(null).anyTimes();
+ when(publisherInfo.getArtifactRepository()).thenReturn(artifactRepository);
+ when(publisherInfo.getArtifactOptions())
+ .thenReturn(IPublisherInfo.A_INDEX | IPublisherInfo.A_OVERWRITE | IPublisherInfo.A_PUBLISH);
+ when(publisherInfo.getAdvice(configSpec, true, null, null, IRootFilesAdvice.class))
+ .thenReturn(adviceCollection);
+ when(publisherInfo.getAdvice(configSpec, false, flavorArg + topArg, versionArg, ITouchpointAdvice.class))
+ .thenReturn(null);
}
private void setupTestCase(int testArg) throws Exception {
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java
index 21b4dd4b2..637465c39 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java
@@ -15,7 +15,7 @@
******************************************************************************/
package org.eclipse.equinox.p2.tests.publisher.actions;
-import static org.easymock.EasyMock.expect;
+import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.Collection;
@@ -358,16 +358,22 @@ public class RootIUActionTest extends ActionTest {
@Override
public void insertPublisherInfoBehavior() {
- expect(publisherInfo.getAdvice(null, false, rootIU, versionArg, ICapabilityAdvice.class)).andReturn(new ArrayList<>()).anyTimes();
- expect(publisherInfo.getAdvice(null, true, null, null, IRootIUAdvice.class)).andReturn(rootIUAdviceCollection).anyTimes();
- expect(publisherInfo.getAdvice(null, true, null, null, IVersionAdvice.class)).andReturn(null).anyTimes();
- expect(publisherInfo.getAdvice(null, false, rootIU, versionArg, ITouchpointAdvice.class)).andReturn(new ArrayList<>()).anyTimes();
- expect(publisherInfo.getAdvice(null, false, rootIU, versionArg, IUpdateDescriptorAdvice.class)).andReturn(new ArrayList<>()).anyTimes();
- expect(publisherInfo.getAdvice(null, false, rootIU, versionArg, IPropertyAdvice.class)).andReturn(new ArrayList<>()).anyTimes();
- expect(publisherInfo.getAdvice(null, false, rootIU, versionArg, IAdditionalInstallableUnitAdvice.class)).andReturn(new ArrayList<>()).anyTimes();
- expect(publisherInfo.getAdvice(null, true, rootIU, versionArg, ILicenseAdvice.class)).andReturn(new ArrayList<>()).anyTimes();
- expect(publisherInfo.getMetadataRepository()).andReturn(metadataRepository).anyTimes();
- expect(publisherInfo.getContextMetadataRepository()).andReturn(null).anyTimes();
+ when(publisherInfo.getAdvice(null, false, rootIU, versionArg, ICapabilityAdvice.class))
+ .thenReturn(new ArrayList<>());
+ when(publisherInfo.getAdvice(null, true, null, null, IRootIUAdvice.class)).thenReturn(rootIUAdviceCollection);
+ when(publisherInfo.getAdvice(null, true, null, null, IVersionAdvice.class)).thenReturn(null);
+ when(publisherInfo.getAdvice(null, false, rootIU, versionArg, ITouchpointAdvice.class))
+ .thenReturn(new ArrayList<>());
+ when(publisherInfo.getAdvice(null, false, rootIU, versionArg, IUpdateDescriptorAdvice.class))
+ .thenReturn(new ArrayList<>());
+ when(publisherInfo.getAdvice(null, false, rootIU, versionArg, IPropertyAdvice.class))
+ .thenReturn(new ArrayList<>());
+ when(publisherInfo.getAdvice(null, false, rootIU, versionArg, IAdditionalInstallableUnitAdvice.class))
+ .thenReturn(new ArrayList<>());
+ when(publisherInfo.getAdvice(null, true, rootIU, versionArg, ILicenseAdvice.class))
+ .thenReturn(new ArrayList<>());
+ when(publisherInfo.getMetadataRepository()).thenReturn(metadataRepository);
+ when(publisherInfo.getContextMetadataRepository()).thenReturn(null);
}
@Override
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetLauncherNameActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetLauncherNameActionTest.java
index de6ddd662..f01f88db3 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetLauncherNameActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetLauncherNameActionTest.java
@@ -14,7 +14,9 @@
package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
import java.io.File;
-import java.util.*;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
import org.eclipse.equinox.frameworkadmin.BundleInfo;
import org.eclipse.equinox.internal.p2.engine.InstallableUnitOperand;
import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
@@ -99,7 +101,7 @@ public class SetLauncherNameActionTest extends AbstractProvisioningTest {
//profile will start using "eclipse" by default, give it some content and see if it
//survives a name change.
File eclipseIni = new File(tempFolder, "eclipse.ini");
- StringBuffer ini = new StringBuffer();
+ StringBuilder ini = new StringBuilder();
ini.append("-startup\n");
ini.append("plugins/org.eclipse.equinox.launcher_1.2.4.v1234.jar\n");
writeBuffer(eclipseIni, ini);

Back to the top