X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=BRMSGateway%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fbrms%2Fapi%2Fnexus%2FNexusRestWrapperTest.java;h=60adecd414a830a248444326eaf2d653a8fec387;hb=refs%2Fchanges%2F47%2F44747%2F1;hp=489014e527bab0e1e3eec7c057456cf07b5a9948;hpb=30b44d3e752d44f8f870594a05464c9e1c5158b6;p=policy%2Fengine.git diff --git a/BRMSGateway/src/test/java/org/onap/policy/brms/api/nexus/NexusRestWrapperTest.java b/BRMSGateway/src/test/java/org/onap/policy/brms/api/nexus/NexusRestWrapperTest.java index 489014e52..60adecd41 100644 --- a/BRMSGateway/src/test/java/org/onap/policy/brms/api/nexus/NexusRestWrapperTest.java +++ b/BRMSGateway/src/test/java/org/onap/policy/brms/api/nexus/NexusRestWrapperTest.java @@ -20,7 +20,10 @@ package org.onap.policy.brms.api.nexus; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.util.List; @@ -31,22 +34,369 @@ import org.onap.policy.brms.api.nexus.NexusRestWrapperException; import org.onap.policy.brms.api.nexus.pojo.NexusArtifact; public class NexusRestWrapperTest { + @Test + public void testRestWrapperConstructionErrors() throws NexusRestWrapperException { + try { + new NexusRestWrapper(null, null, null); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("nexusServerUrl must be specified for the Nexus server", e.getMessage()); + } + + try { + new NexusRestWrapper("", null, null); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("nexusServerUrl must be specified for the Nexus server", e.getMessage()); + } + + try { + new NexusRestWrapper(" ", null, null); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("nexusServerUrl must be specified for the Nexus server", e.getMessage()); + } + + try { + new NexusRestWrapper("\n\t", null, null); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("nexusServerUrl must be specified for the Nexus server", e.getMessage()); + } + + try { + new NexusRestWrapper("server", "user", null); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("if either nexusUser or nexusPassword are specified, both must be specified", e.getMessage()); + } + + try { + new NexusRestWrapper("server", null, "pass"); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("if either nexusUser or nexusPassword are specified, both must be specified", e.getMessage()); + } + + NexusRestWrapper wrapper = new NexusRestWrapper("http://localhost:99999", "user", "pass"); + assertNotNull(wrapper); + + try { + wrapper.findArtifact(null); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("searchParameters may not be null", e.getMessage()); + } + + try { + wrapper.findArtifact(new NexusRestSearchParameters()); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("search parameters have not been set", e.getMessage()); + } + + try { + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + + searchParameters.useFilterSearch("org.onap.policy.engine", null, null, null, null); + wrapper.findArtifact(searchParameters); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("search to URI http://localhost:99999/service/local/lucene/search?g=org.onap.policy.engine " + + "failed with message: ", e.getMessage().substring(0, 111)); + } + + wrapper.close(); + wrapper = new NexusRestWrapper("http://localhost:57344", "user", "pass"); + + try { + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + + searchParameters.useFilterSearch("org.onap.policy.engine", null, null, null, null); + wrapper.findArtifact(searchParameters); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("search to URI http://localhost:57344/service/local/lucene/search?g=org.onap.policy.engine " + + "failed with message: ", e.getMessage().substring(0, 111)); + } + + wrapper.close(); + wrapper = new NexusRestWrapper("https://nexus.onap.org", "user", "pass"); + + try { + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + searchParameters.useFilterSearch("org.onap.policy.engine", null, "", null, null); + wrapper.findArtifact(searchParameters); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("search to URI https://nexus.onap.org/service/local/lucene/search?g=org.onap.policy.engine " + + "failed, response was: InboundJaxrsResponse{context=ClientResponse{method=GET, " + + "uri=https://nexus.onap.org/service/local/lucene/search?g=org.onap.policy.engine, status=401, reason=Unauthorized}}", + e.getMessage()); + } + + try { + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + searchParameters.useFilterSearch(null, null, null, null, null); + wrapper.findArtifact(searchParameters); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("at least one filter parameter must be specified for Nexus filter searches", e.getMessage()); + } + + try { + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + searchParameters.useKeywordSearch(null); + wrapper.findArtifact(searchParameters); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("keyword must be specified for Nexus keyword searches", e.getMessage()); + } + + try { + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + searchParameters.useClassNameSearch(null); + wrapper.findArtifact(searchParameters); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("className must be specified for Nexus class name searches", e.getMessage()); + } + + try { + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + searchParameters.useChecksumSearch(null); + wrapper.findArtifact(searchParameters); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("checksum must be specified for Nexus checksum searches", e.getMessage()); + } + + try { + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + searchParameters.useKeywordSearch("BRMSGateway").setRepositoryId(null); + wrapper.findArtifact(searchParameters); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("a repositoryId must be specified", e.getMessage()); + } + + try { + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + searchParameters.useKeywordSearch("BRMSGateway").setFrom(-1); + wrapper.findArtifact(searchParameters); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("from cannot be less than 0 when from is specified", e.getMessage()); + } + + try { + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + searchParameters.useKeywordSearch("BRMSGateway").setCount(0); + wrapper.findArtifact(searchParameters); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("count cannot be less than 1 when count is specified", e.getMessage()); + } + + try { + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + searchParameters.useKeywordSearch("BRMSGateway"); + searchParameters.getSearchUri(null); + fail("test shold throw an exception here"); + } catch (NexusRestWrapperException e) { + assertEquals("nexusServerUrl must be specified for the search URI", e.getMessage()); + } + + wrapper.close(); + } @Test - public void test() throws NexusRestWrapperException { - NexusRestWrapper wrapper = new NexusRestWrapper("https://nexus.onap.org"); - + public void testGetters() throws NexusRestWrapperException { NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); - searchParameters.useFilterSearch("org.onap.policy.engine", "BRMSGateway", null, null, null); - List foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + searchParameters.useKeywordSearch("BRMSGateway"); + assertEquals(NexusRestSearchParameters.SearchType.KEYWORD, searchParameters.getSearchType()); + assertEquals(null, searchParameters.getArtifactId()); + assertEquals(null, searchParameters.getChecksum()); + assertEquals(null, searchParameters.getClassName()); + assertEquals(null, searchParameters.getClassifier()); + assertEquals(-1, searchParameters.getCount()); + assertEquals(-1, searchParameters.getFrom()); + assertEquals(null, searchParameters.getGroupId()); + assertEquals("BRMSGateway", searchParameters.getKeyword()); + assertEquals(null, searchParameters.getPackagingType()); + assertEquals(null, searchParameters.getRepositoryId()); + assertEquals(null, searchParameters.getVersion()); + searchParameters.useFilterSearch("org.onap.policy.engine", "BRMSGateway", + "1.2.3", "jar", "jar-with-dependencies") + .setFrom(100).setCount(10).setRepositoryId("repository"); + assertEquals(NexusRestSearchParameters.SearchType.FILTER, searchParameters.getSearchType()); + assertEquals("BRMSGateway", searchParameters.getArtifactId()); + assertEquals(null, searchParameters.getChecksum()); + assertEquals(null, searchParameters.getClassName()); + assertEquals("jar-with-dependencies", searchParameters.getClassifier()); + assertEquals(10, searchParameters.getCount()); + assertEquals(100, searchParameters.getFrom()); + assertEquals("org.onap.policy.engine", searchParameters.getGroupId()); + assertEquals(null, searchParameters.getKeyword()); + assertEquals("jar", searchParameters.getPackagingType()); + assertEquals("repository", searchParameters.getRepositoryId()); + assertEquals("1.2.3", searchParameters.getVersion()); + + searchParameters.useClassNameSearch("BRMSGateway"); + assertEquals(NexusRestSearchParameters.SearchType.CLASS_NAME, searchParameters.getSearchType()); + assertEquals(null, searchParameters.getArtifactId()); + assertEquals(null, searchParameters.getChecksum()); + assertEquals("BRMSGateway", searchParameters.getClassName()); + assertEquals(null, searchParameters.getClassifier()); + assertEquals(-1, searchParameters.getCount()); + assertEquals(-1, searchParameters.getFrom()); + assertEquals(null, searchParameters.getGroupId()); + assertEquals(null, searchParameters.getKeyword()); + assertEquals(null, searchParameters.getPackagingType()); + assertEquals(null, searchParameters.getRepositoryId()); + assertEquals(null, searchParameters.getVersion()); + + searchParameters.useChecksumSearch("987654321"); + assertEquals(NexusRestSearchParameters.SearchType.CHECKSUM, searchParameters.getSearchType()); + assertEquals(null, searchParameters.getArtifactId()); + assertEquals("987654321", searchParameters.getChecksum()); + assertEquals(null, searchParameters.getClassName()); + assertEquals(null, searchParameters.getClassifier()); + assertEquals(-1, searchParameters.getCount()); + assertEquals(-1, searchParameters.getFrom()); + assertEquals(null, searchParameters.getGroupId()); + assertEquals(null, searchParameters.getKeyword()); + assertEquals(null, searchParameters.getPackagingType()); + assertEquals(null, searchParameters.getRepositoryId()); + assertEquals(null, searchParameters.getVersion()); + } + + @Test + public void testFilterSearch() throws NexusRestWrapperException { + NexusRestWrapper wrapper = new NexusRestWrapper("https://nexus.onap.org", null, null); + + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + + searchParameters.useFilterSearch("org.onap.policy.dorothy", null, null, null, null).setCount(1); + List foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); assertNotNull(foundArtifactList); - - for (NexusArtifact artifact: foundArtifactList) { - System.out.println(artifact.getUrlPath()); - } - + assertEquals(0, foundArtifactList.size()); + + searchParameters.useFilterSearch("org.onap.policy.engine", null, null, null, null).setCount(1); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(1, foundArtifactList.size()); + + searchParameters.useFilterSearch("org.onap.policy.engine", null, null, null, null).setFrom(2).setCount(2); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(2, foundArtifactList.size()); + + searchParameters.useFilterSearch("org.onap.policy.engine", null, null, null, null).setFrom(2).setCount(2); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(2, foundArtifactList.size()); + + searchParameters.useFilterSearch(null, "BRMSGateway", null, null, null); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertTrue(foundArtifactList.size() > 2); + + searchParameters.useFilterSearch(null, null, "1.2.3", null, null).setCount(1); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(1, foundArtifactList.size()); + + searchParameters.useFilterSearch("org.onap.policy.engine", null, "1.1.2", null, null).setCount(1); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(1, foundArtifactList.size()); + + searchParameters.useFilterSearch("org.onap.policy.engine", "BRMSGateway", "1.1.2", null, null).setCount(1); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(1, foundArtifactList.size()); + + searchParameters.useFilterSearch(null, "BRMSGateway", "1.1.2", null, null).setCount(1); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(1, foundArtifactList.size()); + + searchParameters.useFilterSearch(null, "BRMSGateway", "1.1.2", "jar", null).setCount(1); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(1, foundArtifactList.size()); + + searchParameters.useFilterSearch(null, "BRMSGateway", "1.1.2", "jar", "jar-with-dependencies").setCount(1); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(1, foundArtifactList.size()); + + searchParameters.useFilterSearch(null, "BRMSGateway", "1.1.2", "jar", "jar-with-dependencies") + .setCount(1).setRepositoryId("releases"); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(1, foundArtifactList.size()); + + wrapper.close(); + } + + @Test + public void testKeywordSearch() throws NexusRestWrapperException { + NexusRestWrapper wrapper = new NexusRestWrapper("https://nexus.onap.org", null, null); + + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + + searchParameters.useKeywordSearch("TheWizardOfOz").setCount(1); + List foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(0, foundArtifactList.size()); + + searchParameters.useKeywordSearch("BRMSGateway").setCount(1); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(1, foundArtifactList.size()); + + wrapper.close(); + } + + @Test + public void testClassNameSearch() throws NexusRestWrapperException { + NexusRestWrapper wrapper = new NexusRestWrapper("https://nexus.onap.org", null, null); + + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + + searchParameters.useClassNameSearch("TheWizardOfOz").setCount(1); + List foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(0, foundArtifactList.size()); + + searchParameters.useClassNameSearch("BRMSGateway").setCount(1); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(1, foundArtifactList.size()); + + wrapper.close(); + } + + @Test + public void testChecksumSearch() throws NexusRestWrapperException { + NexusRestWrapper wrapper = new NexusRestWrapper("https://nexus.onap.org", null, null); + + NexusRestSearchParameters searchParameters = new NexusRestSearchParameters(); + + searchParameters.useChecksumSearch("99999999999999").setCount(1); + List foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(0, foundArtifactList.size()); + + searchParameters.useChecksumSearch("914acda2ce67de9b45d599109d6ad8357d01b217").setCount(1); + foundArtifactList = wrapper.findArtifact(searchParameters).getArtifactList(); + assertNotNull(foundArtifactList); + assertEquals(1, foundArtifactList.size()); + wrapper.close(); } }