public void setUp()

in src/main/java/org/apache/sling/launchpad/webapp/integrationtest/JspIncludeTest.java [64:144]


    public void setUp() throws Exception {
        H.setUp();

        // Create the test nodes under a path that's specific to this class to
        // allow collisions
        final String url = HttpTest.HTTP_BASE_URL + "/" + getClass().getSimpleName() + "/" + System.currentTimeMillis()
                + SlingPostConstants.DEFAULT_CREATE_SUFFIX;
        final Map<String, String> props = new HashMap<String, String>();

        // Create two test nodes and store their paths
        testTextA = "Text A " + System.currentTimeMillis();
        props.put("text", testTextA);
        nodeUrlA = H.getTestClient().createNode(url, props);
        String pathToInclude = nodeUrlA.substring(HttpTest.HTTP_BASE_URL.length());

        // Node B stores the path of A, so that the test script can
        // include A when rendering B
        testTextB = "Text B " + System.currentTimeMillis();
        props.put("text", testTextB);
        props.put("pathToInclude", pathToInclude);
        nodeUrlB = H.getTestClient().createNode(url, props);

        // Node E is like B but with an extension on the include path
        props.put("pathToInclude", pathToInclude + ".html");
        nodeUrlE = H.getTestClient().createNode(url, props);

        // Node F is used for the max calls detection test
        props.put("testMaxCalls", "true");
        nodeUrlF = H.getTestClient().createNode(url, props);

        // Node C is used for the infinite loop detection test
        props.remove("pathToInclude");
        props.remove("testMaxCalls");
        props.put("testInfiniteLoop", "true");
        nodeUrlC = H.getTestClient().createNode(url, props);

        // Node D is used for the "force resource type" test
        forcedResourceType = getClass().getSimpleName() + "/" + System.currentTimeMillis();
        props.remove("testInfiniteLoop");
        props.put("forceResourceType", forcedResourceType);
        props.put("pathToInclude", pathToInclude);
        nodeUrlD = H.getTestClient().createNode(url, props);

        // Node G is used for the basic "call" test
        props.remove("forceResourceType");
        props.remove("pathToInclude");
        props.put("testCallScript", "called-test.jsp");
        nodeUrlG = H.getTestClient().createNode(url, props);

        // Node I is used for the "var" test
        props.remove("forceResourceType");
        props.remove("testCallScript");
        props.put("testVarInclude", "true");
        props.put("pathToInclude", pathToInclude);
        props.put("VAR_INCLUDE", "VALUE");
        nodeUrlI = H.getTestClient().createNode(url, props);

        // Script for forced resource type
        H.setScriptPath("/apps/" + forcedResourceType);
        H.getTestClient().mkdirs(HttpTest.WEBDAV_BASE_URL, H.getScriptPath());
        toDelete.add(H.uploadTestScript(H.getScriptPath(), "include-forced.jsp", "html.jsp"));

        // The main rendering script goes under /apps in the repository
        H.setScriptPath("/apps/nt/unstructured");
        H.getTestClient().mkdirs(HttpTest.WEBDAV_BASE_URL, H.getScriptPath());
        toDelete.add(H.uploadTestScript(H.getScriptPath(), "include-test.jsp", "html.jsp"));
        toDelete.add(H.uploadTestScript(H.getScriptPath(), "called-test.jsp", "called-test.jsp"));

        // Node H is used for "call" test where the called script is inherited from the supertype
        String nodeHResourceType = getClass().getSimpleName() + "/" + System.currentTimeMillis();
        String nodeHSuperResourceType = getClass().getSimpleName() + "/super" + System.currentTimeMillis();
        props.put("sling:resourceType", nodeHResourceType);
        props.put("sling:resourceSuperType", nodeHSuperResourceType);
        nodeUrlH = H.getTestClient().createNode(url, props);
        H.setScriptPath("/apps/" + nodeHResourceType);
        H.getTestClient().mkdirs(HttpTest.WEBDAV_BASE_URL, H.getScriptPath());
        toDelete.add(H.uploadTestScript(H.getScriptPath(), "calling-test.jsp", "html.jsp"));
        H.setScriptPath("/apps/" + nodeHSuperResourceType);
        H.getTestClient().mkdirs(HttpTest.WEBDAV_BASE_URL, H.getScriptPath());
        toDelete.add(H.uploadTestScript(H.getScriptPath(), "called-test.jsp", "called-test.jsp"));
    }