From a1a7a6dc455b3d62a0d0f0fa558707f8fa7f4793 Mon Sep 17 00:00:00 2001 From: SirWayne Date: Mon, 29 Aug 2016 17:11:33 +0200 Subject: [PATCH] Adapt test to new json path Signed-off-by: SirWayne --- .../rest/resource/DdiCancelActionTest.java | 51 +-- .../ddi/rest/resource/DdiConfigDataTest.java | 8 +- .../rest/resource/DdiDeploymentBaseTest.java | 337 ++++++++++-------- .../rest/resource/DdiRootControllerTest.java | 16 +- .../MgmtDistributionSetResourceTest.java | 113 +++--- .../MgmtDistributionSetTypeResourceTest.java | 131 +++---- .../resource/MgmtRolloutResourceTest.java | 55 ++- .../MgmtSoftwareModuleResourceTest.java | 334 ++++++++--------- .../MgmtSoftwareModuleTypeResourceTest.java | 116 +++--- .../rest/resource/MgmtTargetResourceTest.java | 183 +++++----- pom.xml | 13 - 11 files changed, 684 insertions(+), 673 deletions(-) diff --git a/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiCancelActionTest.java b/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiCancelActionTest.java index 821c8b8ad..b476f5c8f 100644 --- a/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiCancelActionTest.java +++ b/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiCancelActionTest.java @@ -10,6 +10,7 @@ package org.eclipse.hawkbit.ddi.rest.resource; import static org.fest.assertions.api.Assertions.assertThat; import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.startsWith; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; @@ -74,15 +75,15 @@ public class DdiCancelActionTest extends AbstractRestIntegrationTest { mvc.perform(get("/{tenant}/controller/v1/4712/deploymentBase/" + updateAction.getId(), tenantAware.getCurrentTenant()).accept(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) .andExpect(status().isOk()).andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$id", equalTo(String.valueOf(updateAction.getId())))) - .andExpect(jsonPath("$deployment.download", equalTo("forced"))) - .andExpect(jsonPath("$deployment.update", equalTo("forced"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==jvm)][0].version", - equalTo(ds.findFirstModuleByType(runtimeType).getVersion()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].version", - equalTo(ds.findFirstModuleByType(osType).getVersion()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==bApp)][0].version", - equalTo(ds.findFirstModuleByType(appType).getVersion()))); + .andExpect(jsonPath("$.id", equalTo(String.valueOf(updateAction.getId())))) + .andExpect(jsonPath("$.deployment.download", equalTo("forced"))) + .andExpect(jsonPath("$.deployment.update", equalTo("forced"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==jvm)].version", + contains(ds.findFirstModuleByType(runtimeType).getVersion()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].version", + contains(ds.findFirstModuleByType(osType).getVersion()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==bApp)].version", + contains(ds.findFirstModuleByType(appType).getVersion()))); // and finish it mvc.perform(post("/{tenant}/controller/v1/4712/deploymentBase/" + updateAction.getId() + "/feedback", @@ -118,8 +119,8 @@ public class DdiCancelActionTest extends AbstractRestIntegrationTest { mvc.perform(get("/{tenant}/controller/v1/4712", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))) - .andExpect(jsonPath("$_links.deploymentBase.href", + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))) + .andExpect(jsonPath("$._links.deploymentBase.href", startsWith("http://localhost/" + tenantAware.getCurrentTenant() + "/controller/v1/4712/deploymentBase/" + updateAction.getId()))); Thread.sleep(1); // is required: otherwise processing the next line is @@ -150,8 +151,8 @@ public class DdiCancelActionTest extends AbstractRestIntegrationTest { mvc.perform(get("/{tenant}/controller/v1/4712", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))) - .andExpect(jsonPath("$_links.cancelAction.href", + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))) + .andExpect(jsonPath("$._links.cancelAction.href", equalTo("http://localhost/" + tenantAware.getCurrentTenant() + "/controller/v1/4712/cancelAction/" + cancelAction.getId()))); Thread.sleep(1); // is required: otherwise processing the next line is @@ -170,8 +171,8 @@ public class DdiCancelActionTest extends AbstractRestIntegrationTest { .accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$id", equalTo(String.valueOf(cancelAction.getId())))) - .andExpect(jsonPath("$cancelAction.stopId", equalTo(String.valueOf(updateAction.getId())))); + .andExpect(jsonPath("$.id", equalTo(String.valueOf(cancelAction.getId())))) + .andExpect(jsonPath("$.cancelAction.stopId", equalTo(String.valueOf(updateAction.getId())))); assertThat(targetManagement.findTargetByControllerID("4712").getTargetInfo().getLastTargetQuery()) .isLessThanOrEqualTo(System.currentTimeMillis()); assertThat(targetManagement.findTargetByControllerID("4712").getTargetInfo().getLastTargetQuery()) @@ -360,15 +361,15 @@ public class DdiCancelActionTest extends AbstractRestIntegrationTest { .accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$id", equalTo(String.valueOf(cancelAction.getId())))) - .andExpect(jsonPath("$cancelAction.stopId", equalTo(String.valueOf(updateAction.getId())))); + .andExpect(jsonPath("$.id", equalTo(String.valueOf(cancelAction.getId())))) + .andExpect(jsonPath("$.cancelAction.stopId", equalTo(String.valueOf(updateAction.getId())))); assertThat(deploymentManagement.countActionStatusAll()).isEqualTo(6); mvc.perform(get("/{tenant}/controller/v1/4712", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))) - .andExpect(jsonPath("$_links.cancelAction.href", + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))) + .andExpect(jsonPath("$._links.cancelAction.href", equalTo("http://localhost/" + tenantAware.getCurrentTenant() + "/controller/v1/4712/cancelAction/" + cancelAction.getId()))); @@ -386,15 +387,15 @@ public class DdiCancelActionTest extends AbstractRestIntegrationTest { mvc.perform(get("/{tenant}/controller/v1/4712/cancelAction/" + cancelAction2.getId(), tenantAware.getCurrentTenant()).accept(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) .andExpect(status().isOk()).andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$id", equalTo(String.valueOf(cancelAction2.getId())))) - .andExpect(jsonPath("$cancelAction.stopId", equalTo(String.valueOf(updateAction2.getId())))); + .andExpect(jsonPath("$.id", equalTo(String.valueOf(cancelAction2.getId())))) + .andExpect(jsonPath("$.cancelAction.stopId", equalTo(String.valueOf(updateAction2.getId())))); assertThat(deploymentManagement.countActionStatusAll()).isEqualTo(8); mvc.perform(get("/{tenant}/controller/v1/4712", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))) - .andExpect(jsonPath("$_links.cancelAction.href", + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))) + .andExpect(jsonPath("$._links.cancelAction.href", equalTo("http://localhost/" + tenantAware.getCurrentTenant() + "/controller/v1/4712/cancelAction/" + cancelAction2.getId()))); @@ -426,8 +427,8 @@ public class DdiCancelActionTest extends AbstractRestIntegrationTest { mvc.perform(get("/{tenant}/controller/v1/4712/cancelAction/" + cancelAction3.getId(), tenantAware.getCurrentTenant()).accept(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) .andExpect(status().isOk()).andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$id", equalTo(String.valueOf(cancelAction3.getId())))) - .andExpect(jsonPath("$cancelAction.stopId", equalTo(String.valueOf(updateAction3.getId())))); + .andExpect(jsonPath("$.id", equalTo(String.valueOf(cancelAction3.getId())))) + .andExpect(jsonPath("$.cancelAction.stopId", equalTo(String.valueOf(updateAction3.getId())))); assertThat(deploymentManagement.countActionStatusAll()).isEqualTo(12); // now lets return feedback for the third cancelation diff --git a/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiConfigDataTest.java b/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiConfigDataTest.java index 395e2284c..aa26c3931 100644 --- a/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiConfigDataTest.java +++ b/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiConfigDataTest.java @@ -53,8 +53,8 @@ public class DdiConfigDataTest extends AbstractRestIntegrationTest { mvc.perform(get("/{tenant}/controller/v1/4712", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))) - .andExpect(jsonPath("$_links.configData.href", equalTo( + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))) + .andExpect(jsonPath("$._links.configData.href", equalTo( "http://localhost/" + tenantAware.getCurrentTenant() + "/controller/v1/4712/configData"))); Thread.sleep(1); // is required: otherwise processing the next line is // often too fast and @@ -76,8 +76,8 @@ public class DdiConfigDataTest extends AbstractRestIntegrationTest { mvc.perform(get("/{tenant}/controller/v1/4712", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))) - .andExpect(jsonPath("$_links.configData.href").doesNotExist()); + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))) + .andExpect(jsonPath("$._links.configData.href").doesNotExist()); } @Test diff --git a/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiDeploymentBaseTest.java b/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiDeploymentBaseTest.java index 584c774d5..f9625dff7 100644 --- a/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiDeploymentBaseTest.java +++ b/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiDeploymentBaseTest.java @@ -10,6 +10,7 @@ package org.eclipse.hawkbit.ddi.rest.resource; import static org.fest.assertions.api.Assertions.assertThat; import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.startsWith; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; @@ -91,9 +92,9 @@ public class DdiDeploymentBaseTest extends AbstractRestIntegrationTestWithMongoD mvc.perform(get("/{tenant}/controller/v1/{targetNotExist}/softwaremodules/{softwareModuleId}/artifacts", tenantAware.getCurrentTenant(), target.getName(), softwareModuleId)).andDo(MockMvcResultPrinter.print()) .andExpect(status().isOk()).andExpect(jsonPath("$", hasSize(3))) - .andExpect(jsonPath("$[?(@.filename==filename0)]", hasSize(1))) - .andExpect(jsonPath("$[?(@.filename==filename1)]", hasSize(1))) - .andExpect(jsonPath("$[?(@.filename==filename2)]", hasSize(1))); + .andExpect(jsonPath("$.[?(@.filename==filename0)]", hasSize(1))) + .andExpect(jsonPath("$.[?(@.filename==filename1)]", hasSize(1))) + .andExpect(jsonPath("$.[?(@.filename==filename2)]", hasSize(1))); } @@ -136,8 +137,8 @@ public class DdiDeploymentBaseTest extends AbstractRestIntegrationTestWithMongoD mvc.perform(get("/{tenant}/controller/v1/4712", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))) - .andExpect(jsonPath("$_links.deploymentBase.href", startsWith("http://localhost/" + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))) + .andExpect(jsonPath("$._links.deploymentBase.href", startsWith("http://localhost/" + tenantAware.getCurrentTenant() + "/controller/v1/4712/deploymentBase/" + uaction.getId()))); assertThat(targetManagement.findTargetByControllerID("4712").getTargetInfo().getLastTargetQuery()) .isGreaterThanOrEqualTo(current); @@ -155,74 +156,82 @@ public class DdiDeploymentBaseTest extends AbstractRestIntegrationTestWithMongoD .accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$id", equalTo(String.valueOf(action.getId())))) - .andExpect(jsonPath("$deployment.download", equalTo("forced"))) - .andExpect(jsonPath("$deployment.update", equalTo("forced"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==jvm)][0].name", - equalTo(ds.findFirstModuleByType(runtimeType).getName()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==jvm)][0].version", - equalTo(ds.findFirstModuleByType(runtimeType).getVersion()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].name", - equalTo(ds.findFirstModuleByType(osType).getName()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].version", - equalTo(ds.findFirstModuleByType(osType).getVersion()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0].size", equalTo(5 * 1024))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0].filename", equalTo("test1"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0].hashes.md5", - equalTo(artifact.getMd5Hash()))) + .andExpect(jsonPath("$.id", equalTo(String.valueOf(action.getId())))) + .andExpect(jsonPath("$.deployment.download", equalTo("forced"))) + .andExpect(jsonPath("$.deployment.update", equalTo("forced"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==jvm)].name", + contains(ds.findFirstModuleByType(runtimeType).getName()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==jvm)].version", + contains(ds.findFirstModuleByType(runtimeType).getVersion()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].name", + contains(ds.findFirstModuleByType(osType).getName()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].version", + contains(ds.findFirstModuleByType(osType).getVersion()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0].size", contains(5 * 1024))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0].filename", contains("test1"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0].hashes.md5", + contains(artifact.getMd5Hash()))) .andExpect( - jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0].hashes.sha1", - equalTo(artifact.getSha1Hash()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0]._links.download.href", - equalTo(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0].hashes.sha1", + contains(artifact.getSha1Hash()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0]._links.download.href", + contains(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" + findDistributionSetByAction.findFirstModuleByType(osType).getId() + "/artifacts/test1"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0]._links.md5sum.href", - equalTo(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0]._links.md5sum.href", + contains(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" + findDistributionSetByAction.findFirstModuleByType(osType).getId() + "/artifacts/test1.MD5SUM"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0]._links.download-http.href", - equalTo(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" - + findDistributionSetByAction.findFirstModuleByType(osType).getId() - + "/artifacts/test1"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0]._links.md5sum-http.href", - equalTo(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" - + findDistributionSetByAction.findFirstModuleByType(osType).getId() - + "/artifacts/test1.MD5SUM"))) - - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1].size", equalTo(5 * 1024))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1].filename", - equalTo("test1.signature"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1].hashes.md5", - equalTo(artifactSignature.getMd5Hash()))) .andExpect( - jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1].hashes.sha1", - equalTo(artifactSignature.getSha1Hash()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1]._links.download.href", - equalTo(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0]._links.download-http.href", + contains(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + + "/controller/v1/4712/softwaremodules/" + + findDistributionSetByAction.findFirstModuleByType(osType).getId() + + "/artifacts/test1"))) + .andExpect( + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0]._links.md5sum-http.href", + contains(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + + "/controller/v1/4712/softwaremodules/" + + findDistributionSetByAction.findFirstModuleByType(osType).getId() + + "/artifacts/test1.MD5SUM"))) + + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1].size", contains(5 * 1024))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1].filename", + contains("test1.signature"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1].hashes.md5", + contains(artifactSignature.getMd5Hash()))) + .andExpect( + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1].hashes.sha1", + contains(artifactSignature.getSha1Hash()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1]._links.download.href", + contains(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" + findDistributionSetByAction.findFirstModuleByType(osType).getId() + "/artifacts/test1.signature"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1]._links.md5sum.href", - equalTo(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1]._links.md5sum.href", + contains(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" + findDistributionSetByAction.findFirstModuleByType(osType).getId() + "/artifacts/test1.signature.MD5SUM"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1]._links.download-http.href", - equalTo(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" - + findDistributionSetByAction.findFirstModuleByType(osType).getId() - + "/artifacts/test1.signature"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1]._links.md5sum-http.href", - equalTo(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" - + findDistributionSetByAction.findFirstModuleByType(osType).getId() - + "/artifacts/test1.signature.MD5SUM"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==bApp)][0].version", - equalTo(ds.findFirstModuleByType(appType).getVersion()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==bApp)][0].name", - equalTo(ds.findFirstModuleByType(appType).getName()))); + .andExpect( + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1]._links.download-http.href", + contains(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + + "/controller/v1/4712/softwaremodules/" + + findDistributionSetByAction.findFirstModuleByType(osType).getId() + + "/artifacts/test1.signature"))) + .andExpect( + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1]._links.md5sum-http.href", + contains(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + + "/controller/v1/4712/softwaremodules/" + + findDistributionSetByAction.findFirstModuleByType(osType).getId() + + "/artifacts/test1.signature.MD5SUM"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==bApp)].version", + contains(ds.findFirstModuleByType(appType).getVersion()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==bApp)].name", + contains(ds.findFirstModuleByType(appType).getName()))); assertThat(targetManagement.findTargetByControllerID("4712").getTargetInfo().getLastTargetQuery()) .isGreaterThanOrEqualTo(current); @@ -313,8 +322,8 @@ public class DdiDeploymentBaseTest extends AbstractRestIntegrationTestWithMongoD mvc.perform(get("/{tenant}/controller/v1/4712", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))) - .andExpect(jsonPath("$_links.deploymentBase.href", startsWith("http://localhost/" + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))) + .andExpect(jsonPath("$._links.deploymentBase.href", startsWith("http://localhost/" + tenantAware.getCurrentTenant() + "/controller/v1/4712/deploymentBase/" + uaction.getId()))); assertThat(targetManagement.findTargetByControllerID("4712").getTargetInfo().getLastTargetQuery()) .isGreaterThanOrEqualTo(current); @@ -332,64 +341,68 @@ public class DdiDeploymentBaseTest extends AbstractRestIntegrationTestWithMongoD .accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$id", equalTo(String.valueOf(action.getId())))) - .andExpect(jsonPath("$deployment.download", equalTo("attempt"))) - .andExpect(jsonPath("$deployment.update", equalTo("attempt"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==jvm)][0].name", - equalTo(ds.findFirstModuleByType(runtimeType).getName()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==jvm)][0].version", - equalTo(ds.findFirstModuleByType(runtimeType).getVersion()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].name", - equalTo(ds.findFirstModuleByType(osType).getName()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].version", - equalTo(ds.findFirstModuleByType(osType).getVersion()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0].size", equalTo(5 * 1024))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0].filename", equalTo("test1"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0].hashes.md5", - equalTo(artifact.getMd5Hash()))) + .andExpect(jsonPath("$.id", equalTo(String.valueOf(action.getId())))) + .andExpect(jsonPath("$.deployment.download", equalTo("attempt"))) + .andExpect(jsonPath("$.deployment.update", equalTo("attempt"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==jvm)].name", + contains(ds.findFirstModuleByType(runtimeType).getName()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==jvm)].version", + contains(ds.findFirstModuleByType(runtimeType).getVersion()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].name", + contains(ds.findFirstModuleByType(osType).getName()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].version", + contains(ds.findFirstModuleByType(osType).getVersion()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0].size", contains(5 * 1024))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0].filename", contains("test1"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0].hashes.md5", + contains(artifact.getMd5Hash()))) .andExpect( - jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0].hashes.sha1", - equalTo(artifact.getSha1Hash()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0]._links.download.href", - equalTo(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0].hashes.sha1", + contains(artifact.getSha1Hash()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0]._links.download.href", + contains(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" + findDistributionSetByAction.findFirstModuleByType(osType).getId() + "/artifacts/test1"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0]._links.md5sum.href", - equalTo(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0]._links.md5sum.href", + contains(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" + findDistributionSetByAction.findFirstModuleByType(osType).getId() + "/artifacts/test1.MD5SUM"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1].size", equalTo(5 * 1024))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1].filename", - equalTo("test1.signature"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1].hashes.md5", - equalTo(artifactSignature.getMd5Hash()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1].size", contains(5 * 1024))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1].filename", + contains("test1.signature"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1].hashes.md5", + contains(artifactSignature.getMd5Hash()))) .andExpect( - jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1].hashes.sha1", - equalTo(artifactSignature.getSha1Hash()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1]._links.download.href", - equalTo(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1].hashes.sha1", + contains(artifactSignature.getSha1Hash()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1]._links.download.href", + contains(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" + findDistributionSetByAction.findFirstModuleByType(osType).getId() + "/artifacts/test1.signature"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1]._links.md5sum.href", - equalTo(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1]._links.md5sum.href", + contains(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" + findDistributionSetByAction.findFirstModuleByType(osType).getId() + "/artifacts/test1.signature.MD5SUM"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1]._links.download-http.href", - equalTo(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" - + findDistributionSetByAction.findFirstModuleByType(osType).getId() - + "/artifacts/test1.signature"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1]._links.md5sum-http.href", - equalTo(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" - + findDistributionSetByAction.findFirstModuleByType(osType).getId() - + "/artifacts/test1.signature.MD5SUM"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==bApp)][0].version", - equalTo(ds.findFirstModuleByType(appType).getVersion()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==bApp)][0].name", - equalTo(ds.findFirstModuleByType(appType).getName()))); + .andExpect( + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1]._links.download-http.href", + contains(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + + "/controller/v1/4712/softwaremodules/" + + findDistributionSetByAction.findFirstModuleByType(osType).getId() + + "/artifacts/test1.signature"))) + .andExpect( + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1]._links.md5sum-http.href", + contains(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + + "/controller/v1/4712/softwaremodules/" + + findDistributionSetByAction.findFirstModuleByType(osType).getId() + + "/artifacts/test1.signature.MD5SUM"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==bApp)].version", + contains(ds.findFirstModuleByType(appType).getVersion()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==bApp)].name", + contains(ds.findFirstModuleByType(appType).getName()))); assertThat(targetManagement.findTargetByControllerID("4712").getTargetInfo().getLastTargetQuery()) .isGreaterThanOrEqualTo(current); @@ -441,8 +454,8 @@ public class DdiDeploymentBaseTest extends AbstractRestIntegrationTestWithMongoD mvc.perform(get("/{tenant}/controller/v1/4712", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))) - .andExpect(jsonPath("$_links.deploymentBase.href", startsWith("http://localhost/" + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))) + .andExpect(jsonPath("$._links.deploymentBase.href", startsWith("http://localhost/" + tenantAware.getCurrentTenant() + "/controller/v1/4712/deploymentBase/" + uaction.getId()))); assertThat(targetManagement.findTargetByControllerID("4712").getTargetInfo().getLastTargetQuery()) .isGreaterThanOrEqualTo(current); @@ -458,74 +471,82 @@ public class DdiDeploymentBaseTest extends AbstractRestIntegrationTestWithMongoD mvc.perform(get("/{tenant}/controller/v1/4712/deploymentBase/{actionId}", tenantAware.getCurrentTenant(), uaction.getId()).accept(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) .andExpect(status().isOk()).andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$id", equalTo(String.valueOf(action.getId())))) - .andExpect(jsonPath("$deployment.download", equalTo("forced"))) - .andExpect(jsonPath("$deployment.update", equalTo("forced"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==jvm)][0].name", - equalTo(ds.findFirstModuleByType(runtimeType).getName()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==jvm)][0].version", - equalTo(ds.findFirstModuleByType(runtimeType).getVersion()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].name", - equalTo(ds.findFirstModuleByType(osType).getName()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].version", - equalTo(ds.findFirstModuleByType(osType).getVersion()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0].size", equalTo(5 * 1024))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0].filename", equalTo("test1"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0].hashes.md5", - equalTo(artifact.getMd5Hash()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0].hashes.sha1", - equalTo(artifact.getSha1Hash()))) + .andExpect(jsonPath("$.id", equalTo(String.valueOf(action.getId())))) + .andExpect(jsonPath("$.deployment.download", equalTo("forced"))) + .andExpect(jsonPath("$.deployment.update", equalTo("forced"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==jvm)].name", + contains(ds.findFirstModuleByType(runtimeType).getName()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==jvm)].version", + contains(ds.findFirstModuleByType(runtimeType).getVersion()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].name", + contains(ds.findFirstModuleByType(osType).getName()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].version", + contains(ds.findFirstModuleByType(osType).getVersion()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0].size", contains(5 * 1024))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0].filename", contains("test1"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0].hashes.md5", + contains(artifact.getMd5Hash()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0].hashes.sha1", + contains(artifact.getSha1Hash()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0]._links.download.href", - equalTo(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0]._links.download.href", + contains(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" + findDistributionSetByAction.findFirstModuleByType(osType).getId() + "/artifacts/test1"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0]._links.md5sum.href", - equalTo(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0]._links.md5sum.href", + contains(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" + findDistributionSetByAction.findFirstModuleByType(osType).getId() + "/artifacts/test1.MD5SUM"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0]._links.download-http.href", - equalTo(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" - + findDistributionSetByAction.findFirstModuleByType(osType).getId() - + "/artifacts/test1"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[0]._links.md5sum-http.href", - equalTo(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" - + findDistributionSetByAction.findFirstModuleByType(osType).getId() - + "/artifacts/test1.MD5SUM"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1].size", equalTo(5 * 1024))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1].filename", - equalTo("test1.signature"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1].hashes.md5", - equalTo(artifactSignature.getMd5Hash()))) .andExpect( - jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1].hashes.sha1", - equalTo(artifactSignature.getSha1Hash()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1]._links.download.href", - equalTo(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0]._links.download-http.href", + contains(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + + "/controller/v1/4712/softwaremodules/" + + findDistributionSetByAction.findFirstModuleByType(osType).getId() + + "/artifacts/test1"))) + .andExpect( + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[0]._links.md5sum-http.href", + contains(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + + "/controller/v1/4712/softwaremodules/" + + findDistributionSetByAction.findFirstModuleByType(osType).getId() + + "/artifacts/test1.MD5SUM"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1].size", contains(5 * 1024))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1].filename", + contains("test1.signature"))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1].hashes.md5", + contains(artifactSignature.getMd5Hash()))) + .andExpect( + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1].hashes.sha1", + contains(artifactSignature.getSha1Hash()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1]._links.download.href", + contains(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" + findDistributionSetByAction.findFirstModuleByType(osType).getId() + "/artifacts/test1.signature"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1]._links.md5sum.href", - equalTo(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + .andExpect(jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1]._links.md5sum.href", + contains(HTTPS_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" + findDistributionSetByAction.findFirstModuleByType(osType).getId() + "/artifacts/test1.signature.MD5SUM"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1]._links.download-http.href", - equalTo(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" - + findDistributionSetByAction.findFirstModuleByType(osType).getId() - + "/artifacts/test1.signature"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==os)][0].artifacts[1]._links.md5sum-http.href", - equalTo(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + "/controller/v1/4712/softwaremodules/" - + findDistributionSetByAction.findFirstModuleByType(osType).getId() - + "/artifacts/test1.signature.MD5SUM"))) + .andExpect( + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1]._links.download-http.href", + contains(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + + "/controller/v1/4712/softwaremodules/" + + findDistributionSetByAction.findFirstModuleByType(osType).getId() + + "/artifacts/test1.signature"))) + .andExpect( + jsonPath("$.deployment.chunks[?(@.part==os)].artifacts[1]._links.md5sum-http.href", + contains(HTTP_LOCALHOST + tenantAware.getCurrentTenant() + + "/controller/v1/4712/softwaremodules/" + + findDistributionSetByAction.findFirstModuleByType(osType).getId() + + "/artifacts/test1.signature.MD5SUM"))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==bApp)][0].version", - equalTo(ds.findFirstModuleByType(appType).getVersion()))) - .andExpect(jsonPath("$deployment.chunks[?(@.part==bApp)][0].name", - equalTo(ds.findFirstModuleByType(appType).getName()))); + .andExpect(jsonPath("$.deployment.chunks[?(@.part==bApp)].version", + contains(ds.findFirstModuleByType(appType).getVersion()))) + .andExpect(jsonPath("$.deployment.chunks[?(@.part==bApp)].name", + contains(ds.findFirstModuleByType(appType).getName()))); assertThat(targetManagement.findTargetByControllerID("4712").getTargetInfo().getLastTargetQuery()) .isGreaterThanOrEqualTo(current); diff --git a/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootControllerTest.java b/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootControllerTest.java index ba5e3d2f6..7aad25600 100644 --- a/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootControllerTest.java +++ b/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootControllerTest.java @@ -123,7 +123,7 @@ public class DdiRootControllerTest extends AbstractRestIntegrationTestWithMongoD final long current = System.currentTimeMillis(); mvc.perform(get("/default-tenant/controller/v1/4711")).andDo(MockMvcResultPrinter.print()) .andExpect(status().isOk()).andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))); + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))); assertThat(targetManagement.findTargetByControllerID("4711").getTargetInfo().getLastTargetQuery()) .isGreaterThanOrEqualTo(current); @@ -155,7 +155,7 @@ public class DdiRootControllerTest extends AbstractRestIntegrationTestWithMongoD mvc.perform(get("/{tenant}/controller/v1/4711", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:02:00"))); + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:02:00"))); return null; }); } @@ -166,7 +166,7 @@ public class DdiRootControllerTest extends AbstractRestIntegrationTestWithMongoD final String etag = mvc.perform(get("/{tenant}/controller/v1/4711", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))).andReturn().getResponse() + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))).andReturn().getResponse() .getHeader("ETag"); mvc.perform(get("/{tenant}/controller/v1/4711", tenantAware.getCurrentTenant()).header("If-None-Match", etag)) @@ -183,8 +183,8 @@ public class DdiRootControllerTest extends AbstractRestIntegrationTestWithMongoD .header("If-None-Match", etag).accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))) - .andExpect(jsonPath("$_links.deploymentBase.href", + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))) + .andExpect(jsonPath("$._links.deploymentBase.href", startsWith("http://localhost/" + tenantAware.getCurrentTenant() + "/controller/v1/4711/deploymentBase/" + updateAction.getId()))) .andReturn().getResponse().getHeader("ETag"); @@ -216,8 +216,8 @@ public class DdiRootControllerTest extends AbstractRestIntegrationTestWithMongoD .header("If-None-Match", etagWithFirstUpdate).accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))) - .andExpect(jsonPath("$_links.deploymentBase.href", + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))) + .andExpect(jsonPath("$._links.deploymentBase.href", startsWith("http://localhost/" + tenantAware.getCurrentTenant() + "/controller/v1/4711/deploymentBase/" + updateAction2.getId()))) .andReturn().getResponse().getHeader("ETag"); @@ -237,7 +237,7 @@ public class DdiRootControllerTest extends AbstractRestIntegrationTestWithMongoD mvc.perform(get("/{tenant}/controller/v1/4711", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) - .andExpect(jsonPath("$config.polling.sleep", equalTo("00:01:00"))); + .andExpect(jsonPath("$.config.polling.sleep", equalTo("00:01:00"))); assertThat(targetManagement.findTargetByControllerID("4711").getTargetInfo().getLastTargetQuery()) .isLessThanOrEqualTo(System.currentTimeMillis()); assertThat(targetManagement.findTargetByControllerID("4711").getTargetInfo().getLastTargetQuery()) diff --git a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetResourceTest.java b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetResourceTest.java index 556454f93..8aa035594 100644 --- a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetResourceTest.java +++ b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetResourceTest.java @@ -10,6 +10,7 @@ package org.eclipse.hawkbit.mgmt.rest.resource; import static org.fest.assertions.api.Assertions.assertThat; import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.hasSize; import static org.junit.Assert.fail; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; @@ -29,12 +30,12 @@ import java.util.Set; import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.repository.exception.EntityNotFoundException; import org.eclipse.hawkbit.repository.model.Action.Status; -import org.eclipse.hawkbit.repository.test.util.TestdataFactory; -import org.eclipse.hawkbit.repository.test.util.WithUser; import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.DistributionSetMetadata; import org.eclipse.hawkbit.repository.model.SoftwareModule; import org.eclipse.hawkbit.repository.model.Target; +import org.eclipse.hawkbit.repository.test.util.TestdataFactory; +import org.eclipse.hawkbit.repository.test.util.WithUser; import org.eclipse.hawkbit.rest.AbstractRestIntegrationTest; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; @@ -362,25 +363,25 @@ public class MgmtDistributionSetResourceTest extends AbstractRestIntegrationTest mvc.perform(get("/rest/v1/distributionsets").accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content.[0]._links.self.href", + .andExpect(jsonPath("$.content.[0]._links.self.href", equalTo("http://localhost/rest/v1/distributionsets/" + set.getId()))) - .andExpect(jsonPath("$content.[0].id", equalTo(set.getId().intValue()))) - .andExpect(jsonPath("$content.[0].name", equalTo(set.getName()))) - .andExpect(jsonPath("$content.[0].requiredMigrationStep", equalTo(set.isRequiredMigrationStep()))) - .andExpect(jsonPath("$content.[0].description", equalTo(set.getDescription()))) - .andExpect(jsonPath("$content.[0].type", equalTo(set.getType().getKey()))) - .andExpect(jsonPath("$content.[0].createdBy", equalTo(set.getCreatedBy()))) - .andExpect(jsonPath("$content.[0].createdAt", equalTo(set.getCreatedAt()))) - .andExpect(jsonPath("$content.[0].complete", equalTo(Boolean.TRUE))) - .andExpect(jsonPath("$content.[0].lastModifiedBy", equalTo(set.getLastModifiedBy()))) - .andExpect(jsonPath("$content.[0].lastModifiedAt", equalTo(set.getLastModifiedAt()))) - .andExpect(jsonPath("$content.[0].version", equalTo(set.getVersion()))) - .andExpect(jsonPath("$content.[0].modules.[?(@.type==" + runtimeType.getKey() + ")][0].id", - equalTo(set.findFirstModuleByType(runtimeType).getId().intValue()))) - .andExpect(jsonPath("$content.[0].modules.[?(@.type==" + appType.getKey() + ")][0].id", - equalTo(set.findFirstModuleByType(appType).getId().intValue()))) - .andExpect(jsonPath("$content.[0].modules.[?(@.type==" + osType.getKey() + ")][0].id", - equalTo(set.findFirstModuleByType(osType).getId().intValue()))); + .andExpect(jsonPath("$.content.[0].id", equalTo(set.getId().intValue()))) + .andExpect(jsonPath("$.content.[0].name", equalTo(set.getName()))) + .andExpect(jsonPath("$.content.[0].requiredMigrationStep", equalTo(set.isRequiredMigrationStep()))) + .andExpect(jsonPath("$.content.[0].description", equalTo(set.getDescription()))) + .andExpect(jsonPath("$.content.[0].type", equalTo(set.getType().getKey()))) + .andExpect(jsonPath("$.content.[0].createdBy", equalTo(set.getCreatedBy()))) + .andExpect(jsonPath("$.content.[0].createdAt", equalTo(set.getCreatedAt()))) + .andExpect(jsonPath("$.content.[0].complete", equalTo(Boolean.TRUE))) + .andExpect(jsonPath("$.content.[0].lastModifiedBy", equalTo(set.getLastModifiedBy()))) + .andExpect(jsonPath("$.content.[0].lastModifiedAt", equalTo(set.getLastModifiedAt()))) + .andExpect(jsonPath("$.content.[0].version", equalTo(set.getVersion()))) + .andExpect(jsonPath("$.content.[0].modules.[?(@.type==" + runtimeType.getKey() + ")].id", + contains(set.findFirstModuleByType(runtimeType).getId().intValue()))) + .andExpect(jsonPath("$.content.[0].modules.[?(@.type==" + appType.getKey() + ")].id", + contains(set.findFirstModuleByType(appType).getId().intValue()))) + .andExpect(jsonPath("$.content.[0].modules.[?(@.type==" + osType.getKey() + ")].id", + contains(set.findFirstModuleByType(osType).getId().intValue()))); } @Test @@ -393,25 +394,25 @@ public class MgmtDistributionSetResourceTest extends AbstractRestIntegrationTest mvc.perform(get("/rest/v1/distributionsets/{dsId}", set.getId()).accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$_links.self.href", + .andExpect(jsonPath("$._links.self.href", equalTo("http://localhost/rest/v1/distributionsets/" + set.getId()))) - .andExpect(jsonPath("$id", equalTo(set.getId().intValue()))) - .andExpect(jsonPath("$name", equalTo(set.getName()))) - .andExpect(jsonPath("$type", equalTo(set.getType().getKey()))) - .andExpect(jsonPath("$description", equalTo(set.getDescription()))) - .andExpect(jsonPath("$requiredMigrationStep", equalTo(set.isRequiredMigrationStep()))) - .andExpect(jsonPath("$createdBy", equalTo(set.getCreatedBy()))) - .andExpect(jsonPath("$complete", equalTo(Boolean.TRUE))) - .andExpect(jsonPath("$createdAt", equalTo(set.getCreatedAt()))) - .andExpect(jsonPath("$lastModifiedBy", equalTo(set.getLastModifiedBy()))) - .andExpect(jsonPath("$lastModifiedAt", equalTo(set.getLastModifiedAt()))) - .andExpect(jsonPath("$version", equalTo(set.getVersion()))) - .andExpect(jsonPath("$modules.[?(@.type==" + runtimeType.getKey() + ")][0].id", - equalTo(set.findFirstModuleByType(runtimeType).getId().intValue()))) - .andExpect(jsonPath("$modules.[?(@.type==" + appType.getKey() + ")][0].id", - equalTo(set.findFirstModuleByType(appType).getId().intValue()))) - .andExpect(jsonPath("$modules.[?(@.type==" + osType.getKey() + ")][0].id", - equalTo(set.findFirstModuleByType(osType).getId().intValue()))); + .andExpect(jsonPath("$.id", equalTo(set.getId().intValue()))) + .andExpect(jsonPath("$.name", equalTo(set.getName()))) + .andExpect(jsonPath("$.type", equalTo(set.getType().getKey()))) + .andExpect(jsonPath("$.description", equalTo(set.getDescription()))) + .andExpect(jsonPath("$.requiredMigrationStep", equalTo(set.isRequiredMigrationStep()))) + .andExpect(jsonPath("$.createdBy", equalTo(set.getCreatedBy()))) + .andExpect(jsonPath("$.complete", equalTo(Boolean.TRUE))) + .andExpect(jsonPath("$.createdAt", equalTo(set.getCreatedAt()))) + .andExpect(jsonPath("$.lastModifiedBy", equalTo(set.getLastModifiedBy()))) + .andExpect(jsonPath("$.lastModifiedAt", equalTo(set.getLastModifiedAt()))) + .andExpect(jsonPath("$.version", equalTo(set.getVersion()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + runtimeType.getKey() + ")].id", + contains(set.findFirstModuleByType(runtimeType).getId().intValue()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + appType.getKey() + ")].id", + contains(set.findFirstModuleByType(appType).getId().intValue()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + osType.getKey() + ")].id", + contains(set.findFirstModuleByType(osType).getId().intValue()))); } @@ -453,24 +454,24 @@ public class MgmtDistributionSetResourceTest extends AbstractRestIntegrationTest .andExpect(jsonPath("[0]version", equalTo(one.getVersion()))) .andExpect(jsonPath("[0]complete", equalTo(Boolean.TRUE))) .andExpect(jsonPath("[0]requiredMigrationStep", equalTo(one.isRequiredMigrationStep()))) - .andExpect(jsonPath("[0].modules.[?(@.type==" + runtimeType.getKey() + ")][0].id", - equalTo(one.findFirstModuleByType(runtimeType).getId().intValue()))) - .andExpect(jsonPath("[0].modules.[?(@.type==" + appType.getKey() + ")][0].id", - equalTo(one.findFirstModuleByType(appType).getId().intValue()))) - .andExpect(jsonPath("[0].modules.[?(@.type==" + osType.getKey() + ")][0].id", - equalTo(one.findFirstModuleByType(osType).getId().intValue()))) + .andExpect(jsonPath("[0].modules.[?(@.type==" + runtimeType.getKey() + ")].id", + contains(one.findFirstModuleByType(runtimeType).getId().intValue()))) + .andExpect(jsonPath("[0].modules.[?(@.type==" + appType.getKey() + ")].id", + contains(one.findFirstModuleByType(appType).getId().intValue()))) + .andExpect(jsonPath("[0].modules.[?(@.type==" + osType.getKey() + ")].id", + contains(one.findFirstModuleByType(osType).getId().intValue()))) .andExpect(jsonPath("[1]name", equalTo(two.getName()))) .andExpect(jsonPath("[1]description", equalTo(two.getDescription()))) .andExpect(jsonPath("[1]complete", equalTo(Boolean.TRUE))) .andExpect(jsonPath("[1]type", equalTo(standardDsType.getKey()))) .andExpect(jsonPath("[1]createdBy", equalTo("uploadTester"))) .andExpect(jsonPath("[1]version", equalTo(two.getVersion()))) - .andExpect(jsonPath("[1].modules.[?(@.type==" + runtimeType.getKey() + ")][0].id", - equalTo(two.findFirstModuleByType(runtimeType).getId().intValue()))) - .andExpect(jsonPath("[1].modules.[?(@.type==" + appType.getKey() + ")][0].id", - equalTo(two.findFirstModuleByType(appType).getId().intValue()))) - .andExpect(jsonPath("[1].modules.[?(@.type==" + osType.getKey() + ")][0].id", - equalTo(two.findFirstModuleByType(osType).getId().intValue()))) + .andExpect(jsonPath("[1].modules.[?(@.type==" + runtimeType.getKey() + ")].id", + contains(two.findFirstModuleByType(runtimeType).getId().intValue()))) + .andExpect(jsonPath("[1].modules.[?(@.type==" + appType.getKey() + ")].id", + contains(two.findFirstModuleByType(appType).getId().intValue()))) + .andExpect(jsonPath("[1].modules.[?(@.type==" + osType.getKey() + ")].id", + contains(two.findFirstModuleByType(osType).getId().intValue()))) .andExpect(jsonPath("[1]requiredMigrationStep", equalTo(two.isRequiredMigrationStep()))) .andExpect(jsonPath("[2]name", equalTo(three.getName()))) .andExpect(jsonPath("[2]description", equalTo(three.getDescription()))) @@ -478,12 +479,12 @@ public class MgmtDistributionSetResourceTest extends AbstractRestIntegrationTest .andExpect(jsonPath("[2]type", equalTo(standardDsType.getKey()))) .andExpect(jsonPath("[2]createdBy", equalTo("uploadTester"))) .andExpect(jsonPath("[2]version", equalTo(three.getVersion()))) - .andExpect(jsonPath("[2].modules.[?(@.type==" + runtimeType.getKey() + ")][0].id", - equalTo(three.findFirstModuleByType(runtimeType).getId().intValue()))) - .andExpect(jsonPath("[2].modules.[?(@.type==" + appType.getKey() + ")][0].id", - equalTo(three.findFirstModuleByType(appType).getId().intValue()))) - .andExpect(jsonPath("[2].modules.[?(@.type==" + osType.getKey() + ")][0].id", - equalTo(three.findFirstModuleByType(osType).getId().intValue()))) + .andExpect(jsonPath("[2].modules.[?(@.type==" + runtimeType.getKey() + ")].id", + contains(three.findFirstModuleByType(runtimeType).getId().intValue()))) + .andExpect(jsonPath("[2].modules.[?(@.type==" + appType.getKey() + ")].id", + contains(three.findFirstModuleByType(appType).getId().intValue()))) + .andExpect(jsonPath("[2].modules.[?(@.type==" + osType.getKey() + ")].id", + contains(three.findFirstModuleByType(osType).getId().intValue()))) .andExpect(jsonPath("[2]requiredMigrationStep", equalTo(three.isRequiredMigrationStep()))).andReturn(); one = distributionSetManagement.findDistributionSetByIdWithDetails( diff --git a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java index bc6d69cd3..eba06c5e6 100644 --- a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java +++ b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java @@ -11,6 +11,7 @@ package org.eclipse.hawkbit.mgmt.rest.resource; import static org.fest.assertions.api.Assertions.assertThat; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.not; +import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.hasSize; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; @@ -67,29 +68,29 @@ public class MgmtDistributionSetTypeResourceTest extends AbstractRestIntegration mvc.perform(get("/rest/v1/distributionsettypes").accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content.[?(@.key==" + standardDsType.getKey() + ")][0].name", - equalTo(standardDsType.getName()))) - .andExpect(jsonPath("$content.[?(@.key==" + standardDsType.getKey() + ")][0].description", - equalTo(standardDsType.getDescription()))) - .andExpect(jsonPath("$content.[?(@.key==" + standardDsType.getKey() + ")][0].key", - equalTo(standardDsType.getKey()))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].id", equalTo(testType.getId().intValue()))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].name", equalTo("TestName123"))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].description", equalTo("Desc1234"))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].createdAt", equalTo(testType.getCreatedAt()))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].lastModifiedBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].lastModifiedAt", - equalTo(testType.getLastModifiedAt()))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].key", equalTo("test123"))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0]._links.self.href", - equalTo("http://localhost/rest/v1/distributionsettypes/" + testType.getId()))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0]._links.mandatorymodules.href", - equalTo("http://localhost/rest/v1/distributionsettypes/" + testType.getId() + .andExpect(jsonPath("$.content.[?(@.key==" + standardDsType.getKey() + ")]$..name", + contains(standardDsType.getName()))) + .andExpect(jsonPath("$.content.[?(@.key==" + standardDsType.getKey() + ")]$..description", + contains(standardDsType.getDescription()))) + .andExpect(jsonPath("$.content.[?(@.key==" + standardDsType.getKey() + ")]$..key", + contains(standardDsType.getKey()))) + .andExpect(jsonPath("$.content.[?(@.key==test123)]$..id", contains(testType.getId().intValue()))) + .andExpect(jsonPath("$.content.[?(@.key==test123)]$..name", contains("TestName123"))) + .andExpect(jsonPath("$.content.[?(@.key==test123)]$..description", contains("Desc1234"))) + .andExpect(jsonPath("$.content.[?(@.key==test123)]$..createdBy", contains("uploadTester"))) + .andExpect(jsonPath("$.content.[?(@.key==test123)]$..createdAt", contains(testType.getCreatedAt()))) + .andExpect(jsonPath("$.content.[?(@.key==test123)]$..lastModifiedBy", contains("uploadTester"))) + .andExpect(jsonPath("$.content.[?(@.key==test123)]$..lastModifiedAt", + contains(testType.getLastModifiedAt()))) + .andExpect(jsonPath("$.content.[?(@.key==test123)]$..key", contains("test123"))) + .andExpect(jsonPath("$.content.[?(@.key==test123)]$.._links.self.href", + contains("http://localhost/rest/v1/distributionsettypes/" + testType.getId()))) + .andExpect(jsonPath("$.content.[?(@.key==test123)]$.._links.mandatorymodules.href", + contains("http://localhost/rest/v1/distributionsettypes/" + testType.getId() + "/mandatorymoduletypes"))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0]._links.optionalmodules.href", equalTo( + .andExpect(jsonPath("$.content.[?(@.key==test123)]$.._links.optionalmodules.href", contains( "http://localhost/rest/v1/distributionsettypes/" + testType.getId() + "/optionalmoduletypes"))) - .andExpect(jsonPath("$total", equalTo(4))); + .andExpect(jsonPath("$.total", equalTo(4))); } @Test @@ -106,29 +107,29 @@ public class MgmtDistributionSetTypeResourceTest extends AbstractRestIntegration mvc.perform(get("/rest/v1/distributionsettypes").accept(MediaType.APPLICATION_JSON) .param(MgmtRestConstants.REQUEST_PARAMETER_SORTING, "KEY:DESC")).andDo(MockMvcResultPrinter.print()) .andExpect(status().isOk()).andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content.[0].id", equalTo(testType.getId().intValue()))) - .andExpect(jsonPath("$content.[0].name", equalTo("TestName123"))) - .andExpect(jsonPath("$content.[0].description", equalTo("Desc1234"))) - .andExpect(jsonPath("$content.[0].createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[0].createdAt", equalTo(testType.getCreatedAt()))) - .andExpect(jsonPath("$content.[0].lastModifiedBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[0].lastModifiedAt", equalTo(testType.getLastModifiedAt()))) - .andExpect(jsonPath("$content.[0].key", equalTo("zzzzz"))) - .andExpect(jsonPath("$total", equalTo(DEFAULT_DS_TYPES + 1))); + .andExpect(jsonPath("$.content.[0].id", equalTo(testType.getId().intValue()))) + .andExpect(jsonPath("$.content.[0].name", equalTo("TestName123"))) + .andExpect(jsonPath("$.content.[0].description", equalTo("Desc1234"))) + .andExpect(jsonPath("$.content.[0].createdBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.content.[0].createdAt", equalTo(testType.getCreatedAt()))) + .andExpect(jsonPath("$.content.[0].lastModifiedBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.content.[0].lastModifiedAt", equalTo(testType.getLastModifiedAt()))) + .andExpect(jsonPath("$.content.[0].key", equalTo("zzzzz"))) + .andExpect(jsonPath("$.total", equalTo(DEFAULT_DS_TYPES + 1))); // ascending mvc.perform(get("/rest/v1/distributionsettypes").accept(MediaType.APPLICATION_JSON) .param(MgmtRestConstants.REQUEST_PARAMETER_SORTING, "KEY:ASC")).andDo(MockMvcResultPrinter.print()) .andExpect(status().isOk()).andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content.[3].id", equalTo(testType.getId().intValue()))) - .andExpect(jsonPath("$content.[3].name", equalTo("TestName123"))) - .andExpect(jsonPath("$content.[3].description", equalTo("Desc1234"))) - .andExpect(jsonPath("$content.[3].createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[3].createdAt", equalTo(testType.getCreatedAt()))) - .andExpect(jsonPath("$content.[3].lastModifiedBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[3].lastModifiedAt", equalTo(testType.getLastModifiedAt()))) - .andExpect(jsonPath("$content.[3].key", equalTo("zzzzz"))) - .andExpect(jsonPath("$total", equalTo(DEFAULT_DS_TYPES + 1))); + .andExpect(jsonPath("$.content.[3].id", equalTo(testType.getId().intValue()))) + .andExpect(jsonPath("$.content.[3].name", equalTo("TestName123"))) + .andExpect(jsonPath("$.content.[3].description", equalTo("Desc1234"))) + .andExpect(jsonPath("$.content.[3].createdBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.content.[3].createdAt", equalTo(testType.getCreatedAt()))) + .andExpect(jsonPath("$.content.[3].lastModifiedBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.content.[3].lastModifiedAt", equalTo(testType.getLastModifiedAt()))) + .andExpect(jsonPath("$.content.[3].key", equalTo("zzzzz"))) + .andExpect(jsonPath("$.total", equalTo(DEFAULT_DS_TYPES + 1))); } @Test @@ -141,8 +142,8 @@ public class MgmtDistributionSetTypeResourceTest extends AbstractRestIntegration final List types = new ArrayList<>(); types.add(entityFactory.generateDistributionSetType("test1", "TestName1", "Desc1") .addMandatoryModuleType(osType).addOptionalModuleType(runtimeType)); - types.add(entityFactory.generateDistributionSetType("test2", "TestName2", "Desc2") - .addOptionalModuleType(osType).addOptionalModuleType(runtimeType).addOptionalModuleType(appType)); + types.add(entityFactory.generateDistributionSetType("test2", "TestName2", "Desc2").addOptionalModuleType(osType) + .addOptionalModuleType(runtimeType).addOptionalModuleType(appType)); types.add(entityFactory.generateDistributionSetType("test3", "TestName3", "Desc3") .addMandatoryModuleType(osType).addMandatoryModuleType(runtimeType)); @@ -295,13 +296,13 @@ public class MgmtDistributionSetTypeResourceTest extends AbstractRestIntegration mvc.perform(get("/rest/v1/distributionsettypes/{dstID}/mandatorymoduletypes/{smtId}", testType.getId(), osType.getId()).contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) - .andExpect(status().isOk()).andExpect(jsonPath("$id", equalTo(osType.getId().intValue()))) - .andExpect(jsonPath("$name", equalTo(osType.getName()))) - .andExpect(jsonPath("$description", equalTo(osType.getDescription()))) - .andExpect(jsonPath("$createdBy", equalTo(osType.getCreatedBy()))) - .andExpect(jsonPath("$createdAt", equalTo(osType.getCreatedAt()))) - .andExpect(jsonPath("$lastModifiedBy", equalTo(osType.getLastModifiedBy()))) - .andExpect(jsonPath("$lastModifiedAt", equalTo(osType.getLastModifiedAt()))); + .andExpect(status().isOk()).andExpect(jsonPath("$.id", equalTo(osType.getId().intValue()))) + .andExpect(jsonPath("$.name", equalTo(osType.getName()))) + .andExpect(jsonPath("$.description", equalTo(osType.getDescription()))) + .andExpect(jsonPath("$.createdBy", equalTo(osType.getCreatedBy()))) + .andExpect(jsonPath("$.createdAt", equalTo(osType.getCreatedAt()))) + .andExpect(jsonPath("$.lastModifiedBy", equalTo(osType.getLastModifiedBy()))) + .andExpect(jsonPath("$.lastModifiedAt", equalTo(osType.getLastModifiedAt()))); } @Test @@ -317,13 +318,13 @@ public class MgmtDistributionSetTypeResourceTest extends AbstractRestIntegration mvc.perform(get("/rest/v1/distributionsettypes/{dstID}/optionalmoduletypes/{smtId}", testType.getId(), appType.getId()).contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) - .andExpect(status().isOk()).andExpect(jsonPath("$id", equalTo(appType.getId().intValue()))) - .andExpect(jsonPath("$name", equalTo(appType.getName()))) - .andExpect(jsonPath("$description", equalTo(appType.getDescription()))) - .andExpect(jsonPath("$createdBy", equalTo(appType.getCreatedBy()))) - .andExpect(jsonPath("$createdAt", equalTo(appType.getCreatedAt()))) - .andExpect(jsonPath("$lastModifiedBy", equalTo(appType.getLastModifiedBy()))) - .andExpect(jsonPath("$lastModifiedAt", equalTo(appType.getLastModifiedAt()))); + .andExpect(status().isOk()).andExpect(jsonPath("$.id", equalTo(appType.getId().intValue()))) + .andExpect(jsonPath("$.name", equalTo(appType.getName()))) + .andExpect(jsonPath("$.description", equalTo(appType.getDescription()))) + .andExpect(jsonPath("$.createdBy", equalTo(appType.getCreatedBy()))) + .andExpect(jsonPath("$.createdAt", equalTo(appType.getCreatedAt()))) + .andExpect(jsonPath("$.lastModifiedBy", equalTo(appType.getLastModifiedBy()))) + .andExpect(jsonPath("$.lastModifiedAt", equalTo(appType.getLastModifiedAt()))); } @Test @@ -383,11 +384,11 @@ public class MgmtDistributionSetTypeResourceTest extends AbstractRestIntegration mvc.perform(get("/rest/v1/distributionsettypes/{dstId}", testType.getId()).accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$name", equalTo("TestName123"))) - .andExpect(jsonPath("$description", equalTo("Desc1234"))) - .andExpect(jsonPath("$createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$createdAt", equalTo(testType.getCreatedAt()))) - .andExpect(jsonPath("$lastModifiedBy", equalTo("uploadTester"))); + .andExpect(jsonPath("$.name", equalTo("TestName123"))) + .andExpect(jsonPath("$.description", equalTo("Desc1234"))) + .andExpect(jsonPath("$.createdBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.createdAt", equalTo(testType.getCreatedAt()))) + .andExpect(jsonPath("$.lastModifiedBy", equalTo("uploadTester"))); } @Test @@ -435,9 +436,9 @@ public class MgmtDistributionSetTypeResourceTest extends AbstractRestIntegration mvc.perform(put("/rest/v1/distributionsettypes/{smId}", testType.getId()).content(body) .contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) - .andExpect(jsonPath("$id", equalTo(testType.getId().intValue()))) - .andExpect(jsonPath("$description", equalTo("foobardesc"))) - .andExpect(jsonPath("$name", equalTo("TestName123"))).andReturn(); + .andExpect(jsonPath("$.id", equalTo(testType.getId().intValue()))) + .andExpect(jsonPath("$.description", equalTo("foobardesc"))) + .andExpect(jsonPath("$.name", equalTo("TestName123"))).andReturn(); } @Test @@ -533,8 +534,8 @@ public class MgmtDistributionSetTypeResourceTest extends AbstractRestIntegration // Modules types at creation time invalid - final DistributionSetType testNewType = entityFactory.generateDistributionSetType("test123", - "TestName123", "Desc123"); + final DistributionSetType testNewType = entityFactory.generateDistributionSetType("test123", "TestName123", + "Desc123"); testNewType.addMandatoryModuleType( entityFactory.generateSoftwareModuleType("foo", "bar", "test", Integer.MAX_VALUE)); diff --git a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtRolloutResourceTest.java b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtRolloutResourceTest.java index 11536e6e1..e495c0d9d 100644 --- a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtRolloutResourceTest.java +++ b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtRolloutResourceTest.java @@ -29,9 +29,9 @@ import org.eclipse.hawkbit.repository.model.Rollout; import org.eclipse.hawkbit.repository.model.Rollout.RolloutStatus; import org.eclipse.hawkbit.repository.model.RolloutGroup; import org.eclipse.hawkbit.repository.model.RolloutGroup.RolloutGroupSuccessCondition; -import org.eclipse.hawkbit.repository.test.util.WithUser; import org.eclipse.hawkbit.repository.model.RolloutGroupConditionBuilder; import org.eclipse.hawkbit.repository.model.Target; +import org.eclipse.hawkbit.repository.test.util.WithUser; import org.eclipse.hawkbit.rest.AbstractRestIntegrationTest; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; @@ -126,7 +126,7 @@ public class MgmtRolloutResourceTest extends AbstractRestIntegrationTest { public void noRolloutReturnsEmptyList() throws Exception { mvc.perform(get("/rest/v1/rollouts")).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(0))).andExpect(jsonPath("$total", equalTo(0))); + .andExpect(jsonPath("$.content", hasSize(0))).andExpect(jsonPath("$.total", equalTo(0))); } @Test @@ -139,7 +139,7 @@ public class MgmtRolloutResourceTest extends AbstractRestIntegrationTest { mvc.perform(get("/rest/v1/rollouts")).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(2))).andExpect(jsonPath("$total", equalTo(2))) + .andExpect(jsonPath("$.content", hasSize(2))).andExpect(jsonPath("$.total", equalTo(2))) .andExpect(jsonPath("content[0].name", equalTo("rollout1"))) .andExpect(jsonPath("content[0].status", equalTo("ready"))) .andExpect(jsonPath("content[0].targetFilterQuery", equalTo("name==target1"))) @@ -160,7 +160,7 @@ public class MgmtRolloutResourceTest extends AbstractRestIntegrationTest { mvc.perform(get("/rest/v1/rollouts?limit=1")).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(1))).andExpect(jsonPath("$total", equalTo(2))); + .andExpect(jsonPath("$.content", hasSize(1))).andExpect(jsonPath("$.total", equalTo(2))); } @Test @@ -178,11 +178,11 @@ public class MgmtRolloutResourceTest extends AbstractRestIntegrationTest { mvc.perform(get("/rest/v1/rollouts/{rolloutId}/deploygroups", rollout.getId())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(4))).andExpect(jsonPath("$total", equalTo(4))) - .andExpect(jsonPath("$content[0].status", equalTo("ready"))) - .andExpect(jsonPath("$content[1].status", equalTo("ready"))) - .andExpect(jsonPath("$content[2].status", equalTo("ready"))) - .andExpect(jsonPath("$content[3].status", equalTo("ready"))); + .andExpect(jsonPath("$.content", hasSize(4))).andExpect(jsonPath("$.total", equalTo(4))) + .andExpect(jsonPath("$.content[0].status", equalTo("ready"))) + .andExpect(jsonPath("$.content[1].status", equalTo("ready"))) + .andExpect(jsonPath("$.content[2].status", equalTo("ready"))) + .andExpect(jsonPath("$.content[3].status", equalTo("ready"))); } @Test @@ -321,9 +321,9 @@ public class MgmtRolloutResourceTest extends AbstractRestIntegrationTest { mvc.perform(get("/rest/v1/rollouts/{rolloutId}/deploygroups?sort=ID:ASC", rollout.getId())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(2))).andExpect(jsonPath("$total", equalTo(2))) - .andExpect(jsonPath("$content[0].status", equalTo("running"))) - .andExpect(jsonPath("$content[1].status", equalTo("scheduled"))); + .andExpect(jsonPath("$.content", hasSize(2))).andExpect(jsonPath("$.total", equalTo(2))) + .andExpect(jsonPath("$.content[0].status", equalTo("running"))) + .andExpect(jsonPath("$.content[1].status", equalTo("scheduled"))); } @Test @@ -368,7 +368,7 @@ public class MgmtRolloutResourceTest extends AbstractRestIntegrationTest { mvc.perform(get("/rest/v1/rollouts/{rolloutId}/deploygroups/{groupId}/targets", rollout.getId(), firstGroup.getId())).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(5))).andExpect(jsonPath("$total", equalTo(5))); + .andExpect(jsonPath("$.content", hasSize(5))).andExpect(jsonPath("$.total", equalTo(5))); } @Test @@ -393,7 +393,7 @@ public class MgmtRolloutResourceTest extends AbstractRestIntegrationTest { .param("q", "controllerId==" + targets.get(0).getControllerId())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(1))).andExpect(jsonPath("$total", equalTo(1))); + .andExpect(jsonPath("$.content", hasSize(1))).andExpect(jsonPath("$.total", equalTo(1))); } @Test @@ -417,7 +417,7 @@ public class MgmtRolloutResourceTest extends AbstractRestIntegrationTest { mvc.perform(get("/rest/v1/rollouts/{rolloutId}/deploygroups/{groupId}/targets", rollout.getId(), firstGroup.getId())).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(5))).andExpect(jsonPath("$total", equalTo(5))); + .andExpect(jsonPath("$.content", hasSize(5))).andExpect(jsonPath("$.total", equalTo(5))); } @Test @@ -449,12 +449,9 @@ public class MgmtRolloutResourceTest extends AbstractRestIntegrationTest { final int amountTargetsRollout2 = 25; final int amountTargetsRollout3 = 25; final int amountTargetsOther = 25; - targetManagement - .createTargets(testdataFactory.generateTargets(amountTargetsRollout1, "rollout1", "rollout1")); - targetManagement - .createTargets(testdataFactory.generateTargets(amountTargetsRollout2, "rollout2", "rollout2")); - targetManagement - .createTargets(testdataFactory.generateTargets(amountTargetsRollout3, "rollout3", "rollout3")); + targetManagement.createTargets(testdataFactory.generateTargets(amountTargetsRollout1, "rollout1", "rollout1")); + targetManagement.createTargets(testdataFactory.generateTargets(amountTargetsRollout2, "rollout2", "rollout2")); + targetManagement.createTargets(testdataFactory.generateTargets(amountTargetsRollout3, "rollout3", "rollout3")); targetManagement.createTargets(testdataFactory.generateTargets(amountTargetsOther, "other1", "other1")); final DistributionSet dsA = testdataFactory.createDistributionSet(""); @@ -466,18 +463,18 @@ public class MgmtRolloutResourceTest extends AbstractRestIntegrationTest { mvc.perform(get("/rest/v1/rollouts").param(MgmtRestConstants.REQUEST_PARAMETER_SEARCH, "name==*2")) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(1))).andExpect(jsonPath("$total", equalTo(1))) - .andExpect(jsonPath("$content[0].name", equalTo(rollout2.getName()))); + .andExpect(jsonPath("$.content", hasSize(1))).andExpect(jsonPath("$.total", equalTo(1))) + .andExpect(jsonPath("$.content[0].name", equalTo(rollout2.getName()))); mvc.perform(get("/rest/v1/rollouts").param(MgmtRestConstants.REQUEST_PARAMETER_SEARCH, "name==rollout*")) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(3))).andExpect(jsonPath("$total", equalTo(3))); + .andExpect(jsonPath("$.content", hasSize(3))).andExpect(jsonPath("$.total", equalTo(3))); mvc.perform(get("/rest/v1/rollouts").param(MgmtRestConstants.REQUEST_PARAMETER_SEARCH, "name==*1")) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(2))).andExpect(jsonPath("$total", equalTo(2))); + .andExpect(jsonPath("$.content", hasSize(2))).andExpect(jsonPath("$.total", equalTo(2))); } @@ -496,19 +493,19 @@ public class MgmtRolloutResourceTest extends AbstractRestIntegrationTest { mvc.perform(get("/rest/v1/rollouts/{rolloutId}/deploygroups", rollout.getId()) .param(MgmtRestConstants.REQUEST_PARAMETER_SEARCH, "name==group-1")).andDo(MockMvcResultPrinter.print()) .andExpect(status().isOk()).andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(1))).andExpect(jsonPath("$total", equalTo(1))) - .andExpect(jsonPath("$content[0].name", equalTo("group-1"))); + .andExpect(jsonPath("$.content", hasSize(1))).andExpect(jsonPath("$.total", equalTo(1))) + .andExpect(jsonPath("$.content[0].name", equalTo("group-1"))); mvc.perform(get("/rest/v1/rollouts/{rolloutId}/deploygroups", rollout.getId()) .param(MgmtRestConstants.REQUEST_PARAMETER_SEARCH, "name==group*")).andDo(MockMvcResultPrinter.print()) .andExpect(status().isOk()).andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(4))).andExpect(jsonPath("$total", equalTo(4))); + .andExpect(jsonPath("$.content", hasSize(4))).andExpect(jsonPath("$.total", equalTo(4))); mvc.perform(get("/rest/v1/rollouts/{rolloutId}/deploygroups", rollout.getId()) .param(MgmtRestConstants.REQUEST_PARAMETER_SEARCH, "name==group-1,name==group-2")) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content", hasSize(2))).andExpect(jsonPath("$total", equalTo(2))); + .andExpect(jsonPath("$.content", hasSize(2))).andExpect(jsonPath("$.total", equalTo(2))); } diff --git a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java index 79a3fc2b2..1703e5c0e 100644 --- a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java +++ b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java @@ -11,6 +11,7 @@ package org.eclipse.hawkbit.mgmt.rest.resource; import static org.fest.assertions.api.Assertions.assertThat; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.not; +import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.hasSize; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -89,8 +90,8 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW final String updateVendor = "newVendor1"; final String updateDescription = "newDescription1"; - softwareManagement.createSoftwareModule( - entityFactory.generateSoftwareModule(appType, "agent-hub", "1.0.1", null, "")); + softwareManagement + .createSoftwareModule(entityFactory.generateSoftwareModule(appType, "agent-hub", "1.0.1", null, "")); softwareManagement.createSoftwareModule( entityFactory.generateSoftwareModule(runtimeType, "oracle-jre", "1.7.2", null, "")); softwareManagement @@ -111,12 +112,12 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW mvc.perform(put("/rest/v1/softwaremodules/{smId}", sm.getId()).content(body) .contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) - .andExpect(jsonPath("$id", equalTo(sm.getId().intValue()))) - .andExpect(jsonPath("$vendor", equalTo(updateVendor))) - .andExpect(jsonPath("$lastModifiedBy", equalTo("smUpdateTester"))) - .andExpect(jsonPath("$lastModifiedAt", not(equalTo(sm.getLastModifiedAt())))) - .andExpect(jsonPath("$description", equalTo(updateDescription))) - .andExpect(jsonPath("$name", equalTo(knownSWName))).andReturn(); + .andExpect(jsonPath("$.id", equalTo(sm.getId().intValue()))) + .andExpect(jsonPath("$.vendor", equalTo(updateVendor))) + .andExpect(jsonPath("$.lastModifiedBy", equalTo("smUpdateTester"))) + .andExpect(jsonPath("$.lastModifiedAt", not(equalTo(sm.getLastModifiedAt())))) + .andExpect(jsonPath("$.description", equalTo(updateDescription))) + .andExpect(jsonPath("$.name", equalTo(knownSWName))).andReturn(); } @@ -138,10 +139,10 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW .accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isCreated()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$type", equalTo("local"))).andExpect(jsonPath("$hashes.md5", equalTo(md5sum))) - .andExpect(jsonPath("$hashes.sha1", equalTo(sha1sum))) - .andExpect(jsonPath("$size", equalTo(random.length))) - .andExpect(jsonPath("$providedFilename", equalTo("origFilename"))).andReturn(); + .andExpect(jsonPath("$.type", equalTo("local"))).andExpect(jsonPath("$.hashes.md5", equalTo(md5sum))) + .andExpect(jsonPath("$.hashes.sha1", equalTo(sha1sum))) + .andExpect(jsonPath("$.size", equalTo(random.length))) + .andExpect(jsonPath("$.providedFilename", equalTo("origFilename"))).andReturn(); // check rest of response compared to DB final MgmtArtifact artResult = ResourceUtility @@ -149,13 +150,12 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW final Long artId = ((LocalArtifact) softwareManagement.findSoftwareModuleWithDetails(sm.getId()).getArtifacts() .get(0)).getId(); assertThat(artResult.getArtifactId()).as("Wrong artifact id").isEqualTo(artId); - assertThat(JsonPath.compile("$_links.self.href").read(mvcResult.getResponse().getContentAsString()).toString()) + assertThat(JsonPath.compile("$._links.self.href").read(mvcResult.getResponse().getContentAsString()).toString()) .as("Link contains no self url") .isEqualTo("http://localhost/rest/v1/softwaremodules/" + sm.getId() + "/artifacts/" + artId); - assertThat( - JsonPath.compile("$_links.download.href").read(mvcResult.getResponse().getContentAsString()).toString()) - .as("response contains no download url ").isEqualTo("http://localhost/rest/v1/softwaremodules/" - + sm.getId() + "/artifacts/" + artId + "/download"); + assertThat(JsonPath.compile("$._links.download.href").read(mvcResult.getResponse().getContentAsString()) + .toString()).as("response contains no download url ").isEqualTo( + "http://localhost/rest/v1/softwaremodules/" + sm.getId() + "/artifacts/" + artId + "/download"); assertArtifact(sm, random); } @@ -215,9 +215,9 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW mvc.perform(fileUpload("/rest/v1/softwaremodules/{smId}/artifacts", sm.getId()).file(file) .accept(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()).andExpect(status().isCreated()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$type", equalTo("local"))).andExpect(jsonPath("$hashes.md5", equalTo(md5sum))) - .andExpect(jsonPath("$hashes.sha1", equalTo(sha1sum))) - .andExpect(jsonPath("$providedFilename", equalTo("orig"))).andExpect(status().isCreated()); + .andExpect(jsonPath("$.type", equalTo("local"))).andExpect(jsonPath("$.hashes.md5", equalTo(md5sum))) + .andExpect(jsonPath("$.hashes.sha1", equalTo(sha1sum))) + .andExpect(jsonPath("$.providedFilename", equalTo("orig"))).andExpect(status().isCreated()); mvc.perform(fileUpload("/rest/v1/softwaremodules/{smId}/artifacts", sm.getId()).file(file)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isConflict()); @@ -239,7 +239,7 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW .param("filename", "customFilename").accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isCreated()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$providedFilename", equalTo("customFilename"))).andExpect(status().isCreated()); + .andExpect(jsonPath("$.providedFilename", equalTo("customFilename"))).andExpect(status().isCreated()); // check result in db... // repo @@ -343,15 +343,15 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW mvc.perform(get("/rest/v1/softwaremodules/{smId}/artifacts/{artId}", sm.getId(), artifact.getId()) .accept(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$id", equalTo(artifact.getId().intValue()))) - .andExpect(jsonPath("$type", equalTo("local"))).andExpect(jsonPath("$size", equalTo(random.length))) - .andExpect(jsonPath("$hashes.md5", equalTo(artifact.getMd5Hash()))) - .andExpect(jsonPath("$hashes.sha1", equalTo(artifact.getSha1Hash()))) - .andExpect(jsonPath("$providedFilename", equalTo("file1"))) - .andExpect(jsonPath("$_links.download.href", + .andExpect(jsonPath("$.id", equalTo(artifact.getId().intValue()))) + .andExpect(jsonPath("$.type", equalTo("local"))).andExpect(jsonPath("$.size", equalTo(random.length))) + .andExpect(jsonPath("$.hashes.md5", equalTo(artifact.getMd5Hash()))) + .andExpect(jsonPath("$.hashes.sha1", equalTo(artifact.getSha1Hash()))) + .andExpect(jsonPath("$.providedFilename", equalTo("file1"))) + .andExpect(jsonPath("$._links.download.href", equalTo("http://localhost/rest/v1/softwaremodules/" + sm.getId() + "/artifacts/" + artifact.getId() + "/download"))) - .andExpect(jsonPath("$_links.self.href", equalTo( + .andExpect(jsonPath("$._links.self.href", equalTo( "http://localhost/rest/v1/softwaremodules/" + sm.getId() + "/artifacts/" + artifact.getId()))); } @@ -371,27 +371,27 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW mvc.perform(get("/rest/v1/softwaremodules/{smId}/artifacts", sm.getId()).accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$[0].id", equalTo(artifact.getId().intValue()))) - .andExpect(jsonPath("$[0].type", equalTo("local"))) - .andExpect(jsonPath("$[0].size", equalTo(random.length))) - .andExpect(jsonPath("$[0].hashes.md5", equalTo(artifact.getMd5Hash()))) - .andExpect(jsonPath("$[0].hashes.sha1", equalTo(artifact.getSha1Hash()))) - .andExpect(jsonPath("$[0].providedFilename", equalTo("file1"))) - .andExpect(jsonPath("$[0]._links.download.href", + .andExpect(jsonPath("$.[0].id", equalTo(artifact.getId().intValue()))) + .andExpect(jsonPath("$.[0].type", equalTo("local"))) + .andExpect(jsonPath("$.[0].size", equalTo(random.length))) + .andExpect(jsonPath("$.[0].hashes.md5", equalTo(artifact.getMd5Hash()))) + .andExpect(jsonPath("$.[0].hashes.sha1", equalTo(artifact.getSha1Hash()))) + .andExpect(jsonPath("$.[0].providedFilename", equalTo("file1"))) + .andExpect(jsonPath("$.[0]._links.download.href", equalTo("http://localhost/rest/v1/softwaremodules/" + sm.getId() + "/artifacts/" + artifact.getId() + "/download"))) - .andExpect(jsonPath("$[0]._links.self.href", + .andExpect(jsonPath("$.[0]._links.self.href", equalTo("http://localhost/rest/v1/softwaremodules/" + sm.getId() + "/artifacts/" + artifact.getId()))) - .andExpect(jsonPath("$[1].id", equalTo(artifact2.getId().intValue()))) - .andExpect(jsonPath("$[1].type", equalTo("local"))) - .andExpect(jsonPath("$[1].hashes.md5", equalTo(artifact2.getMd5Hash()))) - .andExpect(jsonPath("$[1].hashes.sha1", equalTo(artifact2.getSha1Hash()))) - .andExpect(jsonPath("$[1].providedFilename", equalTo("file2"))) - .andExpect(jsonPath("$[1]._links.download.href", + .andExpect(jsonPath("$.[1].id", equalTo(artifact2.getId().intValue()))) + .andExpect(jsonPath("$.[1].type", equalTo("local"))) + .andExpect(jsonPath("$.[1].hashes.md5", equalTo(artifact2.getMd5Hash()))) + .andExpect(jsonPath("$.[1].hashes.sha1", equalTo(artifact2.getSha1Hash()))) + .andExpect(jsonPath("$.[1].providedFilename", equalTo("file2"))) + .andExpect(jsonPath("$.[1]._links.download.href", equalTo("http://localhost/rest/v1/softwaremodules/" + sm.getId() + "/artifacts/" + artifact2.getId() + "/download"))) - .andExpect(jsonPath("$[1]._links.self.href", equalTo( + .andExpect(jsonPath("$.[1]._links.self.href", equalTo( "http://localhost/rest/v1/softwaremodules/" + sm.getId() + "/artifacts/" + artifact2.getId()))); } @@ -531,55 +531,54 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW mvc.perform(get("/rest/v1/softwaremodules").accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content.[?(@.id==" + os.getId() + ")][0].name", equalTo("name1"))) - .andExpect(jsonPath("$content.[?(@.id==" + os.getId() + ")][0].version", equalTo("version1"))) - .andExpect(jsonPath("$content.[?(@.id==" + os.getId() + ")][0].description", equalTo("description1"))) - .andExpect(jsonPath("$content.[?(@.id==" + os.getId() + ")][0].vendor", equalTo("vendor1"))) - .andExpect(jsonPath("$content.[?(@.id==" + os.getId() + ")][0].type", equalTo("os"))) - .andExpect(jsonPath("$content.[?(@.id==" + os.getId() + ")][0].createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[?(@.id==" + os.getId() + ")][0].createdAt", equalTo(os.getCreatedAt()))) - .andExpect(jsonPath("$content.[?(@.id==" + os.getId() + ")][0]._links.type.href", - equalTo("http://localhost/rest/v1/softwaremoduletypes/" + osType.getId()))) - .andExpect(jsonPath("$content.[?(@.id==" + os.getId() + ")][0]._links.self.href", - equalTo("http://localhost/rest/v1/softwaremodules/" + os.getId()))) - .andExpect(jsonPath("$content.[?(@.id==" + os.getId() + ")][0]._links.artifacts.href", - equalTo("http://localhost/rest/v1/softwaremodules/" + os.getId() + "/artifacts"))) - .andExpect(jsonPath("$content.[?(@.id==" + os.getId() + ")][0]._links.metadata.href", - equalTo("http://localhost/rest/v1/softwaremodules/" + os.getId() + .andExpect(jsonPath("$.content.[?(@.id==" + os.getId() + ")].name", contains("name1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + os.getId() + ")].version", contains("version1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + os.getId() + ")].description", contains("description1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + os.getId() + ")].vendor", contains("vendor1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + os.getId() + ")].type", contains("os"))) + .andExpect(jsonPath("$.content.[?(@.id==" + os.getId() + ")].createdBy", contains("uploadTester"))) + .andExpect(jsonPath("$.content.[?(@.id==" + os.getId() + ")].createdAt", contains(os.getCreatedAt()))) + .andExpect(jsonPath("$.content.[?(@.id==" + os.getId() + ")]._links.type.href", + contains("http://localhost/rest/v1/softwaremoduletypes/" + osType.getId()))) + .andExpect(jsonPath("$.content.[?(@.id==" + os.getId() + ")]._links.self.href", + contains("http://localhost/rest/v1/softwaremodules/" + os.getId()))) + .andExpect(jsonPath("$.content.[?(@.id==" + os.getId() + ")]._links.artifacts.href", + contains("http://localhost/rest/v1/softwaremodules/" + os.getId() + "/artifacts"))) + .andExpect(jsonPath("$.content.[?(@.id==" + os.getId() + ")]._links.metadata.href", + contains("http://localhost/rest/v1/softwaremodules/" + os.getId() + "/metadata?offset=0&limit=50"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm.getId() + ")][0].name", equalTo("name1"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm.getId() + ")][0].version", equalTo("version1"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm.getId() + ")][0].description", equalTo("description1"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm.getId() + ")][0].vendor", equalTo("vendor1"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm.getId() + ")][0].type", equalTo("runtime"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm.getId() + ")][0].createdBy", equalTo("uploadTester"))) - .andExpect( - jsonPath("$content.[?(@.id==" + jvm.getId() + ")][0].createdAt", equalTo(jvm.getCreatedAt()))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm.getId() + ")][0]._links.type.href", - equalTo("http://localhost/rest/v1/softwaremoduletypes/" + runtimeType.getId()))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm.getId() + ")][0]._links.self.href", - equalTo("http://localhost/rest/v1/softwaremodules/" + jvm.getId()))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm.getId() + ")][0]._links.artifacts.href", - equalTo("http://localhost/rest/v1/softwaremodules/" + jvm.getId() + "/artifacts"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm.getId() + ")][0]._links.metadata.href", - equalTo("http://localhost/rest/v1/softwaremodules/" + jvm.getId() + .andExpect(jsonPath("$.content.[?(@.id==" + jvm.getId() + ")].name", contains("name1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm.getId() + ")].version", contains("version1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm.getId() + ")].description", contains("description1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm.getId() + ")].vendor", contains("vendor1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm.getId() + ")].type", contains("runtime"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm.getId() + ")].createdBy", contains("uploadTester"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm.getId() + ")].createdAt", contains(jvm.getCreatedAt()))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm.getId() + ")]._links.type.href", + contains("http://localhost/rest/v1/softwaremoduletypes/" + runtimeType.getId()))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm.getId() + ")]._links.self.href", + contains("http://localhost/rest/v1/softwaremodules/" + jvm.getId()))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm.getId() + ")]._links.artifacts.href", + contains("http://localhost/rest/v1/softwaremodules/" + jvm.getId() + "/artifacts"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm.getId() + ")]._links.metadata.href", + contains("http://localhost/rest/v1/softwaremodules/" + jvm.getId() + "/metadata?offset=0&limit=50"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah.getId() + ")][0].name", equalTo("name1"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah.getId() + ")][0].version", equalTo("version1"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah.getId() + ")][0].description", equalTo("description1"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah.getId() + ")][0].vendor", equalTo("vendor1"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah.getId() + ")][0].type", equalTo("application"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah.getId() + ")][0].createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah.getId() + ")][0].createdAt", equalTo(ah.getCreatedAt()))) - .andExpect(jsonPath("$content.[?(@.id==" + ah.getId() + ")][0]._links.artifacts.href", - equalTo("http://localhost/rest/v1/softwaremodules/" + ah.getId() + "/artifacts"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah.getId() + ")][0]._links.metadata.href", - equalTo("http://localhost/rest/v1/softwaremodules/" + ah.getId() + .andExpect(jsonPath("$.content.[?(@.id==" + ah.getId() + ")].name", contains("name1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah.getId() + ")].version", contains("version1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah.getId() + ")].description", contains("description1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah.getId() + ")].vendor", contains("vendor1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah.getId() + ")].type", contains("application"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah.getId() + ")].createdBy", contains("uploadTester"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah.getId() + ")].createdAt", contains(ah.getCreatedAt()))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah.getId() + ")]._links.artifacts.href", + contains("http://localhost/rest/v1/softwaremodules/" + ah.getId() + "/artifacts"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah.getId() + ")]._links.metadata.href", + contains("http://localhost/rest/v1/softwaremodules/" + ah.getId() + "/metadata?offset=0&limit=50"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah.getId() + ")][0]._links.type.href", - equalTo("http://localhost/rest/v1/softwaremoduletypes/" + appType.getId()))) - .andExpect(jsonPath("$content.[?(@.id==" + ah.getId() + ")][0]._links.self.href", - equalTo("http://localhost/rest/v1/softwaremodules/" + ah.getId()))); + .andExpect(jsonPath("$.content.[?(@.id==" + ah.getId() + ")]._links.type.href", + contains("http://localhost/rest/v1/softwaremoduletypes/" + appType.getId()))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah.getId() + ")]._links.self.href", + contains("http://localhost/rest/v1/softwaremodules/" + ah.getId()))); assertThat(softwareManagement.findSoftwareModulesAll(pageReq)).as("Softwaremodule size is wrong").hasSize(3); } @@ -591,8 +590,8 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW "vendor1"); os1 = softwareManagement.createSoftwareModule(os1); - SoftwareModule jvm1 = entityFactory.generateSoftwareModule(runtimeType, "runtimeName1", "2.0.0", - "description1", "vendor1"); + SoftwareModule jvm1 = entityFactory.generateSoftwareModule(runtimeType, "runtimeName1", "2.0.0", "description1", + "vendor1"); jvm1 = softwareManagement.createSoftwareModule(jvm1); SoftwareModule ah1 = entityFactory.generateSoftwareModule(appType, "appName1", "3.0.0", "description1", @@ -603,8 +602,8 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW "vendor2"); os2 = softwareManagement.createSoftwareModule(os2); - SoftwareModule jvm2 = entityFactory.generateSoftwareModule(runtimeType, "runtimeName2", "2.0.1", - "description2", "vendor2"); + SoftwareModule jvm2 = entityFactory.generateSoftwareModule(runtimeType, "runtimeName2", "2.0.1", "description2", + "vendor2"); jvm2 = softwareManagement.createSoftwareModule(jvm2); SoftwareModule ah2 = entityFactory.generateSoftwareModule(appType, "appName2", "3.0.1", "description2", @@ -617,52 +616,52 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW mvc.perform(get("/rest/v1/softwaremodules?q=name==osName1").accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content.[?(@.id==" + os1.getId() + ")][0].name", equalTo("osName1"))) - .andExpect(jsonPath("$content.[?(@.id==" + os1.getId() + ")][0].version", equalTo("1.0.0"))) - .andExpect(jsonPath("$content.[?(@.id==" + os1.getId() + ")][0].description", equalTo("description1"))) - .andExpect(jsonPath("$content.[?(@.id==" + os1.getId() + ")][0].vendor", equalTo("vendor1"))) - .andExpect(jsonPath("$content.[?(@.id==" + os1.getId() + ")][0].type", equalTo("os"))) - .andExpect(jsonPath("$content", hasSize(1))).andExpect(jsonPath("$total", equalTo(1))); + .andExpect(jsonPath("$.content.[?(@.id==" + os1.getId() + ")].name", contains("osName1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + os1.getId() + ")].version", contains("1.0.0"))) + .andExpect(jsonPath("$.content.[?(@.id==" + os1.getId() + ")].description", contains("description1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + os1.getId() + ")].vendor", contains("vendor1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + os1.getId() + ")].type", contains("os"))) + .andExpect(jsonPath("$.content", hasSize(1))).andExpect(jsonPath("$.total", equalTo(1))); // by type, 2 software modules per type exists mvc.perform(get("/rest/v1/softwaremodules?q=type==application").accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content.[?(@.id==" + ah1.getId() + ")][0].name", equalTo("appName1"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah1.getId() + ")][0].version", equalTo("3.0.0"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah1.getId() + ")][0].description", equalTo("description1"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah1.getId() + ")][0].vendor", equalTo("vendor1"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah1.getId() + ")][0].type", equalTo("application"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah2.getId() + ")][0].name", equalTo("appName2"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah2.getId() + ")][0].version", equalTo("3.0.1"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah2.getId() + ")][0].description", equalTo("description2"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah2.getId() + ")][0].vendor", equalTo("vendor2"))) - .andExpect(jsonPath("$content.[?(@.id==" + ah2.getId() + ")][0].type", equalTo("application"))) - .andExpect(jsonPath("$content", hasSize(2))).andExpect(jsonPath("$total", equalTo(2))); + .andExpect(jsonPath("$.content.[?(@.id==" + ah1.getId() + ")].name", contains("appName1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah1.getId() + ")].version", contains("3.0.0"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah1.getId() + ")].description", contains("description1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah1.getId() + ")].vendor", contains("vendor1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah1.getId() + ")].type", contains("application"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah2.getId() + ")].name", contains("appName2"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah2.getId() + ")].version", contains("3.0.1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah2.getId() + ")].description", contains("description2"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah2.getId() + ")].vendor", contains("vendor2"))) + .andExpect(jsonPath("$.content.[?(@.id==" + ah2.getId() + ")].type", contains("application"))) + .andExpect(jsonPath("$.content", hasSize(2))).andExpect(jsonPath("$.total", equalTo(2))); // by type and version=2.0.0 -> only one result mvc.perform(get("/rest/v1/softwaremodules?q=type==runtime;version==2.0.0").accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content.[?(@.id==" + jvm1.getId() + ")][0].name", equalTo("runtimeName1"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm1.getId() + ")][0].version", equalTo("2.0.0"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm1.getId() + ")][0].description", equalTo("description1"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm1.getId() + ")][0].vendor", equalTo("vendor1"))) - .andExpect(jsonPath("$content", hasSize(1))).andExpect(jsonPath("$total", equalTo(1))); + .andExpect(jsonPath("$.content.[?(@.id==" + jvm1.getId() + ")].name", contains("runtimeName1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm1.getId() + ")].version", contains("2.0.0"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm1.getId() + ")].description", contains("description1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm1.getId() + ")].vendor", contains("vendor1"))) + .andExpect(jsonPath("$.content", hasSize(1))).andExpect(jsonPath("$.total", equalTo(1))); // by type and version range >=2.0.0 -> 2 result mvc.perform(get("/rest/v1/softwaremodules?q=type==runtime;version=ge=2.0.0").accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content.[?(@.id==" + jvm1.getId() + ")][0].name", equalTo("runtimeName1"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm1.getId() + ")][0].version", equalTo("2.0.0"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm1.getId() + ")][0].description", equalTo("description1"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm1.getId() + ")][0].vendor", equalTo("vendor1"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm2.getId() + ")][0].name", equalTo("runtimeName2"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm2.getId() + ")][0].version", equalTo("2.0.1"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm2.getId() + ")][0].description", equalTo("description2"))) - .andExpect(jsonPath("$content.[?(@.id==" + jvm2.getId() + ")][0].vendor", equalTo("vendor2"))) - .andExpect(jsonPath("$content", hasSize(2))).andExpect(jsonPath("$total", equalTo(2))); + .andExpect(jsonPath("$.content.[?(@.id==" + jvm1.getId() + ")].name", contains("runtimeName1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm1.getId() + ")].version", contains("2.0.0"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm1.getId() + ")].description", contains("description1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm1.getId() + ")].vendor", contains("vendor1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm2.getId() + ")].name", contains("runtimeName2"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm2.getId() + ")].version", contains("2.0.1"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm2.getId() + ")].description", contains("description2"))) + .andExpect(jsonPath("$.content.[?(@.id==" + jvm2.getId() + ")].vendor", contains("vendor2"))) + .andExpect(jsonPath("$.content", hasSize(2))).andExpect(jsonPath("$.total", equalTo(2))); } @Test @@ -670,7 +669,7 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW public void getSoftwareModulesWithSyntaxErrorFilterParameter() throws Exception { mvc.perform(get("/rest/v1/softwaremodules?q=wrongFIQLSyntax").accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isBadRequest()) - .andExpect(jsonPath("$errorCode", equalTo("hawkbit.server.error.rest.param.rsqlParamSyntax"))); + .andExpect(jsonPath("$.errorCode", equalTo("hawkbit.server.error.rest.param.rsqlParamSyntax"))); } @Test @@ -678,7 +677,7 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW public void getSoftwareModulesWithUnknownFieldErrorFilterParameter() throws Exception { mvc.perform(get("/rest/v1/softwaremodules?q=wrongField==abc").accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isBadRequest()) - .andExpect(jsonPath("$errorCode", equalTo("hawkbit.server.error.rest.param.rsqlInvalidField"))); + .andExpect(jsonPath("$.errorCode", equalTo("hawkbit.server.error.rest.param.rsqlInvalidField"))); } @Test @@ -692,17 +691,17 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW mvc.perform(get("/rest/v1/softwaremodules/{smId}", os.getId()).accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$name", equalTo("name1"))).andExpect(jsonPath("$version", equalTo("version1"))) - .andExpect(jsonPath("$description", equalTo("description1"))) - .andExpect(jsonPath("$vendor", equalTo("vendor1"))).andExpect(jsonPath("$type", equalTo("os"))) - .andExpect(jsonPath("$createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$createdAt", equalTo(os.getCreatedAt()))) - .andExpect(jsonPath("$_links.metadata.href", + .andExpect(jsonPath("$.name", equalTo("name1"))).andExpect(jsonPath("$.version", equalTo("version1"))) + .andExpect(jsonPath("$.description", equalTo("description1"))) + .andExpect(jsonPath("$.vendor", equalTo("vendor1"))).andExpect(jsonPath("$.type", equalTo("os"))) + .andExpect(jsonPath("$.createdBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.createdAt", equalTo(os.getCreatedAt()))) + .andExpect(jsonPath("$._links.metadata.href", equalTo("http://localhost/rest/v1/softwaremodules/" + os.getId() + "/metadata?offset=0&limit=50"))) - .andExpect(jsonPath("$_links.type.href", + .andExpect(jsonPath("$._links.type.href", equalTo("http://localhost/rest/v1/softwaremoduletypes/" + osType.getId()))) - .andExpect(jsonPath("$_links.artifacts.href", + .andExpect(jsonPath("$._links.artifacts.href", equalTo("http://localhost/rest/v1/softwaremodules/" + os.getId() + "/artifacts"))); SoftwareModule jvm = entityFactory.generateSoftwareModule(runtimeType, "name1", "version1", "description1", @@ -712,17 +711,17 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW mvc.perform(get("/rest/v1/softwaremodules/{smId}", jvm.getId()).accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$name", equalTo("name1"))).andExpect(jsonPath("$version", equalTo("version1"))) - .andExpect(jsonPath("$description", equalTo("description1"))) - .andExpect(jsonPath("$vendor", equalTo("vendor1"))).andExpect(jsonPath("$type", equalTo("runtime"))) - .andExpect(jsonPath("$createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$createdAt", equalTo(jvm.getCreatedAt()))) - .andExpect(jsonPath("$_links.metadata.href", + .andExpect(jsonPath("$.name", equalTo("name1"))).andExpect(jsonPath("$.version", equalTo("version1"))) + .andExpect(jsonPath("$.description", equalTo("description1"))) + .andExpect(jsonPath("$.vendor", equalTo("vendor1"))).andExpect(jsonPath("$.type", equalTo("runtime"))) + .andExpect(jsonPath("$.createdBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.createdAt", equalTo(jvm.getCreatedAt()))) + .andExpect(jsonPath("$._links.metadata.href", equalTo("http://localhost/rest/v1/softwaremodules/" + jvm.getId() + "/metadata?offset=0&limit=50"))) - .andExpect(jsonPath("$_links.type.href", + .andExpect(jsonPath("$._links.type.href", equalTo("http://localhost/rest/v1/softwaremoduletypes/" + runtimeType.getId()))) - .andExpect(jsonPath("$_links.artifacts.href", + .andExpect(jsonPath("$._links.artifacts.href", equalTo("http://localhost/rest/v1/softwaremodules/" + jvm.getId() + "/artifacts"))); SoftwareModule ah = entityFactory.generateSoftwareModule(appType, "name1", "version1", "description1", @@ -732,17 +731,18 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW mvc.perform(get("/rest/v1/softwaremodules/{smId}", ah.getId()).accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$name", equalTo("name1"))).andExpect(jsonPath("$version", equalTo("version1"))) - .andExpect(jsonPath("$description", equalTo("description1"))) - .andExpect(jsonPath("$vendor", equalTo("vendor1"))).andExpect(jsonPath("$type", equalTo("application"))) - .andExpect(jsonPath("$createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$createdAt", equalTo(ah.getCreatedAt()))) - .andExpect(jsonPath("$_links.metadata.href", + .andExpect(jsonPath("$.name", equalTo("name1"))).andExpect(jsonPath("$.version", equalTo("version1"))) + .andExpect(jsonPath("$.description", equalTo("description1"))) + .andExpect(jsonPath("$.vendor", equalTo("vendor1"))) + .andExpect(jsonPath("$.type", equalTo("application"))) + .andExpect(jsonPath("$.createdBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.createdAt", equalTo(ah.getCreatedAt()))) + .andExpect(jsonPath("$._links.metadata.href", equalTo("http://localhost/rest/v1/softwaremodules/" + ah.getId() + "/metadata?offset=0&limit=50"))) - .andExpect(jsonPath("$_links.type.href", + .andExpect(jsonPath("$._links.type.href", equalTo("http://localhost/rest/v1/softwaremoduletypes/" + appType.getId()))) - .andExpect(jsonPath("$_links.artifacts.href", + .andExpect(jsonPath("$._links.artifacts.href", equalTo("http://localhost/rest/v1/softwaremodules/" + ah.getId() + "/artifacts"))); assertThat(softwareManagement.findSoftwareModulesAll(pageReq)).as("Softwaremodule size is wrong").hasSize(3); @@ -756,8 +756,8 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW "vendor1"); final SoftwareModule jvm = entityFactory.generateSoftwareModule(runtimeType, "name2", "version1", "description1", "vendor1"); - final SoftwareModule ah = entityFactory.generateSoftwareModule(appType, "name3", "version1", - "description1", "vendor1"); + final SoftwareModule ah = entityFactory.generateSoftwareModule(appType, "name3", "version1", "description1", + "vendor1"); final List modules = new ArrayList<>(); modules.add(os); @@ -924,8 +924,8 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW final String knownKey2 = "knownKey1"; final String knownValue2 = "knownValue1"; - final SoftwareModule sm = softwareManagement.createSoftwareModule( - entityFactory.generateSoftwareModule(osType, "name 1", "version 1", null, null)); + final SoftwareModule sm = softwareManagement + .createSoftwareModule(entityFactory.generateSoftwareModule(osType, "name 1", "version 1", null, null)); final JSONArray jsonArray = new JSONArray(); jsonArray.put(new JSONObject().put("key", knownKey1).put("value", knownValue1)); @@ -953,10 +953,10 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW final String knownValue = "knownValue"; final String updateValue = "valueForUpdate"; - final SoftwareModule sm = softwareManagement.createSoftwareModule( - entityFactory.generateSoftwareModule(osType, "name 1", "version 1", null, null)); - softwareManagement.createSoftwareModuleMetadata( - entityFactory.generateSoftwareModuleMetadata(sm, knownKey, knownValue)); + final SoftwareModule sm = softwareManagement + .createSoftwareModule(entityFactory.generateSoftwareModule(osType, "name 1", "version 1", null, null)); + softwareManagement + .createSoftwareModuleMetadata(entityFactory.generateSoftwareModuleMetadata(sm, knownKey, knownValue)); final JSONObject jsonObject = new JSONObject().put("key", knownKey).put("value", updateValue); @@ -977,10 +977,10 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW final String knownKey = "knownKey"; final String knownValue = "knownValue"; - final SoftwareModule sm = softwareManagement.createSoftwareModule( - entityFactory.generateSoftwareModule(osType, "name 1", "version 1", null, null)); - softwareManagement.createSoftwareModuleMetadata( - entityFactory.generateSoftwareModuleMetadata(sm, knownKey, knownValue)); + final SoftwareModule sm = softwareManagement + .createSoftwareModule(entityFactory.generateSoftwareModule(osType, "name 1", "version 1", null, null)); + softwareManagement + .createSoftwareModuleMetadata(entityFactory.generateSoftwareModuleMetadata(sm, knownKey, knownValue)); mvc.perform(delete("/rest/v1/softwaremodules/{swId}/metadata/{key}", sm.getId(), knownKey)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()); @@ -999,13 +999,13 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW final int totalMetadata = 10; final String knownKeyPrefix = "knownKey"; final String knownValuePrefix = "knownValue"; - final SoftwareModule sm = softwareManagement.createSoftwareModule( - entityFactory.generateSoftwareModule(osType, "name 1", "version 1", null, null)); + final SoftwareModule sm = softwareManagement + .createSoftwareModule(entityFactory.generateSoftwareModule(osType, "name 1", "version 1", null, null)); for (int index = 0; index < totalMetadata; index++) { - softwareManagement.createSoftwareModuleMetadata(entityFactory.generateSoftwareModuleMetadata( - softwareManagement.findSoftwareModuleById(sm.getId()), knownKeyPrefix + index, - knownValuePrefix + index)); + softwareManagement.createSoftwareModuleMetadata( + entityFactory.generateSoftwareModuleMetadata(softwareManagement.findSoftwareModuleById(sm.getId()), + knownKeyPrefix + index, knownValuePrefix + index)); } final String rsqlSearchValue1 = "value==knownValue1"; diff --git a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java index 36d975138..a598402cb 100644 --- a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java +++ b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java @@ -11,6 +11,7 @@ package org.eclipse.hawkbit.mgmt.rest.resource; import static org.fest.assertions.api.Assertions.assertThat; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.not; +import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.hasSize; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; @@ -62,35 +63,34 @@ public class MgmtSoftwareModuleTypeResourceTest extends AbstractRestIntegrationT mvc.perform(get("/rest/v1/softwaremoduletypes").accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content.[?(@.key==" + osType.getKey() + ")][0].name", equalTo(osType.getName()))) - .andExpect(jsonPath("$content.[?(@.key==" + osType.getKey() + ")][0].description", - equalTo(osType.getDescription()))) - .andExpect(jsonPath("$content.[?(@.key==" + osType.getKey() + ")][0].maxAssignments", equalTo(1))) - .andExpect(jsonPath("$content.[?(@.key==" + osType.getKey() + ")][0].key", equalTo("os"))) - .andExpect(jsonPath("$content.[?(@.key==" + runtimeType.getKey() + ")][0].name", - equalTo(runtimeType.getName()))) - .andExpect(jsonPath("$content.[?(@.key==" + runtimeType.getKey() + ")][0].description", - equalTo(runtimeType.getDescription()))) - .andExpect(jsonPath("$content.[?(@.key==" + runtimeType.getKey() + ")][0].maxAssignments", equalTo(1))) - .andExpect(jsonPath("$content.[?(@.key==" + runtimeType.getKey() + ")][0].key", equalTo("runtime"))) - .andExpect( - jsonPath("$content.[?(@.key==" + appType.getKey() + ")][0].name", equalTo(appType.getName()))) - .andExpect(jsonPath("$content.[?(@.key==" + appType.getKey() + ")][0].description", - equalTo(appType.getDescription()))) - .andExpect(jsonPath("$content.[?(@.key==" + appType.getKey() + ")][0].maxAssignments", - equalTo(Integer.MAX_VALUE))) - .andExpect(jsonPath("$content.[?(@.key==" + appType.getKey() + ")][0].key", equalTo("application"))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].id", equalTo(testType.getId().intValue()))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].name", equalTo("TestName123"))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].description", equalTo("Desc1234"))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].createdAt", equalTo(testType.getCreatedAt()))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].lastModifiedBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].lastModifiedAt", - equalTo(testType.getLastModifiedAt()))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].maxAssignments", equalTo(5))) - .andExpect(jsonPath("$content.[?(@.key==test123)][0].key", equalTo("test123"))) - .andExpect(jsonPath("$total", equalTo(4))); + .andExpect(jsonPath("$.content.[?(@.key==" + osType.getKey() + ")].name", contains(osType.getName()))) + .andExpect(jsonPath("$.content.[?(@.key==" + osType.getKey() + ")].description", + contains(osType.getDescription()))) + .andExpect(jsonPath("$.content.[?(@.key==" + osType.getKey() + ")].maxAssignments", contains(1))) + .andExpect(jsonPath("$.content.[?(@.key==" + osType.getKey() + ")].key", contains("os"))) + .andExpect(jsonPath("$.content.[?(@.key==" + runtimeType.getKey() + ")].name", + contains(runtimeType.getName()))) + .andExpect(jsonPath("$.content.[?(@.key==" + runtimeType.getKey() + ")].description", + contains(runtimeType.getDescription()))) + .andExpect(jsonPath("$.content.[?(@.key==" + runtimeType.getKey() + ")].maxAssignments", contains(1))) + .andExpect(jsonPath("$.content.[?(@.key==" + runtimeType.getKey() + ")].key", contains("runtime"))) + .andExpect(jsonPath("$.content.[?(@.key==" + appType.getKey() + ")].name", contains(appType.getName()))) + .andExpect(jsonPath("$.content.[?(@.key==" + appType.getKey() + ")].description", + contains(appType.getDescription()))) + .andExpect(jsonPath("$.content.[?(@.key==" + appType.getKey() + ")].maxAssignments", + contains(Integer.MAX_VALUE))) + .andExpect(jsonPath("$.content.[?(@.key==" + appType.getKey() + ")].key", contains("application"))) + .andExpect(jsonPath("$.content.[?(@.key==test123)].id", contains(testType.getId().intValue()))) + .andExpect(jsonPath("$.content.[?(@.key==test123)].name", contains("TestName123"))) + .andExpect(jsonPath("$.content.[?(@.key==test123)].description", contains("Desc1234"))) + .andExpect(jsonPath("$.content.[?(@.key==test123)].createdBy", contains("uploadTester"))) + .andExpect(jsonPath("$.content.[?(@.key==test123)].createdAt", contains(testType.getCreatedAt()))) + .andExpect(jsonPath("$.content.[?(@.key==test123)].lastModifiedBy", contains("uploadTester"))) + .andExpect(jsonPath("$.content.[?(@.key==test123)].lastModifiedAt", + contains(testType.getLastModifiedAt()))) + .andExpect(jsonPath("$.content.[?(@.key==test123)].maxAssignments", contains(5))) + .andExpect(jsonPath("$.content.[?(@.key==test123)].key", contains("test123"))) + .andExpect(jsonPath("$.total", equalTo(4))); } @Test @@ -107,30 +107,32 @@ public class MgmtSoftwareModuleTypeResourceTest extends AbstractRestIntegrationT .param(MgmtRestConstants.REQUEST_PARAMETER_SORTING, "MAXASSIGNMENTS:DESC")) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content.[1].id", equalTo(testType.getId().intValue()))) - .andExpect(jsonPath("$content.[1].name", equalTo("TestName123"))) - .andExpect(jsonPath("$content.[1].description", equalTo("Desc1234"))) - .andExpect(jsonPath("$content.[1].createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[1].createdAt", equalTo(testType.getCreatedAt()))) - .andExpect(jsonPath("$content.[1].lastModifiedBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[1].lastModifiedAt", equalTo(testType.getLastModifiedAt()))) - .andExpect(jsonPath("$content.[1].maxAssignments", equalTo(5))) - .andExpect(jsonPath("$content.[1].key", equalTo("test123"))).andExpect(jsonPath("$total", equalTo(4))); + .andExpect(jsonPath("$.content.[1].id", equalTo(testType.getId().intValue()))) + .andExpect(jsonPath("$.content.[1].name", equalTo("TestName123"))) + .andExpect(jsonPath("$.content.[1].description", equalTo("Desc1234"))) + .andExpect(jsonPath("$.content.[1].createdBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.content.[1].createdAt", equalTo(testType.getCreatedAt()))) + .andExpect(jsonPath("$.content.[1].lastModifiedBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.content.[1].lastModifiedAt", equalTo(testType.getLastModifiedAt()))) + .andExpect(jsonPath("$.content.[1].maxAssignments", equalTo(5))) + .andExpect(jsonPath("$.content.[1].key", equalTo("test123"))) + .andExpect(jsonPath("$.total", equalTo(4))); // ascending mvc.perform(get("/rest/v1/softwaremoduletypes").accept(MediaType.APPLICATION_JSON) .param(MgmtRestConstants.REQUEST_PARAMETER_SORTING, "MAXASSIGNMENTS:ASC")) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$content.[2].id", equalTo(testType.getId().intValue()))) - .andExpect(jsonPath("$content.[2].name", equalTo("TestName123"))) - .andExpect(jsonPath("$content.[2].description", equalTo("Desc1234"))) - .andExpect(jsonPath("$content.[2].createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[2].createdAt", equalTo(testType.getCreatedAt()))) - .andExpect(jsonPath("$content.[2].lastModifiedBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$content.[2].lastModifiedAt", equalTo(testType.getLastModifiedAt()))) - .andExpect(jsonPath("$content.[2].maxAssignments", equalTo(5))) - .andExpect(jsonPath("$content.[2].key", equalTo("test123"))).andExpect(jsonPath("$total", equalTo(4))); + .andExpect(jsonPath("$.content.[2].id", equalTo(testType.getId().intValue()))) + .andExpect(jsonPath("$.content.[2].name", equalTo("TestName123"))) + .andExpect(jsonPath("$.content.[2].description", equalTo("Desc1234"))) + .andExpect(jsonPath("$.content.[2].createdBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.content.[2].createdAt", equalTo(testType.getCreatedAt()))) + .andExpect(jsonPath("$.content.[2].lastModifiedBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.content.[2].lastModifiedAt", equalTo(testType.getLastModifiedAt()))) + .andExpect(jsonPath("$.content.[2].maxAssignments", equalTo(5))) + .andExpect(jsonPath("$.content.[2].key", equalTo("test123"))) + .andExpect(jsonPath("$.total", equalTo(4))); } @Test @@ -191,13 +193,13 @@ public class MgmtSoftwareModuleTypeResourceTest extends AbstractRestIntegrationT mvc.perform(get("/rest/v1/softwaremoduletypes/{smtId}", testType.getId()).accept(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$name", equalTo("TestName123"))) - .andExpect(jsonPath("$description", equalTo("Desc1234"))) - .andExpect(jsonPath("$maxAssignments", equalTo(5))) - .andExpect(jsonPath("$createdBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$createdAt", equalTo(testType.getCreatedAt()))) - .andExpect(jsonPath("$lastModifiedBy", equalTo("uploadTester"))) - .andExpect(jsonPath("$lastModifiedAt", equalTo(testType.getLastModifiedAt()))); + .andExpect(jsonPath("$.name", equalTo("TestName123"))) + .andExpect(jsonPath("$.description", equalTo("Desc1234"))) + .andExpect(jsonPath("$.maxAssignments", equalTo(5))) + .andExpect(jsonPath("$.createdBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.createdAt", equalTo(testType.getCreatedAt()))) + .andExpect(jsonPath("$.lastModifiedBy", equalTo("uploadTester"))) + .andExpect(jsonPath("$.lastModifiedAt", equalTo(testType.getLastModifiedAt()))); } @Test @@ -243,9 +245,9 @@ public class MgmtSoftwareModuleTypeResourceTest extends AbstractRestIntegrationT mvc.perform(put("/rest/v1/softwaremoduletypes/{smId}", testType.getId()).content(body) .contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) - .andExpect(jsonPath("$id", equalTo(testType.getId().intValue()))) - .andExpect(jsonPath("$description", equalTo("foobardesc"))) - .andExpect(jsonPath("$name", equalTo("TestName123"))).andReturn(); + .andExpect(jsonPath("$.id", equalTo(testType.getId().intValue()))) + .andExpect(jsonPath("$.description", equalTo("foobardesc"))) + .andExpect(jsonPath("$.name", equalTo("TestName123"))).andReturn(); } diff --git a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java index 8edb6aa86..e804dcb1f 100644 --- a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java +++ b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java @@ -12,6 +12,7 @@ import static com.google.common.collect.Lists.newArrayList; import static org.fest.assertions.api.Assertions.assertThat; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.not; +import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.hasItem; import static org.hamcrest.Matchers.hasKey; import static org.hamcrest.Matchers.hasSize; @@ -139,10 +140,10 @@ public class MgmtTargetResourceTest extends AbstractRestIntegrationTest { public void securityTokenIsNotInResponseIfMissingPermission() throws Exception { final String knownControllerId = "knownControllerId"; - final Target createTarget = targetManagement.createTarget(entityFactory.generateTarget(knownControllerId)); + targetManagement.createTarget(entityFactory.generateTarget(knownControllerId)); mvc.perform(get(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}", knownControllerId)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) - .andExpect(jsonPath("securityToken", equalTo(null))); + .andExpect(jsonPath("securityToken").doesNotExist()); } @Test @@ -172,14 +173,14 @@ public class MgmtTargetResourceTest extends AbstractRestIntegrationTest { mvc.perform(get(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING)).andDo(MockMvcResultPrinter.print()) .andExpect(status().isOk()).andExpect(jsonPath("total", equalTo(2))) .andExpect(jsonPath("size", equalTo(2))) - .andExpect(jsonPath("$content.[?(@.controllerId==" + knownControllerId1 + ")][0].ipAddress", - equalTo("127.0.0.1"))) - .andExpect(jsonPath("$content.[?(@.controllerId==" + knownControllerId2 + ")][0].ipAddress", - equalTo("127.0.0.1"))) - .andExpect(jsonPath("$content.[?(@.controllerId==" + knownControllerId1 + ")][0].address", - equalTo(IpUtil.createHttpUri("127.0.0.1").toString()))) - .andExpect(jsonPath("$content.[?(@.controllerId==" + knownControllerId2 + ")][0].address", - equalTo(IpUtil.createHttpUri("127.0.0.1").toString()))); + .andExpect(jsonPath("$.content.[?(@.controllerId==" + knownControllerId1 + ")].ipAddress", + contains("127.0.0.1"))) + .andExpect(jsonPath("$.content.[?(@.controllerId==" + knownControllerId2 + ")].ipAddress", + contains("127.0.0.1"))) + .andExpect(jsonPath("$.content.[?(@.controllerId==" + knownControllerId1 + ")].address", + contains(IpUtil.createHttpUri("127.0.0.1").toString()))) + .andExpect(jsonPath("$.content.[?(@.controllerId==" + knownControllerId2 + ")].address", + contains(IpUtil.createHttpUri("127.0.0.1").toString()))); } private void createTarget(final String controllerId) { @@ -418,32 +419,32 @@ public class MgmtTargetResourceTest extends AbstractRestIntegrationTest { .andExpect(jsonPath(JSON_PATH_PAGED_LIST_SIZE, equalTo(knownTargetAmount))) .andExpect(jsonPath(JSON_PATH_PAGED_LIST_CONTENT, hasSize(knownTargetAmount))) // idA - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0]._links.self.href", - equalTo(linksHrefPrefix + idA))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].name", equalTo(idA))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].description", equalTo(idA))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].controllerId", equalTo(idA))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].createdBy", equalTo("bumlux"))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].updateStatus", equalTo("unknown"))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].lastControllerRequestAt", notNullValue())) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")]._links.self.href", + contains(linksHrefPrefix + idA))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].name", contains(idA))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].description", contains(idA))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].controllerId", contains(idA))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].createdBy", contains("bumlux"))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].updateStatus", contains("unknown"))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].lastControllerRequestAt", notNullValue())) // idB - .andExpect(jsonPath("$content.[?(@.name==" + idB + ")][0]._links.self.href", - equalTo(linksHrefPrefix + idB))) - .andExpect(jsonPath("$content.[?(@.name==" + idB + ")][0].name", equalTo(idB))) - .andExpect(jsonPath("$content.[?(@.name==" + idB + ")][0].description", equalTo(idB))) - .andExpect(jsonPath("$content.[?(@.name==" + idB + ")][0].controllerId", equalTo(idB))) - .andExpect(jsonPath("$content.[?(@.name==" + idB + ")][0].createdBy", equalTo("bumlux"))) - .andExpect(jsonPath("$content.[?(@.name==" + idB + ")][0].updateStatus", equalTo("unknown"))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].lastControllerRequestAt", notNullValue())) + .andExpect(jsonPath("$.content.[?(@.name==" + idB + ")]._links.self.href", + contains(linksHrefPrefix + idB))) + .andExpect(jsonPath("$.content.[?(@.name==" + idB + ")].name", contains(idB))) + .andExpect(jsonPath("$.content.[?(@.name==" + idB + ")].description", contains(idB))) + .andExpect(jsonPath("$.content.[?(@.name==" + idB + ")].controllerId", contains(idB))) + .andExpect(jsonPath("$.content.[?(@.name==" + idB + ")].createdBy", contains("bumlux"))) + .andExpect(jsonPath("$.content.[?(@.name==" + idB + ")].updateStatus", contains("unknown"))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].lastControllerRequestAt", notNullValue())) // idC - .andExpect(jsonPath("$content.[?(@.name==" + idC + ")][0]._links.self.href", - equalTo(linksHrefPrefix + idC))) - .andExpect(jsonPath("$content.[?(@.name==" + idC + ")][0].name", equalTo(idC))) - .andExpect(jsonPath("$content.[?(@.name==" + idC + ")][0].description", equalTo(idC))) - .andExpect(jsonPath("$content.[?(@.name==" + idC + ")][0].controllerId", equalTo(idC))) - .andExpect(jsonPath("$content.[?(@.name==" + idC + ")][0].createdBy", equalTo("bumlux"))) - .andExpect(jsonPath("$content.[?(@.name==" + idC + ")][0].updateStatus", equalTo("unknown"))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].lastControllerRequestAt", notNullValue())); + .andExpect(jsonPath("$.content.[?(@.name==" + idC + ")]._links.self.href", + contains(linksHrefPrefix + idC))) + .andExpect(jsonPath("$.content.[?(@.name==" + idC + ")].name", contains(idC))) + .andExpect(jsonPath("$.content.[?(@.name==" + idC + ")].description", contains(idC))) + .andExpect(jsonPath("$.content.[?(@.name==" + idC + ")].controllerId", contains(idC))) + .andExpect(jsonPath("$.content.[?(@.name==" + idC + ")].createdBy", contains("bumlux"))) + .andExpect(jsonPath("$.content.[?(@.name==" + idC + ")].updateStatus", contains("unknown"))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].lastControllerRequestAt", notNullValue())); } @Test @@ -462,13 +463,13 @@ public class MgmtTargetResourceTest extends AbstractRestIntegrationTest { .andExpect(jsonPath(JSON_PATH_PAGED_LIST_SIZE, equalTo(limitSize))) .andExpect(jsonPath(JSON_PATH_PAGED_LIST_CONTENT, hasSize(limitSize))) // idA - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0]._links.self.href", - equalTo(linksHrefPrefix + idA))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].name", equalTo(idA))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].description", equalTo(idA))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].controllerId", equalTo(idA))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].createdBy", equalTo("bumlux"))) - .andExpect(jsonPath("$content.[?(@.name==" + idA + ")][0].updateStatus", equalTo("unknown"))); + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")]._links.self.href", + contains(linksHrefPrefix + idA))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].name", contains(idA))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].description", contains(idA))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].controllerId", contains(idA))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].createdBy", contains("bumlux"))) + .andExpect(jsonPath("$.content.[?(@.name==" + idA + ")].updateStatus", contains("unknown"))); } @Test @@ -491,29 +492,29 @@ public class MgmtTargetResourceTest extends AbstractRestIntegrationTest { .andExpect(jsonPath(JSON_PATH_PAGED_LIST_SIZE, equalTo(expectedSize))) .andExpect(jsonPath(JSON_PATH_PAGED_LIST_CONTENT, hasSize(expectedSize))) // idA - .andExpect(jsonPath("$content.[?(@.name==" + idC + ")][0]._links.self.href", - equalTo(linksHrefPrefix + idC))) - .andExpect(jsonPath("$content.[?(@.name==" + idC + ")][0].name", equalTo(idC))) - .andExpect(jsonPath("$content.[?(@.name==" + idC + ")][0].description", equalTo(idC))) - .andExpect(jsonPath("$content.[?(@.name==" + idC + ")][0].controllerId", equalTo(idC))) - .andExpect(jsonPath("$content.[?(@.name==" + idC + ")][0].createdBy", equalTo("bumlux"))) - .andExpect(jsonPath("$content.[?(@.name==" + idC + ")][0].updateStatus", equalTo("unknown"))) + .andExpect(jsonPath("$.content.[?(@.name==" + idC + ")]._links.self.href", + contains(linksHrefPrefix + idC))) + .andExpect(jsonPath("$.content.[?(@.name==" + idC + ")].name", contains(idC))) + .andExpect(jsonPath("$.content.[?(@.name==" + idC + ")].description", contains(idC))) + .andExpect(jsonPath("$.content.[?(@.name==" + idC + ")].controllerId", contains(idC))) + .andExpect(jsonPath("$.content.[?(@.name==" + idC + ")].createdBy", contains("bumlux"))) + .andExpect(jsonPath("$.content.[?(@.name==" + idC + ")].updateStatus", contains("unknown"))) // idB - .andExpect(jsonPath("$content.[?(@.name==" + idD + ")][0]._links.self.href", - equalTo(linksHrefPrefix + idD))) - .andExpect(jsonPath("$content.[?(@.name==" + idD + ")][0].name", equalTo(idD))) - .andExpect(jsonPath("$content.[?(@.name==" + idD + ")][0].description", equalTo(idD))) - .andExpect(jsonPath("$content.[?(@.name==" + idD + ")][0].controllerId", equalTo(idD))) - .andExpect(jsonPath("$content.[?(@.name==" + idD + ")][0].createdBy", equalTo("bumlux"))) - .andExpect(jsonPath("$content.[?(@.name==" + idD + ")][0].updateStatus", equalTo("unknown"))) + .andExpect(jsonPath("$.content.[?(@.name==" + idD + ")]._links.self.href", + contains(linksHrefPrefix + idD))) + .andExpect(jsonPath("$.content.[?(@.name==" + idD + ")].name", contains(idD))) + .andExpect(jsonPath("$.content.[?(@.name==" + idD + ")].description", contains(idD))) + .andExpect(jsonPath("$.content.[?(@.name==" + idD + ")].controllerId", contains(idD))) + .andExpect(jsonPath("$.content.[?(@.name==" + idD + ")].createdBy", contains("bumlux"))) + .andExpect(jsonPath("$.content.[?(@.name==" + idD + ")].updateStatus", contains("unknown"))) // idC - .andExpect(jsonPath("$content.[?(@.name==" + idE + ")][0]._links.self.href", - equalTo(linksHrefPrefix + idE))) - .andExpect(jsonPath("$content.[?(@.name==" + idE + ")][0].name", equalTo(idE))) - .andExpect(jsonPath("$content.[?(@.name==" + idE + ")][0].description", equalTo(idE))) - .andExpect(jsonPath("$content.[?(@.name==" + idE + ")][0].controllerId", equalTo(idE))) - .andExpect(jsonPath("$content.[?(@.name==" + idE + ")][0].createdBy", equalTo("bumlux"))) - .andExpect(jsonPath("$content.[?(@.name==" + idE + ")][0].updateStatus", equalTo("unknown"))); + .andExpect(jsonPath("$.content.[?(@.name==" + idE + ")]._links.self.href", + contains(linksHrefPrefix + idE))) + .andExpect(jsonPath("$.content.[?(@.name==" + idE + ")].name", contains(idE))) + .andExpect(jsonPath("$.content.[?(@.name==" + idE + ")].description", contains(idE))) + .andExpect(jsonPath("$.content.[?(@.name==" + idE + ")].controllerId", contains(idE))) + .andExpect(jsonPath("$.content.[?(@.name==" + idE + ")].createdBy", contains("bumlux"))) + .andExpect(jsonPath("$.content.[?(@.name==" + idE + ")].updateStatus", contains("unknown"))); } @Test @@ -533,9 +534,9 @@ public class MgmtTargetResourceTest extends AbstractRestIntegrationTest { .andExpect(jsonPath("$.pollStatus", hasKey("lastRequestAt"))) .andExpect(jsonPath("$.pollStatus", hasKey("nextExpectedRequestAt"))) .andExpect(jsonPath("$.pollStatus.overdue", equalTo(false))) - .andExpect(jsonPath("$_links.assignedDS.href", equalTo(hrefPrefix + "assignedDS"))) - .andExpect(jsonPath("$_links.installedDS.href", equalTo(hrefPrefix + "installedDS"))) - .andExpect(jsonPath("$_links.actions.href", + .andExpect(jsonPath("$._links.assignedDS.href", equalTo(hrefPrefix + "assignedDS"))) + .andExpect(jsonPath("$._links.installedDS.href", equalTo(hrefPrefix + "installedDS"))) + .andExpect(jsonPath("$._links.actions.href", equalTo(hrefPrefix + "actions" + "?offset=0&limit=50&sort=id:DESC"))); } @@ -589,37 +590,37 @@ public class MgmtTargetResourceTest extends AbstractRestIntegrationTest { .andExpect(jsonPath(JSON_PATH_DESCRIPTION, equalTo(ds.getDescription()))) // os .andExpect( - jsonPath("$modules.[?(@.type==" + osType.getKey() + ")][0].id", equalTo(os.getId().intValue()))) - .andExpect(jsonPath("$modules.[?(@.type==" + osType.getKey() + ")][0].name", equalTo(os.getName()))) - .andExpect(jsonPath("$modules.[?(@.type==" + osType.getKey() + ")][0].description", - equalTo(os.getDescription()))) + jsonPath("$.modules.[?(@.type==" + osType.getKey() + ")].id", contains(os.getId().intValue()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + osType.getKey() + ")].name", contains(os.getName()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + osType.getKey() + ")].description", + contains(os.getDescription()))) .andExpect( - jsonPath("$modules.[?(@.type==" + osType.getKey() + ")][0].version", equalTo(os.getVersion()))) - .andExpect(jsonPath("$modules.[?(@.type==" + osType.getKey() + ")][0].vendor", equalTo(os.getVendor()))) - .andExpect(jsonPath("$modules.[?(@.type==" + osType.getKey() + ")][0].type", equalTo("os"))) + jsonPath("$.modules.[?(@.type==" + osType.getKey() + ")].version", contains(os.getVersion()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + osType.getKey() + ")].vendor", contains(os.getVendor()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + osType.getKey() + ")].type", contains("os"))) // jvm - .andExpect(jsonPath("$modules.[?(@.type==" + runtimeType.getKey() + ")][0].id", - equalTo(jvm.getId().intValue()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + runtimeType.getKey() + ")].id", + contains(jvm.getId().intValue()))) .andExpect( - jsonPath("$modules.[?(@.type==" + runtimeType.getKey() + ")][0].name", equalTo(jvm.getName()))) - .andExpect(jsonPath("$modules.[?(@.type==" + runtimeType.getKey() + ")][0].description", - equalTo(jvm.getDescription()))) - .andExpect(jsonPath("$modules.[?(@.type==" + runtimeType.getKey() + ")][0].version", - equalTo(jvm.getVersion()))) - .andExpect(jsonPath("$modules.[?(@.type==" + runtimeType.getKey() + ")][0].vendor", - equalTo(jvm.getVendor()))) - .andExpect(jsonPath("$modules.[?(@.type==" + runtimeType.getKey() + ")][0].type", equalTo("runtime"))) + jsonPath("$.modules.[?(@.type==" + runtimeType.getKey() + ")].name", contains(jvm.getName()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + runtimeType.getKey() + ")].description", + contains(jvm.getDescription()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + runtimeType.getKey() + ")].version", + contains(jvm.getVersion()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + runtimeType.getKey() + ")].vendor", + contains(jvm.getVendor()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + runtimeType.getKey() + ")].type", contains("runtime"))) // baseApp - .andExpect(jsonPath("$modules.[?(@.type==" + appType.getKey() + ")][0].id", - equalTo(bApp.getId().intValue()))) - .andExpect(jsonPath("$modules.[?(@.type==" + appType.getKey() + ")][0].name", equalTo(bApp.getName()))) - .andExpect(jsonPath("$modules.[?(@.type==" + appType.getKey() + ")][0].description", - equalTo(bApp.getDescription()))) - .andExpect(jsonPath("$modules.[?(@.type==" + appType.getKey() + ")][0].version", - equalTo(bApp.getVersion()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + appType.getKey() + ")].id", + contains(bApp.getId().intValue()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + appType.getKey() + ")].name", contains(bApp.getName()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + appType.getKey() + ")].description", + contains(bApp.getDescription()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + appType.getKey() + ")].version", + contains(bApp.getVersion()))) .andExpect( - jsonPath("$modules.[?(@.type==" + appType.getKey() + ")][0].vendor", equalTo(bApp.getVendor()))) - .andExpect(jsonPath("$modules.[?(@.type==" + appType.getKey() + ")][0].type", equalTo("application"))); + jsonPath("$.modules.[?(@.type==" + appType.getKey() + ")].vendor", contains(bApp.getVendor()))) + .andExpect(jsonPath("$.modules.[?(@.type==" + appType.getKey() + ")].type", contains("application"))); } diff --git a/pom.xml b/pom.xml index e952f15bd..31a175bd6 100644 --- a/pom.xml +++ b/pom.xml @@ -95,7 +95,6 @@ 2.6.2 1.5.4 1.0.2 - 0.9.1 19.0 1.4.3 1.50.5 @@ -486,12 +485,6 @@ rsql-parser ${rsql-parser.version} - - - com.jayway.jsonpath - json-path - ${json-path.version} - com.googlecode.json-simple json-simple @@ -558,12 +551,6 @@ ${pl.pragmatists.version} test - - com.jayway.jsonpath - json-path-assert - ${json-path.version} - test - org.mariadb.jdbc mariadb-java-client