diff options
author | Carsten Reckord | 2015-05-27 18:29:18 +0000 |
---|---|---|
committer | Carsten Reckord | 2015-05-27 18:43:56 +0000 |
commit | 99b33ee144ad54897eb389f1123a3caa9430f4e1 (patch) | |
tree | f6bedb7fee548d9e496afd326a7b8f57a71fb468 | |
parent | 8c2b673c6e1634178bc8dd28647ad8359537c343 (diff) | |
download | org.eclipse.epp.mpc-99b33ee144ad54897eb389f1123a3caa9430f4e1.tar.gz org.eclipse.epp.mpc-99b33ee144ad54897eb389f1123a3caa9430f4e1.tar.xz org.eclipse.epp.mpc-99b33ee144ad54897eb389f1123a3caa9430f4e1.zip |
461603: Add an "intro" item that opens MPC on the "Eclipse Projects" market
- fixed some ui glitches
- fixed tests
Bug: 461603
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=461603
6 files changed, 40 insertions, 21 deletions
diff --git a/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/service/DefaultMarketplaceServiceTest.java b/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/service/DefaultMarketplaceServiceTest.java index 5d9c9a48..f05122ff 100644 --- a/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/service/DefaultMarketplaceServiceTest.java +++ b/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/service/DefaultMarketplaceServiceTest.java @@ -16,7 +16,6 @@ import static org.junit.Assert.*; import java.util.Arrays; import java.util.Collections; -import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -24,7 +23,7 @@ import java.util.Set; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.epp.internal.mpc.core.MarketplaceClientCore; +import org.eclipse.epp.internal.mpc.core.ServiceLocator; import org.eclipse.epp.internal.mpc.core.service.Category; import org.eclipse.epp.internal.mpc.core.service.DefaultMarketplaceService; import org.eclipse.epp.internal.mpc.core.service.Market; @@ -51,9 +50,8 @@ public class DefaultMarketplaceServiceTest { @Before public void setUp() throws Exception { marketplaceService = new DefaultMarketplaceService(); - Map<String, String> requestMetaParameters = new HashMap<String, String>(); - // bug 397004 - this is the only valid id for REST API calls - requestMetaParameters.put(DefaultMarketplaceService.META_PARAM_CLIENT, MarketplaceClientCore.BUNDLE_ID); + //configure client id (bug 397004), as well as eclipse and marketplace versions (bug 418865) + Map<String, String> requestMetaParameters = ServiceLocator.computeDefaultRequestMetaParameters(); marketplaceService.setRequestMetaParameters(requestMetaParameters); } @@ -312,7 +310,13 @@ public class DefaultMarketplaceServiceTest { assertNotNull(result); assertNotNull(result.getNodes()); assertNotNull(result.getMatchCount()); - assertTrue(result.getMatchCount() >= result.getNodes().size()); + int promotedCount = 0; + for (INode node : result.getNodes()) { + if (node.getShortdescription() != null && node.getShortdescription().startsWith("**Promoted**")) { + promotedCount++; + } + } + assertTrue(result.getMatchCount() >= result.getNodes().size() - promotedCount); assertTrue(result.getNodes().size() > 0); Set<String> ids = new HashSet<String>(); diff --git a/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/AbstractMarketplaceWizardBotTest.java b/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/AbstractMarketplaceWizardBotTest.java index 9a515d9a..b33c197d 100644 --- a/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/AbstractMarketplaceWizardBotTest.java +++ b/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/AbstractMarketplaceWizardBotTest.java @@ -278,6 +278,15 @@ public abstract class AbstractMarketplaceWizardBotTest { return description.toString(); } + protected void checkNoItems() { + checkNoItems(NodeMatcher.any()); + } + + protected void checkNoItems(NodeMatcher<? extends Widget> matcher) { + List<? extends Widget> controls = bot.getFinder().findControls(matcher); + assertThat(controls, empty()); + } + protected SWTBot itemBot(NodeMatcher<? extends Widget> matcher) { List<? extends Widget> controls = bot.getFinder().findControls(matcher); assertThat(controls.size(), greaterThanOrEqualTo(1)); @@ -286,7 +295,7 @@ public abstract class AbstractMarketplaceWizardBotTest { } protected SWTBot itemBot(String id) { - return itemBot(NodeMatcher.withId(id)); + return itemBot(id == null ? NodeMatcher.any() : NodeMatcher.withId(id)); } protected void checkSelectedTab(String tabLabel) { diff --git a/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/MarketplaceClientServiceTest.java b/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/MarketplaceClientServiceTest.java index 42f4b208..f43acbb4 100644 --- a/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/MarketplaceClientServiceTest.java +++ b/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/MarketplaceClientServiceTest.java @@ -86,8 +86,7 @@ public class MarketplaceClientServiceTest extends AbstractMarketplaceWizardBotTe initWizardBot(); checkSelectedTab("Installed"); - //We should get a message dialog here. Let's check that and close it. - bot.shell("No Extensions Found").close(); + checkNoItems(); } @Test diff --git a/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/MarketplaceWizardTest.java b/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/MarketplaceWizardTest.java index 0cbbd375..50ea2b3d 100644 --- a/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/MarketplaceWizardTest.java +++ b/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/MarketplaceWizardTest.java @@ -89,8 +89,7 @@ public class MarketplaceWizardTest extends AbstractMarketplaceWizardBotTest { public void testShowSelected() { selectToInstall(3); SWTBotLink link = bot.link("<a>3 solutions selected</a>"); - link.click();//swtbot issue, link sometimes doesn't get clicked... - link.click(); + link.click("3 solutions selected"); //wait for the action to be processed bot.waitUntil(new DefaultCondition() { public boolean test() throws Exception { @@ -122,7 +121,7 @@ public class MarketplaceWizardTest extends AbstractMarketplaceWizardBotTest { checkMarketplaceBrowser(); } - //TODO conditional on embedded browser availability + @Ignore("We currently filter out non-installable items in MPC") @Test public void testNoninstallableLearnMore() { searchField().setFocus(); diff --git a/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/SelectionModelStateSerializerTest.java b/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/SelectionModelStateSerializerTest.java index 2b267645..3934d146 100644 --- a/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/SelectionModelStateSerializerTest.java +++ b/org.eclipse.epp.mpc.tests/src/org/eclipse/epp/mpc/tests/ui/wizard/SelectionModelStateSerializerTest.java @@ -15,12 +15,11 @@ import static org.junit.Assert.*; import java.net.URL; import java.util.Collections; -import java.util.HashMap; import java.util.Map; import java.util.Set; import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.epp.internal.mpc.core.MarketplaceClientCore; +import org.eclipse.epp.internal.mpc.core.ServiceLocator; import org.eclipse.epp.internal.mpc.core.service.DefaultMarketplaceService; import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalog; import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceDiscoveryStrategy; @@ -54,8 +53,7 @@ public class SelectionModelStateSerializerTest { @Override public IMarketplaceService createMarketplaceService() { DefaultMarketplaceService marketplaceService = new DefaultMarketplaceService(catalogDescriptor.getUrl()); - Map<String, String> requestMetaParameters = new HashMap<String, String>(); - requestMetaParameters.put(DefaultMarketplaceService.META_PARAM_CLIENT, MarketplaceClientCore.BUNDLE_ID); + Map<String, String> requestMetaParameters = ServiceLocator.computeDefaultRequestMetaParameters(); marketplaceService.setRequestMetaParameters(requestMetaParameters); return marketplaceService; } diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceViewer.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceViewer.java index 9986046a..67c5f7ac 100644 --- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceViewer.java +++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceViewer.java @@ -283,6 +283,11 @@ public class MarketplaceViewer extends CatalogViewer { } @Override + protected void doCheckCatalog() { + // do nothing - don't complain about 'connectors' on empty search results + } + + @Override protected void filterTextChanged() { doFind(getFilterText()); } @@ -389,6 +394,7 @@ public class MarketplaceViewer extends CatalogViewer { } } } + initQueryFromFilters(); } private static boolean matches(IIdentifiable data, final Object tagData) { @@ -443,12 +449,16 @@ public class MarketplaceViewer extends CatalogViewer { * * @param tag * the tag to search for - * @deprecated tag support was removed from Marketplace */ - @Deprecated - public void doQueryForTag(String tag) { - setFindText(tag); - doSetContentType(ContentType.SEARCH); + public void doQueryForTag(final String tag) { + updateContent(ContentType.SEARCH, new Runnable() { + public void run() { + queryData = new QueryData(); + queryData.queryText = tag; + setFilters(queryData); + doQuery(); + } + }); } private void setFindText(String tag) { |