Class RestTestHarness

    • Method Detail

      • getBaseURL

        public String getBaseURL()
      • getAdminURL

        public String getAdminURL()
      • validateQuery

        public String validateQuery​(String request,
                                    String... tests)
                             throws Exception
        Validates an XML "query" response against an array of XPath test strings
        Parameters:
        request - the Query to process
        Returns:
        null if all good, otherwise the first test that fails.
        Throws:
        Exception - any exception in the response.
        IOException - if there is a problem writing the XML
      • validatePut

        public String validatePut​(String request,
                                  String content,
                                  String... tests)
                           throws Exception
        Validates an XML PUT response against an array of XPath test strings
        Parameters:
        request - the PUT request to process
        content - the content to send with the PUT request
        tests - the validating XPath tests
        Returns:
        null if all good, otherwise the first test that fails.
        Throws:
        Exception - any exception in the response.
        IOException - if there is a problem writing the XML
      • query

        public String query​(String request)
                     throws Exception
        Processes a "query" using a URL path (with no context path) + optional query params, e.g. "/schema/fields?indent=off"
        Parameters:
        request - the URL path and optional query params
        Returns:
        The response to the query
        Throws:
        Exception - any exception in the response.
      • put

        public String put​(String request,
                          String content)
                   throws IOException
        Processes a PUT request using a URL path (with no context path) + optional query params, e.g. "/schema/fields/newfield", PUTs the given content, and returns the response content.
        Parameters:
        request - The URL path and optional query params
        content - The content to include with the PUT request
        Returns:
        The response to the PUT request
        Throws:
        IOException
      • delete

        public String delete​(String request)
                      throws IOException
        Processes a DELETE request using a URL path (with no context path) + optional query params, e.g. "/schema/analysis/protwords/english", and returns the response content.
        Parameters:
        request - the URL path and optional query params
        Returns:
        The response to the DELETE request
        Throws:
        IOException
      • post

        public String post​(String request,
                           String content)
                    throws IOException
        Processes a POST request using a URL path (with no context path) + optional query params, e.g. "/schema/fields/newfield", PUTs the given content, and returns the response content.
        Parameters:
        request - The URL path and optional query params
        content - The content to include with the POST request
        Returns:
        The response to the POST request
        Throws:
        IOException
      • reload

        public void reload()
                    throws Exception
        Reloads the first core listed in the response to the core admin handler STATUS command
        Specified by:
        reload in class BaseTestHarness
        Throws:
        Exception
      • update

        public String update​(String xml)
        Processes an "update" (add, commit or optimize) and returns the response as a String.
        Specified by:
        update in class BaseTestHarness
        Parameters:
        xml - The XML of the update
        Returns:
        The XML response to the update