Search in sources :

Example 21 with ValidatableResponse

use of com.jayway.restassured.response.ValidatableResponse in project ddf by codice.

the class TestCatalog method testCswDeleteOneWithFilter.

@Test
public void testCswDeleteOneWithFilter() {
    ingestCswRecord();
    ValidatableResponse response = given().header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_XML).body(getFileContent(CSW_REQUEST_RESOURCE_PATH + "/CswFilterDeleteRequest")).post(CSW_PATH.getUrl()).then();
    response.body(hasXPath("//TransactionResponse/TransactionSummary/totalDeleted", is("1")), hasXPath("//TransactionResponse/TransactionSummary/totalInserted", is("0")), hasXPath("//TransactionResponse/TransactionSummary/totalUpdated", is("0")));
}
Also used : ValidatableResponse(com.jayway.restassured.response.ValidatableResponse) SkipUnstableTest(org.codice.ddf.itests.common.annotations.SkipUnstableTest) Test(org.junit.Test) AbstractIntegrationTest(org.codice.ddf.itests.common.AbstractIntegrationTest)

Example 22 with ValidatableResponse

use of com.jayway.restassured.response.ValidatableResponse in project ddf by codice.

the class TestCatalog method testCreateStorageCannotOverrideResourceUri.

@Test
public void testCreateStorageCannotOverrideResourceUri() throws IOException {
    String fileName = testName.getMethodName() + ".jpg";
    String overrideResourceUri = "content:abc123";
    String overrideTitle = "overrideTitle";
    File tmpFile = createTemporaryFile(fileName, IOUtils.toInputStream(getFileContent(SAMPLE_IMAGE)));
    String id = given().multiPart("parse.resource", tmpFile).multiPart(Core.TITLE, overrideTitle).multiPart(Core.RESOURCE_URI, overrideResourceUri).expect().log().headers().statusCode(201).when().post(REST_PATH.getUrl()).getHeader("id");
    String metacardPath = format("/metacards/metacard[@id=\"%s\"]", id);
    ValidatableResponse response = executeOpenSearch("xml", "q=*").log().all();
    response.assertThat().body(hasXPath(metacardPath + "/string[@name=\"" + Core.RESOURCE_URI + "\"]/value", is(not(overrideResourceUri))));
    response.assertThat().body(hasXPath(metacardPath + "/string[@name=\"" + Core.TITLE + "\"]/value", is(overrideTitle)));
    deleteMetacard(id);
}
Also used : ValidatableResponse(com.jayway.restassured.response.ValidatableResponse) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) File(java.io.File) SkipUnstableTest(org.codice.ddf.itests.common.annotations.SkipUnstableTest) Test(org.junit.Test) AbstractIntegrationTest(org.codice.ddf.itests.common.AbstractIntegrationTest)

Example 23 with ValidatableResponse

use of com.jayway.restassured.response.ValidatableResponse in project ddf by codice.

the class TestCatalogValidation method testNoEnforceValidityErrorsOrWarnings.

@Test
public void testNoEnforceValidityErrorsOrWarnings() throws Exception {
    //Configure to enforce validator
    configureEnforcedMetacardValidators(Collections.singletonList("sample-validator"), getAdminConfig());
    //Configure to enforce neither errors nor warnings
    configureEnforceValidityErrorsAndWarnings("false", "false", getAdminConfig());
    ingestXmlFromResourceAndWait(XML_RECORD_RESOURCE_PATH + "/sampleWarningMetacard.xml");
    ingestXmlFromResourceAndWait(XML_RECORD_RESOURCE_PATH + "/sampleCleanMetacard.xml");
    ingestXmlFromResourceAndWait(XML_RECORD_RESOURCE_PATH + "/sampleErrorMetacard.xml");
    String query = new CswQueryBuilder().addAttributeFilter(PROPERTY_IS_LIKE, "AnyText", "*").getQuery();
    ValidatableResponse response = given().header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_XML).body(query).post(CSW_PATH.getUrl()).then();
    response.body(containsString("warning metacard"));
    response.body(containsString("clean metacard"));
    response.body(containsString("error metacard"));
}
Also used : ValidatableResponse(com.jayway.restassured.response.ValidatableResponse) CswQueryBuilder(org.codice.ddf.itests.common.csw.CswQueryBuilder) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) AbstractIntegrationTest(org.codice.ddf.itests.common.AbstractIntegrationTest) Test(org.junit.Test)

Example 24 with ValidatableResponse

use of com.jayway.restassured.response.ValidatableResponse in project ddf by codice.

the class TestRegistry method createRegistryEntry.

private String createRegistryEntry(String id, String regId) throws Exception {
    Response response = given().auth().preemptive().basic(ADMIN, ADMIN).body(getCswRegistryInsert(id, regId)).header("Content-Type", "text/xml").expect().log().all().statusCode(200).when().post(CSW_PATH.getUrl());
    ValidatableResponse validatableResponse = response.then();
    validatableResponse.body(hasXPath("//TransactionResponse/TransactionSummary/totalInserted", CoreMatchers.is("1")), hasXPath("//TransactionResponse/TransactionSummary/totalUpdated", CoreMatchers.is("0")), hasXPath("//TransactionResponse/TransactionSummary/totalDeleted", CoreMatchers.is("0")));
    String idPath = "//*[local-name()='identifier']/text()";
    String mcardId = XmlSearch.evaluate(idPath, response.getBody().asString());
    boolean foundMetacard = false;
    long startTime = System.currentTimeMillis();
    long metacardLookupTimeout = TimeUnit.MINUTES.toMillis(20);
    while (!foundMetacard) {
        LOGGER.info("Waiting for metacard to be created");
        List entries = SECURITY.runAsAdminWithException(() -> {
            FederationAdminService federationAdminServiceImpl = getServiceManager().getService(FederationAdminService.class);
            return federationAdminServiceImpl.getRegistryMetacardsByRegistryIds(Collections.singletonList(regId));
        });
        if (!entries.isEmpty()) {
            foundMetacard = true;
        } else if (System.currentTimeMillis() - startTime > metacardLookupTimeout) {
            fail("Registry Metacard was not created in the allowed time");
        }
        Thread.sleep(SLEEP_TIME);
    }
    return mcardId;
}
Also used : Response(com.jayway.restassured.response.Response) ValidatableResponse(com.jayway.restassured.response.ValidatableResponse) ValidatableResponse(com.jayway.restassured.response.ValidatableResponse) FederationAdminService(org.codice.ddf.registry.federationadmin.service.internal.FederationAdminService) ArrayList(java.util.ArrayList) List(java.util.List)

Example 25 with ValidatableResponse

use of com.jayway.restassured.response.ValidatableResponse in project ddf by codice.

the class TestRegistry method testCswRegistryUpdate.

@Test
public void testCswRegistryUpdate() throws Exception {
    String regID = "urn:uuid:2014ca7f59ac46f495e32b4a67a51285";
    String mcardId = "2014ca7f59ac46f495e32b4a67a51285";
    String id = createRegistryEntry(mcardId, regID);
    Response response = given().auth().preemptive().basic(ADMIN, ADMIN).body(getCswRegistryUpdate(id, "New Node Name", "2018-02-26T17:16:34.996Z", regID)).header("Content-Type", "text/xml").expect().log().all().statusCode(200).when().post(CSW_PATH.getUrl());
    ValidatableResponse validatableResponse = response.then();
    validatableResponse.body(hasXPath("//TransactionResponse/TransactionSummary/totalInserted", CoreMatchers.is("0")), hasXPath("//TransactionResponse/TransactionSummary/totalUpdated", CoreMatchers.is("1")), hasXPath("//TransactionResponse/TransactionSummary/totalDeleted", CoreMatchers.is("0")));
}
Also used : Response(com.jayway.restassured.response.Response) ValidatableResponse(com.jayway.restassured.response.ValidatableResponse) ValidatableResponse(com.jayway.restassured.response.ValidatableResponse) AbstractIntegrationTest(org.codice.ddf.itests.common.AbstractIntegrationTest) Test(org.junit.Test)

Aggregations

ValidatableResponse (com.jayway.restassured.response.ValidatableResponse)58 Test (org.junit.Test)51 AbstractIntegrationTest (org.codice.ddf.itests.common.AbstractIntegrationTest)42 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)27 SkipUnstableTest (org.codice.ddf.itests.common.annotations.SkipUnstableTest)24 Response (com.jayway.restassured.response.Response)17 CswQueryBuilder (org.codice.ddf.itests.common.csw.CswQueryBuilder)16 CswTestCommons.getMetacardIdFromCswInsertResponse (org.codice.ddf.itests.common.csw.CswTestCommons.getMetacardIdFromCswInsertResponse)13 IOException (java.io.IOException)11 XPathExpressionException (javax.xml.xpath.XPathExpressionException)11 JsonPath (com.jayway.restassured.path.json.JsonPath)6 UsingDataSet (com.lordofthejars.nosqlunit.annotation.UsingDataSet)5 BaseRestTest (integration.BaseRestTest)4 Configuration (org.osgi.service.cm.Configuration)4 Hashtable (java.util.Hashtable)3 JSONObject (org.json.simple.JSONObject)3 HashMap (java.util.HashMap)2 XmlPath (com.jayway.restassured.path.xml.XmlPath)1 File (java.io.File)1 InputStream (java.io.InputStream)1