Example usage for org.apache.commons.httpclient.auth AuthPolicy BASIC

List of usage examples for org.apache.commons.httpclient.auth AuthPolicy BASIC

Introduction

In this page you can find the example usage for org.apache.commons.httpclient.auth AuthPolicy BASIC.

Prototype

String BASIC

To view the source code for org.apache.commons.httpclient.auth AuthPolicy BASIC.

Click Source Link

Usage

From source file:org.iavante.sling.gad.administration.impl.AbstractHttpOperation.java

/** Execute a POST request and check status */
protected Header[] assertAuthenticatedPostMultipartStatus(Credentials creds, String url,
        List<String> expectedStatusCode, Part[] parts, String assertMessage) throws IOException {

    Header[] headers = null;/*w  w  w.  j  av  a 2  s  . co m*/

    URL baseUrl = new URL(HTTP_BASE_URL);

    List authPrefs = new ArrayList(2);
    authPrefs.add(AuthPolicy.DIGEST);
    authPrefs.add(AuthPolicy.BASIC);

    HttpClient httpClient = new HttpClient();
    httpClient.getParams().setAuthenticationPreemptive(true);
    httpClient.getState().setCredentials(AuthScope.ANY, creds);
    httpClient.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    PostMethod post = new PostMethod(url);
    post.setFollowRedirects(false);
    post.setDoAuthentication(true);

    try {

        if (parts != null) {
            post.setRequestEntity((RequestEntity) new MultipartRequestEntity(parts, post.getParams()));
        }

        final int status = httpClient.executeMethod(post);

        if (!expectedStatusCode.contains("" + status)) {
            log.error("ResponseCode: " + status + " isn't in " + expectedStatusCode.toString());
            throw new IOException("ResponseCode: " + status + " isn't in " + expectedStatusCode.toString());
        }

        headers = post.getResponseHeaders();

    } finally {
        post.releaseConnection();
    }

    return headers;
}

From source file:org.iavante.sling.gad.administration.impl.AbstractHttpOperation.java

/**
 * Retrieve the contents of given URL and assert its content type
 * /*ww  w .  j  ava 2 s.  co  m*/
 * @param expectedContentType
 *          use CONTENT_TYPE_DONTCARE if must not be checked
 * @throws IOException
 * @throws HttpException
 */
protected String getAuthenticatedContent(Credentials creds, String url, String expectedContentType,
        List<NameValuePair> params, int expectedStatusCode) throws IOException {

    URL baseUrl = new URL(HTTP_BASE_URL);

    List authPrefs = new ArrayList(2);
    authPrefs.add(AuthPolicy.DIGEST);
    authPrefs.add(AuthPolicy.BASIC);

    HttpClient httpClient = new HttpClient();
    httpClient.getParams().setAuthenticationPreemptive(true);
    httpClient.getState().setCredentials(AuthScope.ANY, creds);
    httpClient.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    GetMethod get = new GetMethod(url);

    try {

        if (params != null) {
            final NameValuePair[] nvp = new NameValuePair[0];
            get.setQueryString(params.toArray(nvp));
        }
        final int status = httpClient.executeMethod(get);
        final InputStream is = get.getResponseBodyAsStream();
        final StringBuffer content = new StringBuffer();
        final String charset = get.getResponseCharSet();
        final byte[] buffer = new byte[16384];
        int n = 0;
        while ((n = is.read(buffer, 0, buffer.length)) > 0) {
            content.append(new String(buffer, 0, n, charset));
        }
        assertEquals("Expected status " + expectedStatusCode + " for " + url + " (content=" + content + ")",
                expectedStatusCode, status);
        final Header h = get.getResponseHeader("Content-Type");
        if (expectedContentType == null) {
            if (h != null) {
                fail("Expected null Content-Type, got " + h.getValue());
            }
        } else if (CONTENT_TYPE_DONTCARE.equals(expectedContentType)) {
            // no check
        } else if (h == null) {
            fail("Expected Content-Type that starts with '" + expectedContentType
                    + " but got no Content-Type header at " + url);
        } else {
            assertTrue("Expected Content-Type that starts with '" + expectedContentType + "' for " + url
                    + ", got '" + h.getValue() + "'", h.getValue().startsWith(expectedContentType));
        }
        return content.toString();

    } finally {
        get.releaseConnection();
    }
}

From source file:org.iavante.sling.gad.administration.impl.AbstractHttpOperation.java

/**
 * Verify that given URL returns expectedStatusCode
 * //from w w w .j  a  va2 s  .com
 * @throws IOException
 */
protected void assertAuthenticatedHttpStatus(Credentials creds, String urlString, int expectedStatusCode,
        String assertMessage) throws IOException {

    URL baseUrl = new URL(HTTP_BASE_URL);

    List authPrefs = new ArrayList(2);
    authPrefs.add(AuthPolicy.DIGEST);
    authPrefs.add(AuthPolicy.BASIC);

    HttpClient httpClient = new HttpClient();
    httpClient.getParams().setAuthenticationPreemptive(true);
    httpClient.getState().setCredentials(AuthScope.ANY, creds);
    httpClient.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    GetMethod getMethod = new GetMethod(urlString);
    getMethod.setDoAuthentication(true);

    try {

        final int status = httpClient.executeMethod(getMethod);
        if (assertMessage == null) {
            assertEquals(urlString, expectedStatusCode, status);
        } else {
            assertEquals(assertMessage, expectedStatusCode, status);
        }
    } finally {
        getMethod.releaseConnection();
    }
}

From source file:org.iavante.sling.gad.catalog.CatalogValidationFilterIT.java

protected void setUp() {

    Map<String, String> envs = System.getenv();
    Set<String> keys = envs.keySet();

    Iterator<String> it = keys.iterator();
    boolean hashost = false;
    while (it.hasNext()) {
        String key = (String) it.next();

        if (key.compareTo(HOSTVAR) == 0) {
            SLING_URL = SLING_URL + (String) envs.get(key);
            hashost = true;//from   w  w w.  j a v  a2  s.  co m
        }
    }
    if (hashost == false)
        SLING_URL = SLING_URL + HOSTPREDEF;

    client = new HttpClient();
    col_title = "admin";
    content_title = "it_content";
    source_title = "it_source";
    file = "it.flv";
    mimetype = "video/flv";
    schema = "default";
    title = "Test case content";
    schema = "default";
    slug_collection = "admin";
    slug_content = "it_content";
    tags_request = "    test,     case";
    tags_response = "test,case";
    defaultcreds = new UsernamePasswordCredentials("admin", "admin");

    authPrefs = new ArrayList(2);
    authPrefs.add(AuthPolicy.DIGEST);
    authPrefs.add(AuthPolicy.BASIC);

    client.getParams().setAuthenticationPreemptive(true);
    client.getState().setCredentials(AuthScope.ANY, defaultcreds);
    client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    // Delete the collection
    System.out.println("Delete collection: " + SLING_URL + COL_URL + col_title);
    PostMethod post_delete = new PostMethod(SLING_URL + COL_URL + col_title);
    NameValuePair[] data_delete = { new NameValuePair(":operation", "delete"), };

    post_delete.setDoAuthentication(true);
    post_delete.setRequestBody(data_delete);

    try {
        client.executeMethod(post_delete);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }
    post_delete.releaseConnection();

    // Create collection          
    PostMethod post_create_col = new PostMethod(SLING_URL + COL_URL + col_title);
    post_create_col.setDoAuthentication(true);

    NameValuePair[] data_create_col = { new NameValuePair("sling:resourceType", "gad/collection"),
            new NameValuePair("title", col_title), new NameValuePair("schema", schema),
            new NameValuePair("subtitle", ""), new NameValuePair("extern_storage", "on"),
            new NameValuePair("picture", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };
    post_create_col.setRequestBody(data_create_col);
    //post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create_col);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Collection created
    assertEquals(post_create_col.getStatusCode(), 201);
    post_create_col.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Create content in collection      
    PostMethod post_create_content = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    post_create_content.setDoAuthentication(true);

    NameValuePair[] data_create_content = { new NameValuePair("sling:resourceType", "gad/content"),
            new NameValuePair("title", content_title), new NameValuePair("schema", schema),
            new NameValuePair("description",
                    "Content description generated by test case. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."),
            new NameValuePair("author", "Test case"), new NameValuePair("origin", "Test case"),
            new NameValuePair("lang", "es"), new NameValuePair("tags", "test case"),
            new NameValuePair("tags@TypeHint", "String[]"), new NameValuePair("state", "pending"),
            new NameValuePair("jcr:created", ""), new NameValuePair("jcr:createdBy", ""),
            new NameValuePair("jcr:lastModified", ""), new NameValuePair("jcr:lastModifiedBy", "") };
    post_create_content.setRequestBody(data_create_content);
    //post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Content created
    assertEquals(post_create_content.getStatusCode(), 201);
    post_create_content.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Edit content in collection      
    PostMethod post_edit_content = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    post_create_content.setDoAuthentication(true);

    NameValuePair[] data_edit_content = { new NameValuePair("sling:resourceType", "gad/content"),
            new NameValuePair("title", content_title), new NameValuePair("schema", schema),
            new NameValuePair("description", "Content description edited."),
            new NameValuePair("author", "Test case edited"), new NameValuePair("origin", "Test case edite"),
            new NameValuePair("lang", "es"), new NameValuePair("tags", "test case"),
            new NameValuePair("tags@TypeHint", "String[]"), new NameValuePair("state", "pending"),
            new NameValuePair("jcr:created", ""), new NameValuePair("jcr:createdBy", ""),
            new NameValuePair("jcr:lastModified", ""), new NameValuePair("jcr:lastModifiedBy", "") };
    post_edit_content.setRequestBody(data_edit_content);
    //post.setDoAuthentication(true);
    try {
        client.executeMethod(post_edit_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Content edited
    assertEquals(post_edit_content.getStatusCode(), 200);
    post_create_content.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Create the source
    PostMethod post_create = new PostMethod(SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/" + source_title);
    System.out.println("Request: " + SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/" + source_title);
    post_create.setDoAuthentication(true);
    NameValuePair[] data_create = { new NameValuePair("sling:resourceType", "gad/source"),
            new NameValuePair("title", source_title), new NameValuePair("file", ""),
            new NameValuePair("mimetype", ""), new NameValuePair("text_encoding", ""),
            new NameValuePair("lang", ""), new NameValuePair("length", ""), new NameValuePair("size", ""),
            new NameValuePair("type", ""), new NameValuePair("bitrate", ""), new NameValuePair("tags", ""),
            new NameValuePair("tracks_number", ""), new NameValuePair("track_1_type", ""),
            new NameValuePair("track_1_encoding", ""), new NameValuePair("track_1_features", ""),
            new NameValuePair("track_2_type", ""), new NameValuePair("track_2_encoding", ""),
            new NameValuePair("track_2_features", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };
    post_create.setRequestBody(data_create);
    //post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_create.getStatusCode(), 201);
    post_create.releaseConnection();

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Send the content to revision
    PostMethod post_send_to_revision = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    String catalog_pending_url = CATALOG_URL + PENDING_FOLDER + "/";
    System.out.println("Catalog url: " + catalog_pending_url);
    System.out.println("Send to revision: " + SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title);
    post_send_to_revision.setDoAuthentication(true);

    NameValuePair[] data_send_to_revision = { new NameValuePair(":operation", "copy"),
            new NameValuePair(":dest", catalog_pending_url), new NameValuePair("replace", "true") };
    post_send_to_revision.setRequestBody(data_send_to_revision);
    try {
        client.executeMethod(post_send_to_revision);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_send_to_revision.getStatusCode(), 201);
    post_send_to_revision.releaseConnection();
}

From source file:org.iavante.sling.gad.catalog.DenyRevisionServiceIT.java

protected void setUp() {

    Map<String, String> envs = System.getenv();
    Set<String> keys = envs.keySet();

    Iterator<String> it = keys.iterator();
    boolean hashost = false;
    while (it.hasNext()) {
        String key = (String) it.next();

        if (key.compareTo(HOSTVAR) == 0) {
            SLING_URL = SLING_URL + (String) envs.get(key);
            hashost = true;//from  w w w . ja  va  2s .c om
        }
    }
    if (hashost == false)
        SLING_URL = SLING_URL + HOSTPREDEF;

    client = new HttpClient();
    col_title = "it_col";
    content_title = "it_content";
    source_title = "it_source";
    file = "it.flv";
    mimetype = "video/flv";
    schema = "default";
    title = "Test case content";
    schema = "default";
    slug_collection = "admin";
    slug_content = "it_content";
    tags_request = "    test,     case";
    tags_response = "test,case";
    defaultcreds = new UsernamePasswordCredentials("admin", "admin");

    authPrefs = new ArrayList(2);
    authPrefs.add(AuthPolicy.DIGEST);
    authPrefs.add(AuthPolicy.BASIC);

    client.getParams().setAuthenticationPreemptive(true);
    client.getState().setCredentials(AuthScope.ANY, defaultcreds);
    client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    // Delete the collection
    System.out.println("Delete collection: " + SLING_URL + COL_URL + col_title);
    PostMethod post_delete = new PostMethod(SLING_URL + COL_URL + col_title);
    NameValuePair[] data_delete = { new NameValuePair(":operation", "delete"), };

    post_delete.setDoAuthentication(true);
    post_delete.setRequestBody(data_delete);

    try {
        client.executeMethod(post_delete);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }
    post_delete.releaseConnection();

    // Create collection
    System.out.println("Create collection");
    PostMethod post_create_col = new PostMethod(SLING_URL + COL_URL + col_title);
    post_create_col.setDoAuthentication(true);

    NameValuePair[] data_create_col = { new NameValuePair("sling:resourceType", "gad/collection"),
            new NameValuePair("title", col_title), new NameValuePair("schema", schema),
            new NameValuePair("subtitle", ""), new NameValuePair("extern_storage", "on"),
            new NameValuePair("picture", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };
    post_create_col.setRequestBody(data_create_col);
    // post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create_col);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Collection created
    assertEquals(post_create_col.getStatusCode(), 201);
    post_create_col.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Create content in collection
    System.out.println("Create content in collection");
    PostMethod post_create_content = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    post_create_content.setDoAuthentication(true);

    NameValuePair[] data_create_content = { new NameValuePair("sling:resourceType", "gad/content"),
            new NameValuePair("title", content_title), new NameValuePair("schema", schema),
            new NameValuePair("description",
                    "Content description generated by test case. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."),
            new NameValuePair("author", "Test case"), new NameValuePair("origin", "Test case"),
            new NameValuePair("lang", "es"), new NameValuePair("tags", "test case"),
            new NameValuePair("tags@TypeHint", "String[]"), new NameValuePair("state", "pending"),
            new NameValuePair("jcr:created", ""), new NameValuePair("jcr:createdBy", ""),
            new NameValuePair("jcr:lastModified", ""), new NameValuePair("jcr:lastModifiedBy", "") };
    post_create_content.setRequestBody(data_create_content);
    // post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Content created
    assertEquals(post_create_content.getStatusCode(), 201);
    post_create_content.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Create the source
    System.out.println("Create source in content");
    PostMethod post_create = new PostMethod(SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/" + source_title);
    System.out.println("Request: " + SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/" + source_title);
    post_create.setDoAuthentication(true);
    NameValuePair[] data_create = { new NameValuePair("sling:resourceType", "gad/source"),
            new NameValuePair("title", source_title), new NameValuePair("file", ""),
            new NameValuePair("mimetype", ""), new NameValuePair("text_encoding", ""),
            new NameValuePair("lang", ""), new NameValuePair("length", ""), new NameValuePair("size", ""),
            new NameValuePair("type", ""), new NameValuePair("bitrate", ""), new NameValuePair("tags", ""),
            new NameValuePair("tracks_number", ""), new NameValuePair("track_1_type", ""),
            new NameValuePair("track_1_encoding", ""), new NameValuePair("track_1_features", ""),
            new NameValuePair("track_2_type", ""), new NameValuePair("track_2_encoding", ""),
            new NameValuePair("track_2_features", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };
    post_create.setRequestBody(data_create);
    // post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_create.getStatusCode(), 201);
    post_create.releaseConnection();

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Send the content to revision
    System.out.println("Send the content to revision");
    PostMethod post_send_to_revision = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    String catalog_pending_url = CATALOG_URL + PENDING_FOLDER + "/";
    System.out.println("Catalog url: " + catalog_pending_url);
    System.out.println("Send to revision: " + SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title);
    post_send_to_revision.setDoAuthentication(true);

    NameValuePair[] data_send_to_revision = { new NameValuePair(":operation", "copy"),
            new NameValuePair(":dest", catalog_pending_url), new NameValuePair("replace", "true") };
    post_send_to_revision.setRequestBody(data_send_to_revision);
    try {
        client.executeMethod(post_send_to_revision);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_send_to_revision.getStatusCode(), 201);
    post_send_to_revision.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Deny revision
    System.out.println("Deny revision");
    PostMethod post_deny_revision = new PostMethod(
            SLING_URL + CATALOG_URL + PENDING_FOLDER + "/" + content_title);
    String catalog_denied_url = CATALOG_URL + DENIED_FOLDER + "/";
    System.out.println("Deny Revision: " + SLING_URL + CATALOG_URL + PENDING_FOLDER + "/" + content_title);
    post_send_to_revision.setDoAuthentication(true);

    NameValuePair[] data_deny_revision = { new NameValuePair(":operation", "move"),
            new NameValuePair(":dest", catalog_denied_url), new NameValuePair("replace", "true") };
    post_deny_revision.setRequestBody(data_deny_revision);
    try {
        client.executeMethod(post_deny_revision);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_deny_revision.getStatusCode(), 201);
    post_deny_revision.releaseConnection();
}

From source file:org.iavante.sling.gad.catalog.PendingServiceIT.java

protected void setUp() {

    Map<String, String> envs = System.getenv();
    Set<String> keys = envs.keySet();

    Iterator<String> it = keys.iterator();
    boolean hashost = false;
    while (it.hasNext()) {
        String key = (String) it.next();

        if (key.compareTo(HOSTVAR) == 0) {
            SLING_URL = SLING_URL + (String) envs.get(key);
            hashost = true;/* w w w .j  ava  2s. c o  m*/
        }
    }
    if (hashost == false)
        SLING_URL = SLING_URL + HOSTPREDEF;

    client = new HttpClient();
    col_title = "it_col";
    content_title = "it_content";
    source_title = "it_source";
    file = "it.flv";
    mimetype = "video/flv";
    schema = "default";
    title = "Test case content";
    schema = "default";
    slug_collection = "admin";
    slug_content = "it_content";
    tags_request = "    test,     case";
    tags_response = "test,case";
    defaultcreds = new UsernamePasswordCredentials("admin", "admin");

    authPrefs = new ArrayList(2);
    authPrefs.add(AuthPolicy.DIGEST);
    authPrefs.add(AuthPolicy.BASIC);

    client.getParams().setAuthenticationPreemptive(true);
    client.getState().setCredentials(AuthScope.ANY, defaultcreds);
    client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    // Delete the collection
    System.out.println("Delete collection: " + SLING_URL + COL_URL + col_title);
    PostMethod post_delete = new PostMethod(SLING_URL + COL_URL + col_title);
    NameValuePair[] data_delete = { new NameValuePair(":operation", "delete"), };

    post_delete.setDoAuthentication(true);
    post_delete.setRequestBody(data_delete);

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    try {
        client.executeMethod(post_delete);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }
    post_delete.releaseConnection();

    // Create collection
    PostMethod post_create_col = new PostMethod(SLING_URL + COL_URL + col_title);
    post_create_col.setDoAuthentication(true);

    NameValuePair[] data_create_col = { new NameValuePair("sling:resourceType", "gad/collection"),
            new NameValuePair("title", col_title), new NameValuePair("schema", schema),
            new NameValuePair("subtitle", ""), new NameValuePair("extern_storage", "on"),
            new NameValuePair("picture", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };
    post_create_col.setRequestBody(data_create_col);
    // post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create_col);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Collection created
    assertEquals(post_create_col.getStatusCode(), 201);
    post_create_col.releaseConnection();

    try {
        Thread.sleep(8000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Create content in collection
    PostMethod post_create_content = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    post_create_content.setDoAuthentication(true);

    NameValuePair[] data_create_content = { new NameValuePair("sling:resourceType", "gad/content"),
            new NameValuePair("title", content_title), new NameValuePair("schema", schema),
            new NameValuePair("description",
                    "Content description generated by test case. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."),
            new NameValuePair("author", "Test case"), new NameValuePair("origin", "Test case"),
            new NameValuePair("lang", "es"), new NameValuePair("tags", "test case"),
            new NameValuePair("tags@TypeHint", "String[]"), new NameValuePair("state", "pending"),
            new NameValuePair("jcr:created", ""), new NameValuePair("jcr:createdBy", ""),
            new NameValuePair("jcr:lastModified", ""), new NameValuePair("jcr:lastModifiedBy", "") };
    post_create_content.setRequestBody(data_create_content);
    // post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Content created
    assertEquals(post_create_content.getStatusCode(), 201);
    post_create_content.releaseConnection();

    try {
        Thread.sleep(8000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Edit content in collection
    PostMethod post_edit_content = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    post_create_content.setDoAuthentication(true);

    NameValuePair[] data_edit_content = { new NameValuePair("sling:resourceType", "gad/content"),
            new NameValuePair("title", content_title), new NameValuePair("schema", schema),
            new NameValuePair("description", "Content description edited."),
            new NameValuePair("author", "Test case edited"), new NameValuePair("origin", "Test case edite"),
            new NameValuePair("lang", "es"), new NameValuePair("tags", "test case"),
            new NameValuePair("tags@TypeHint", "String[]"), new NameValuePair("state", "pending"),
            new NameValuePair("jcr:created", ""), new NameValuePair("jcr:createdBy", ""),
            new NameValuePair("jcr:lastModified", ""), new NameValuePair("jcr:lastModifiedBy", "") };
    post_edit_content.setRequestBody(data_edit_content);
    // post.setDoAuthentication(true);
    try {
        client.executeMethod(post_edit_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Content edited
    assertEquals(post_edit_content.getStatusCode(), 200);
    post_create_content.releaseConnection();

    try {
        Thread.sleep(8000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Create the source
    PostMethod post_create = new PostMethod(SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/" + source_title);
    System.out.println("Request: " + SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/" + source_title);
    post_create.setDoAuthentication(true);
    NameValuePair[] data_create = { new NameValuePair("sling:resourceType", "gad/source"),
            new NameValuePair("title", source_title), new NameValuePair("file", ""),
            new NameValuePair("mimetype", ""), new NameValuePair("text_encoding", ""),
            new NameValuePair("lang", ""), new NameValuePair("length", ""), new NameValuePair("size", ""),
            new NameValuePair("type", ""), new NameValuePair("bitrate", ""), new NameValuePair("tags", ""),
            new NameValuePair("tracks_number", ""), new NameValuePair("track_1_type", ""),
            new NameValuePair("track_1_encoding", ""), new NameValuePair("track_1_features", ""),
            new NameValuePair("track_2_type", ""), new NameValuePair("track_2_encoding", ""),
            new NameValuePair("track_2_features", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };
    post_create.setRequestBody(data_create);
    // post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_create.getStatusCode(), 201);
    post_create.releaseConnection();

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Send the content to revision
    PostMethod post_send_to_revision = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    String catalog_pending_url = CATALOG_URL + PENDING_FOLDER + "/";
    System.out.println("Catalog url: " + catalog_pending_url);
    System.out.println("Send to revision: " + SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title);
    post_send_to_revision.setDoAuthentication(true);

    NameValuePair[] data_send_to_revision = { new NameValuePair(":operation", "copy"),
            new NameValuePair(":dest", catalog_pending_url), new NameValuePair("replace", "true") };
    post_send_to_revision.setRequestBody(data_send_to_revision);
    try {
        client.executeMethod(post_send_to_revision);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_send_to_revision.getStatusCode(), 201);
    post_send_to_revision.releaseConnection();
}

From source file:org.iavante.sling.gad.catalog.RevisedServiceIT.java

protected void setUp() {

    Map<String, String> envs = System.getenv();
    Set<String> keys = envs.keySet();

    Iterator<String> it = keys.iterator();
    boolean hashost = false;
    while (it.hasNext()) {
        String key = (String) it.next();

        if (key.compareTo(HOSTVAR) == 0) {
            SLING_URL = SLING_URL + (String) envs.get(key);
            hashost = true;/*  w ww  .  j  av  a2s. c  o  m*/
        }
    }
    if (hashost == false)
        SLING_URL = SLING_URL + HOSTPREDEF;

    client = new HttpClient();
    col_title = "it_col";
    content_title = "it_content";
    source_title = "it_source";
    file = "it.flv";
    mimetype = "video/flv";
    schema = "default";
    title = "Test case content";
    schema = "default";
    slug_collection = "admin";
    slug_content = "it_content";
    tags_request = "    test,     case";
    tags_response = "test,case";

    tag1_input = "AEIOU";
    tag2_input = "Recetas Equilibradas";

    tag1_title = "aeiou";
    tag2_title = "recetas equilibradas";

    tag1_slug = "aeiou";
    tag2_slug = "recetas-equilibradas";

    defaultcreds = new UsernamePasswordCredentials("admin", "admin");

    authPrefs = new ArrayList(2);
    authPrefs.add(AuthPolicy.DIGEST);
    authPrefs.add(AuthPolicy.BASIC);

    client.getParams().setAuthenticationPreemptive(true);
    client.getState().setCredentials(AuthScope.ANY, defaultcreds);
    client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    // Delete the collection
    System.out.println("Delete collection: " + SLING_URL + COL_URL + col_title);
    PostMethod post_delete = new PostMethod(SLING_URL + COL_URL + col_title);
    NameValuePair[] data_delete = { new NameValuePair(":operation", "delete"), };

    post_delete.setDoAuthentication(true);
    post_delete.setRequestBody(data_delete);

    try {
        client.executeMethod(post_delete);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }
    post_delete.releaseConnection();

    // Create collection          
    System.out.println("Create collection");
    PostMethod post_create_col = new PostMethod(SLING_URL + COL_URL + col_title);
    post_create_col.setDoAuthentication(true);

    NameValuePair[] data_create_col = { new NameValuePair("sling:resourceType", "gad/collection"),
            new NameValuePair("title", col_title), new NameValuePair("schema", schema),
            new NameValuePair("subtitle", ""), new NameValuePair("extern_storage", "on"),
            new NameValuePair("picture", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };
    post_create_col.setRequestBody(data_create_col);
    //post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create_col);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Collection created
    assertEquals(post_create_col.getStatusCode(), 201);
    post_create_col.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Create content in collection   
    System.out.println("Create content in collection");
    PostMethod post_create_content = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    post_create_content.setDoAuthentication(true);

    NameValuePair[] data_create_content = { new NameValuePair("sling:resourceType", "gad/content"),
            new NameValuePair("title", content_title), new NameValuePair("schema", schema),
            new NameValuePair("description",
                    "Content description generated by test case. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."),
            new NameValuePair("author", "Test case"), new NameValuePair("origin", "Test case"),
            new NameValuePair("lang", "es"), new NameValuePair("tags", tag1_input),
            new NameValuePair("tags", tag2_input), new NameValuePair("tags@TypeHint", "String[]"),
            new NameValuePair("state", "pending"), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };
    post_create_content.setRequestBody(data_create_content);
    //post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Content created
    assertEquals(post_create_content.getStatusCode(), 201);
    post_create_content.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Create the source
    System.out.println("Create source in content");
    PostMethod post_create = new PostMethod(SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/" + source_title);
    System.out.println("Request: " + SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/" + source_title);
    post_create.setDoAuthentication(true);
    NameValuePair[] data_create = { new NameValuePair("sling:resourceType", "gad/source"),
            new NameValuePair("title", source_title), new NameValuePair("file", ""),
            new NameValuePair("mimetype", ""), new NameValuePair("text_encoding", ""),
            new NameValuePair("lang", ""), new NameValuePair("length", ""), new NameValuePair("size", ""),
            new NameValuePair("type", ""), new NameValuePair("bitrate", ""), new NameValuePair("tags", ""),
            new NameValuePair("tracks_number", ""), new NameValuePair("track_1_type", ""),
            new NameValuePair("track_1_encoding", ""), new NameValuePair("track_1_features", ""),
            new NameValuePair("track_2_type", ""), new NameValuePair("track_2_encoding", ""),
            new NameValuePair("track_2_features", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };
    post_create.setRequestBody(data_create);
    //post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_create.getStatusCode(), 201);
    post_create.releaseConnection();

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Send the content to revision
    System.out.println("Send the content to revision");
    PostMethod post_send_to_revision = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    String catalog_pending_url = CATALOG_URL + PENDING_FOLDER + "/";
    System.out.println("Catalog url: " + catalog_pending_url);
    System.out.println("Send to revision: " + SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title);
    post_send_to_revision.setDoAuthentication(true);

    NameValuePair[] data_send_to_revision = { new NameValuePair(":operation", "copy"),
            new NameValuePair(":dest", catalog_pending_url), new NameValuePair("replace", "true") };
    post_send_to_revision.setRequestBody(data_send_to_revision);
    try {
        client.executeMethod(post_send_to_revision);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_send_to_revision.getStatusCode(), 201);
    post_send_to_revision.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Revise the content
    System.out.println("Revise the content");
    PostMethod post_revise_content = new PostMethod(
            SLING_URL + CATALOG_URL + PENDING_FOLDER + "/" + content_title);
    String catalog_revised_url = CATALOG_URL + REVISED_FOLDER + "/";
    System.out.println("Revise content: " + SLING_URL + CATALOG_URL + PENDING_FOLDER + "/" + content_title);
    post_send_to_revision.setDoAuthentication(true);

    NameValuePair[] data_revise_content = { new NameValuePair(":operation", "move"),
            new NameValuePair(":dest", catalog_revised_url), new NameValuePair("replace", "true") };
    post_revise_content.setRequestBody(data_revise_content);
    try {
        client.executeMethod(post_revise_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_revise_content.getStatusCode(), 201);
    post_revise_content.releaseConnection();
}

From source file:org.iavante.sling.gad.channel.ChannelServiceIT.java

@org.junit.Before
protected void setUp() {

    Map<String, String> envs = System.getenv();
    Set<String> keys = envs.keySet();

    Iterator<String> it = keys.iterator();
    boolean hashost = false;
    while (it.hasNext()) {
        String key = (String) it.next();

        if (key.compareTo(HOSTVAR) == 0) {
            SLING_URL = SLING_URL + (String) envs.get(key);
            hashost = true;//from ww w.j  a va 2  s. c o  m
        }
    }
    if (hashost == false)
        SLING_URL = SLING_URL + HOSTPREDEF;

    client = new HttpClient();
    col_title = "it_col";
    content_title = "it_content";
    source_title = "it_source";
    file = "it_for_channel_tests.mpeg";
    mimetype = "video/flv";
    schema = "default";
    title = "Test case content";
    schema = "default";
    slug_collection = "admin";
    slug_content = "it_content";
    tags_request = "    test,     case";
    tags_response = "test,case";
    channel_title = "IT Channel";
    channel_slug = "it_channel";
    channel_subtitle = "it_channel";
    channel_schema = "default";
    channel_distribution_format = "preview";
    channel_distribution_server = "s3";
    source_default_slug = "fuente_default";

    tag1_input = "AEIOU";
    tag2_input = "Recetas Equilibradas";

    tag1_title = "aeiou";
    tag2_title = "recetas equilibradas";

    tag1_slug = "aeiou";
    tag2_slug = "recetas-equilibradas";
    defaultcreds = new UsernamePasswordCredentials("admin", "admin");

    authPrefs = new ArrayList(2);
    authPrefs.add(AuthPolicy.DIGEST);
    authPrefs.add(AuthPolicy.BASIC);

    client.getParams().setAuthenticationPreemptive(true);
    client.getState().setCredentials(AuthScope.ANY, defaultcreds);
    client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    client.getParams().setAuthenticationPreemptive(true);
    client.getState().setCredentials(AuthScope.ANY, defaultcreds);
    client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    // Delete the collection
    PostMethod post_delete = new PostMethod(SLING_URL + COL_URL + col_title);
    NameValuePair[] data_delete = { new NameValuePair(":operation", "delete"), };

    post_delete.setDoAuthentication(true);
    post_delete.setRequestBody(data_delete);

    try {
        client.executeMethod(post_delete);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }
    post_delete.releaseConnection();

    // Create collection
    PostMethod post_create_col = new PostMethod(SLING_URL + COL_URL + col_title);
    post_create_col.setDoAuthentication(true);

    NameValuePair[] data_create_col = { new NameValuePair("sling:resourceType", "gad/collection"),
            new NameValuePair("title", col_title), new NameValuePair("schema", schema),
            new NameValuePair("subtitle", ""), new NameValuePair("extern_storage", "on"),
            new NameValuePair("picture", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };
    post_create_col.setRequestBody(data_create_col);
    // post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create_col);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Collection created
    assertEquals(201, post_create_col.getStatusCode());
    post_create_col.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Create content in collection
    PostMethod post_create_content = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    post_create_content.setDoAuthentication(true);

    NameValuePair[] data_create_content = { new NameValuePair("sling:resourceType", "gad/content"),
            new NameValuePair("title", content_title), new NameValuePair("schema", schema),
            new NameValuePair("description",
                    "Content description generated by test case. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."),
            new NameValuePair("author", "Test case"), new NameValuePair("origin", "Test case"),
            new NameValuePair("lang", "es"), new NameValuePair("tags@TypeHint", "String[]"),
            new NameValuePair("tags", tag1_input), new NameValuePair("tags", tag2_input),
            new NameValuePair("state", "pending"), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };

    post_create_content.setRequestBody(data_create_content);

    try {
        client.executeMethod(post_create_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Content created
    assertEquals(201, post_create_content.getStatusCode());
    post_create_content.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Create the source
    PostMethod post_create = new PostMethod(SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/" + source_title);
    post_create.setDoAuthentication(true);
    NameValuePair[] data_create = { new NameValuePair("sling:resourceType", "gad/source"),
            new NameValuePair("title", source_title), new NameValuePair("file", file),
            new NameValuePair("mimetype", ""), new NameValuePair("text_encoding", ""),
            new NameValuePair("lang", ""), new NameValuePair("length", ""), new NameValuePair("size", ""),
            new NameValuePair("type", ""), new NameValuePair("bitrate", ""), new NameValuePair("tags", ""),
            new NameValuePair("tracks_number", ""), new NameValuePair("track_1_type", ""),
            new NameValuePair("track_1_encoding", ""), new NameValuePair("track_1_features", ""),
            new NameValuePair("track_2_type", ""), new NameValuePair("track_2_encoding", ""),
            new NameValuePair("track_2_features", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };

    post_create.setRequestBody(data_create);

    try {
        client.executeMethod(post_create);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(201, post_create.getStatusCode());
    post_create.releaseConnection();

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Send the content to revision
    PostMethod post_send_to_revision = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    String catalog_pending_url = CATALOG_URL + PENDING_FOLDER + "/";

    post_send_to_revision.setDoAuthentication(true);

    NameValuePair[] data_send_to_revision = { new NameValuePair(":operation", "copy"),
            new NameValuePair(":dest", catalog_pending_url), new NameValuePair("replace", "true") };

    post_send_to_revision.setRequestBody(data_send_to_revision);
    try {
        client.executeMethod(post_send_to_revision);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(201, post_send_to_revision.getStatusCode());
    post_send_to_revision.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Revise the content
    PostMethod post_revise_content = new PostMethod(
            SLING_URL + CATALOG_URL + PENDING_FOLDER + "/" + content_title);
    String catalog_revised_url = CATALOG_URL + REVISED_FOLDER + "/";
    post_send_to_revision.setDoAuthentication(true);

    NameValuePair[] data_revise_content = { new NameValuePair(":operation", "move"),
            new NameValuePair(":dest", catalog_revised_url), new NameValuePair("replace", "true") };
    post_revise_content.setRequestBody(data_revise_content);

    try {
        client.executeMethod(post_revise_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(201, post_revise_content.getStatusCode());
    post_revise_content.releaseConnection();

    // Create channel
    PostMethod post_create_channel = new PostMethod(SLING_URL + CHANNEL_URL + channel_slug);
    post_create_channel.setDoAuthentication(true);

    NameValuePair[] data_create_channel = { new NameValuePair("sling:resourceType", "gad/channel"),
            new NameValuePair("title", channel_title), new NameValuePair("schema", channel_schema),
            new NameValuePair("distribution_format", channel_distribution_format),
            new NameValuePair("distribution_server", channel_distribution_server),
            new NameValuePair("subtitle", channel_subtitle), new NameValuePair("picture", ""),
            new NameValuePair("jcr:created", ""), new NameValuePair("jcr:createdBy", ""),
            new NameValuePair("jcr:lastModified", ""), new NameValuePair("jcr:lastModifiedBy", ""),
            new NameValuePair("distribution_server_config", "{'test_prop': 'test_value'}") };
    post_create_channel.setRequestBody(data_create_channel);

    try {
        client.executeMethod(post_create_channel);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    post_create_channel.releaseConnection();

    try {
        Thread.sleep(4000);
    } catch (InterruptedException e1) {
        e1.printStackTrace();
    }

    // Publish the content
    PostMethod post_publish = new PostMethod(SLING_URL + CATALOG_URL + REVISED_FOLDER + "/" + content_title);
    String channel = CHANNEL_URL + channel_slug + "/contents/";
    post_publish.setDoAuthentication(true);

    NameValuePair[] data_publish = { new NameValuePair(":operation", "copy"),
            new NameValuePair(":dest", channel), new NameValuePair("replace", "true") };
    post_publish.setRequestBody(data_publish);
    try {
        client.executeMethod(post_publish);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(201, post_publish.getStatusCode());
    post_publish.releaseConnection();
}

From source file:org.iavante.sling.gad.channel.ChannelToolsIT.java

@org.junit.Before
protected void setUp() {

    Map<String, String> envs = System.getenv();
    Set<String> keys = envs.keySet();

    Iterator<String> it = keys.iterator();
    boolean hashost = false;
    while (it.hasNext()) {
        String key = (String) it.next();

        if (key.compareTo(HOSTVAR) == 0) {
            SLING_URL = SLING_URL + (String) envs.get(key);
            hashost = true;// ww w  .j  a va2s. com
        }
    }
    if (hashost == false)
        SLING_URL = SLING_URL + HOSTPREDEF;

    client = new HttpClient();
    col_title = "it_col";
    content_title = "it_content";
    source_title = "it_source";
    file = "it_for_channel_tests.mpeg";
    mimetype = "video/flv";
    schema = "default";
    title = "Test case content";
    schema = "default";
    slug_collection = "admin";
    slug_content = "it_content";
    tags_request = "    test,     case";
    tags_response = "test,case";
    channel_title = "IT Channel";
    channel_slug = "it_channel";
    channel_subtitle = "it_channel";
    channel_schema = "default";
    channel_distribution_format = "ies_web_medium,preview";
    channel_distribution_server = "s3";
    source_default_slug = "fuente_default";

    tag1_input = "AEIOU";
    tag2_input = "Recetas Equilibradas";

    tag1_title = "aeiou";
    tag2_title = "recetas equilibradas";

    tag1_slug = "aeiou";
    tag2_slug = "recetas-equilibradas";
    defaultcreds = new UsernamePasswordCredentials("admin", "admin");

    file_trans_preview = "file_preview.flv";
    file_trans_ies = "file_ies.flv";

    authPrefs = new ArrayList(2);
    authPrefs.add(AuthPolicy.DIGEST);
    authPrefs.add(AuthPolicy.BASIC);

    client.getParams().setAuthenticationPreemptive(true);
    client.getState().setCredentials(AuthScope.ANY, defaultcreds);
    client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    client.getParams().setAuthenticationPreemptive(true);
    client.getState().setCredentials(AuthScope.ANY, defaultcreds);
    client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    // Delete the collection
    PostMethod post_delete = new PostMethod(SLING_URL + COL_URL + col_title);
    NameValuePair[] data_delete = { new NameValuePair(":operation", "delete"), };

    post_delete.setDoAuthentication(true);
    post_delete.setRequestBody(data_delete);

    try {
        client.executeMethod(post_delete);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }
    post_delete.releaseConnection();

    // Create collection
    PostMethod post_create_col = new PostMethod(SLING_URL + COL_URL + col_title);
    post_create_col.setDoAuthentication(true);

    NameValuePair[] data_create_col = { new NameValuePair("sling:resourceType", "gad/collection"),
            new NameValuePair("title", col_title), new NameValuePair("schema", schema),
            new NameValuePair("subtitle", ""), new NameValuePair("extern_storage", "on"),
            new NameValuePair("picture", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };
    post_create_col.setRequestBody(data_create_col);
    // post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create_col);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Collection created
    assertEquals(201, post_create_col.getStatusCode());
    post_create_col.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Create content in collection
    PostMethod post_create_content = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    post_create_content.setDoAuthentication(true);

    NameValuePair[] data_create_content = { new NameValuePair("sling:resourceType", "gad/content"),
            new NameValuePair("title", content_title), new NameValuePair("schema", schema),
            new NameValuePair("description",
                    "Content description generated by test case. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."),
            new NameValuePair("author", "Test case"), new NameValuePair("origin", "Test case"),
            new NameValuePair("lang", "es"), new NameValuePair("tags@TypeHint", "String[]"),
            new NameValuePair("tags", tag1_input), new NameValuePair("tags", tag2_input),
            new NameValuePair("state", "pending"), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };

    post_create_content.setRequestBody(data_create_content);

    try {
        client.executeMethod(post_create_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Content created
    assertEquals(201, post_create_content.getStatusCode());
    post_create_content.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Create the source
    PostMethod post_create = new PostMethod(SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/" + source_title);
    post_create.setDoAuthentication(true);
    NameValuePair[] data_create = { new NameValuePair("sling:resourceType", "gad/source"),
            new NameValuePair("title", source_title), new NameValuePair("file", file),
            new NameValuePair("mimetype", ""), new NameValuePair("text_encoding", ""),
            new NameValuePair("lang", ""), new NameValuePair("length", ""), new NameValuePair("size", ""),
            new NameValuePair("type", ""), new NameValuePair("bitrate", ""), new NameValuePair("tags", ""),
            new NameValuePair("tracks_number", ""), new NameValuePair("track_1_type", ""),
            new NameValuePair("track_1_encoding", ""), new NameValuePair("track_1_features", ""),
            new NameValuePair("track_2_type", ""), new NameValuePair("track_2_encoding", ""),
            new NameValuePair("track_2_features", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };

    post_create.setRequestBody(data_create);

    try {
        client.executeMethod(post_create);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(201, post_create.getStatusCode());
    post_create.releaseConnection();

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Create transformation
    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Create the trans preview preview
    PostMethod post_create_trans = new PostMethod(SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/fuente_default/transformations/preview");
    post_create.setDoAuthentication(true);
    NameValuePair[] data_create_trans = { new NameValuePair("sling:resourceType", "gad/transformation"),
            new NameValuePair("file", file_trans_preview)

    };
    post_create_trans.setRequestBody(data_create_trans);

    try {
        client.executeMethod(post_create_trans);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(201, post_create_trans.getStatusCode());
    post_create_trans.releaseConnection();

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Create transformation
    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Create the trans ies
    PostMethod post_create_trans2 = new PostMethod(SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/fuente_default/transformations/ies_web_medium");
    post_create.setDoAuthentication(true);
    NameValuePair[] data_create_trans2 = { new NameValuePair("sling:resourceType", "gad/transformation"),
            new NameValuePair("file", file_trans_ies)

    };
    post_create_trans2.setRequestBody(data_create_trans2);

    try {
        client.executeMethod(post_create_trans2);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // assertEquals(201,post_create_trans2.getStatusCode());
    post_create_trans2.releaseConnection();

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Send the content to revision
    PostMethod post_send_to_revision = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    String catalog_pending_url = CATALOG_URL + PENDING_FOLDER + "/";

    post_send_to_revision.setDoAuthentication(true);

    NameValuePair[] data_send_to_revision = { new NameValuePair(":operation", "copy"),
            new NameValuePair(":dest", catalog_pending_url), new NameValuePair("replace", "true") };

    post_send_to_revision.setRequestBody(data_send_to_revision);
    try {
        client.executeMethod(post_send_to_revision);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(201, post_send_to_revision.getStatusCode());
    post_send_to_revision.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Revise the content
    PostMethod post_revise_content = new PostMethod(
            SLING_URL + CATALOG_URL + PENDING_FOLDER + "/" + content_title);
    String catalog_revised_url = CATALOG_URL + REVISED_FOLDER + "/";
    post_send_to_revision.setDoAuthentication(true);

    NameValuePair[] data_revise_content = { new NameValuePair(":operation", "move"),
            new NameValuePair(":dest", catalog_revised_url), new NameValuePair("replace", "true") };
    post_revise_content.setRequestBody(data_revise_content);

    try {
        client.executeMethod(post_revise_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(201, post_revise_content.getStatusCode());
    post_revise_content.releaseConnection();

    // Create channel
    PostMethod post_create_channel = new PostMethod(SLING_URL + CHANNEL_URL + channel_slug);
    post_create_channel.setDoAuthentication(true);

    NameValuePair[] data_create_channel = { new NameValuePair("sling:resourceType", "gad/channel"),
            new NameValuePair("title", channel_title), new NameValuePair("schema", channel_schema),
            new NameValuePair("distribution_server_config", "{'bucket':'test', 'public_read':'1'}"),
            new NameValuePair("distribution_format_video", channel_distribution_format),
            new NameValuePair("distribution_format_image", "preview"),
            new NameValuePair("distribution_server", channel_distribution_server),
            new NameValuePair("subtitle", channel_subtitle), new NameValuePair("picture", ""),
            new NameValuePair("jcr:created", ""), new NameValuePair("jcr:createdBy", ""),
            new NameValuePair("jcr:lastModified", ""), new NameValuePair("jcr:lastModifiedBy", ""), };
    post_create_channel.setRequestBody(data_create_channel);

    try {
        client.executeMethod(post_create_channel);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    post_create_channel.releaseConnection();

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Publish the content
    PostMethod post_publish = new PostMethod(SLING_URL + CATALOG_URL + REVISED_FOLDER + "/" + content_title);
    String channel = CHANNEL_URL + channel_slug + "/contents/";
    post_publish.setDoAuthentication(true);

    NameValuePair[] data_publish = { new NameValuePair(":operation", "copy"),
            new NameValuePair(":dest", channel), new NameValuePair("replace", "true") };
    post_publish.setRequestBody(data_publish);
    try {
        client.executeMethod(post_publish);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(201, post_publish.getStatusCode());
    post_publish.releaseConnection();
}

From source file:org.iavante.sling.gad.channel.ChannelValidationFilterIT.java

@org.junit.Before
protected void setUp() {

    Map<String, String> envs = System.getenv();
    Set<String> keys = envs.keySet();

    Iterator<String> it = keys.iterator();
    boolean hashost = false;
    while (it.hasNext()) {
        String key = (String) it.next();

        if (key.compareTo(HOSTVAR) == 0) {
            SLING_URL = SLING_URL + (String) envs.get(key);
            hashost = true;/*from ww  w . j a va  2  s.c  om*/
        }
    }
    if (hashost == false)
        SLING_URL = SLING_URL + HOSTPREDEF;

    client = new HttpClient();
    col_title = "it_col";
    content_title = "it_content";
    source_title = "it_source";
    file = "it_for_channel_tests.mpeg";
    mimetype = "video/flv";
    schema = "default";
    title = "Test case content";
    schema = "default";
    slug_collection = "admin";
    slug_content = "it_content";
    tags_request = "    test,     case";
    tags_response = "test,case";
    channel_title = "IT Channel";
    channel_slug = "it_channel";
    channel_subtitle = "it_channel";
    channel_schema = "default";
    channel_distribution_format = "preview";
    channel_distribution_server = "s3";
    source_default_slug = "fuente_default";
    defaultcreds = new UsernamePasswordCredentials("admin", "admin");

    authPrefs = new ArrayList(2);
    authPrefs.add(AuthPolicy.DIGEST);
    authPrefs.add(AuthPolicy.BASIC);

    client.getParams().setAuthenticationPreemptive(true);
    client.getState().setCredentials(AuthScope.ANY, defaultcreds);
    client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    client.getParams().setAuthenticationPreemptive(true);
    client.getState().setCredentials(AuthScope.ANY, defaultcreds);
    client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs);

    // Delete the collection
    PostMethod post_delete = new PostMethod(SLING_URL + COL_URL + col_title);
    NameValuePair[] data_delete = { new NameValuePair(":operation", "delete"), };

    post_delete.setDoAuthentication(true);
    post_delete.setRequestBody(data_delete);

    try {
        client.executeMethod(post_delete);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }
    post_delete.releaseConnection();

    // Create collection
    PostMethod post_create_col = new PostMethod(SLING_URL + COL_URL + col_title);
    post_create_col.setDoAuthentication(true);

    NameValuePair[] data_create_col = { new NameValuePair("sling:resourceType", "gad/collection"),
            new NameValuePair("title", col_title), new NameValuePair("schema", schema),
            new NameValuePair("subtitle", ""), new NameValuePair("extern_storage", "on"),
            new NameValuePair("picture", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };
    post_create_col.setRequestBody(data_create_col);
    // post.setDoAuthentication(true);
    try {
        client.executeMethod(post_create_col);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Collection created
    assertEquals(post_create_col.getStatusCode(), 201);
    post_create_col.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Create content in collection
    PostMethod post_create_content = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    post_create_content.setDoAuthentication(true);

    NameValuePair[] data_create_content = { new NameValuePair("sling:resourceType", "gad/content"),
            new NameValuePair("title", content_title), new NameValuePair("schema", schema),
            new NameValuePair("description",
                    "Content description generated by test case. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."),
            new NameValuePair("author", "Test case"), new NameValuePair("origin", "Test case"),
            new NameValuePair("lang", "es"), new NameValuePair("tags", "test case"),
            new NameValuePair("tags@TypeHint", "String[]"), new NameValuePair("state", "pending"),
            new NameValuePair("jcr:created", ""), new NameValuePair("jcr:createdBy", ""),
            new NameValuePair("jcr:lastModified", ""), new NameValuePair("jcr:lastModifiedBy", "") };

    post_create_content.setRequestBody(data_create_content);

    try {
        client.executeMethod(post_create_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    // Content created
    assertEquals(post_create_content.getStatusCode(), 201);
    post_create_content.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Create the source
    PostMethod post_create = new PostMethod(SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/"
            + content_title + "/" + SOURCES_FOLDER + "/" + source_title);
    post_create.setDoAuthentication(true);
    NameValuePair[] data_create = { new NameValuePair("sling:resourceType", "gad/source"),
            new NameValuePair("title", source_title), new NameValuePair("file", file),
            new NameValuePair("mimetype", ""), new NameValuePair("text_encoding", ""),
            new NameValuePair("lang", ""), new NameValuePair("length", ""), new NameValuePair("size", ""),
            new NameValuePair("type", ""), new NameValuePair("bitrate", ""), new NameValuePair("tags", ""),
            new NameValuePair("tracks_number", ""), new NameValuePair("track_1_type", ""),
            new NameValuePair("track_1_encoding", ""), new NameValuePair("track_1_features", ""),
            new NameValuePair("track_2_type", ""), new NameValuePair("track_2_encoding", ""),
            new NameValuePair("track_2_features", ""), new NameValuePair("jcr:created", ""),
            new NameValuePair("jcr:createdBy", ""), new NameValuePair("jcr:lastModified", ""),
            new NameValuePair("jcr:lastModifiedBy", "") };

    post_create.setRequestBody(data_create);

    try {
        client.executeMethod(post_create);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_create.getStatusCode(), 201);
    post_create.releaseConnection();

    try {
        Thread.sleep(5000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Send the content to revision
    PostMethod post_send_to_revision = new PostMethod(
            SLING_URL + COL_URL + col_title + "/" + CONTENTS_FOLDER + "/" + content_title);
    String catalog_pending_url = CATALOG_URL + PENDING_FOLDER + "/";

    post_send_to_revision.setDoAuthentication(true);

    NameValuePair[] data_send_to_revision = { new NameValuePair(":operation", "copy"),
            new NameValuePair(":dest", catalog_pending_url), new NameValuePair("replace", "true") };

    post_send_to_revision.setRequestBody(data_send_to_revision);
    try {
        client.executeMethod(post_send_to_revision);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_send_to_revision.getStatusCode(), 201);
    post_send_to_revision.releaseConnection();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Revise the content
    PostMethod post_revise_content = new PostMethod(
            SLING_URL + CATALOG_URL + PENDING_FOLDER + "/" + content_title);
    String catalog_revised_url = CATALOG_URL + REVISED_FOLDER + "/";
    post_send_to_revision.setDoAuthentication(true);

    NameValuePair[] data_revise_content = { new NameValuePair(":operation", "move"),
            new NameValuePair(":dest", catalog_revised_url), new NameValuePair("replace", "true") };
    post_revise_content.setRequestBody(data_revise_content);

    try {
        client.executeMethod(post_revise_content);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_revise_content.getStatusCode(), 201);
    post_revise_content.releaseConnection();

    // Create channel
    PostMethod post_create_channel = new PostMethod(SLING_URL + CHANNEL_URL + channel_slug);
    post_create_channel.setDoAuthentication(true);

    NameValuePair[] data_create_channel = { new NameValuePair("sling:resourceType", "gad/channel"),
            new NameValuePair("title", channel_title), new NameValuePair("schema", channel_schema),
            new NameValuePair("distribution_format", channel_distribution_format),
            new NameValuePair("distribution_server", channel_distribution_server),
            new NameValuePair("subtitle", channel_subtitle), new NameValuePair("picture", ""),
            new NameValuePair("jcr:created", ""), new NameValuePair("jcr:createdBy", ""),
            new NameValuePair("jcr:lastModified", ""), new NameValuePair("jcr:lastModifiedBy", "") };
    post_create_channel.setRequestBody(data_create_channel);

    try {
        client.executeMethod(post_create_channel);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    post_create_channel.releaseConnection();

    try {
        Thread.sleep(4000);
    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }

    // Publish the content
    PostMethod post_publish = new PostMethod(SLING_URL + CATALOG_URL + REVISED_FOLDER + "/" + content_title);
    String channel = CHANNEL_URL + channel_slug + "/contents/";
    post_publish.setDoAuthentication(true);

    NameValuePair[] data_publish = { new NameValuePair(":operation", "copy"),
            new NameValuePair(":dest", channel), new NameValuePair("replace", "true") };
    post_publish.setRequestBody(data_publish);
    try {
        client.executeMethod(post_publish);
    } catch (HttpException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    assertEquals(post_publish.getStatusCode(), 201);
    post_publish.releaseConnection();
}