public void testWithSpaces()

in wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/AbstractEmbeddedScpWagonWithKeyTest.java [92:143]


    public void testWithSpaces() throws Exception {
        String dir = "foo   test";
        File spaceDirectory = new File(TestData.getRepoPath(), dir);
        if (spaceDirectory.exists()) {
            FileUtils.deleteDirectory(spaceDirectory);
        }
        spaceDirectory.mkdirs();

        String subDir = "foo bar";
        File sub = new File(spaceDirectory, subDir);
        if (sub.exists()) {
            FileUtils.deleteDirectory(sub);
        }
        sub.mkdirs();

        File dummy = new File("src/test/resources/dummy.txt");
        FileUtils.copyFileToDirectory(dummy, sub);

        String url = getTestRepositoryUrl() + "/" + dir;
        Repository repo = new Repository("foo", url);
        Wagon wagon = getWagon();
        wagon.connect(repo, getAuthInfo());
        List<String> files = wagon.getFileList(subDir);
        assertNotNull(files);
        assertEquals(1, files.size());
        assertTrue(files.contains("dummy.txt"));

        wagon.put(new File("src/test/resources/dummy.txt"), subDir + "/newdummy.txt");

        files = wagon.getFileList(subDir);
        assertNotNull(files);
        assertEquals(2, files.size());
        assertTrue(files.contains("dummy.txt"));
        assertTrue(files.contains("newdummy.txt"));

        File sourceWithSpace = new File("target/directory with spaces");
        if (sourceWithSpace.exists()) {
            FileUtils.deleteDirectory(sourceWithSpace);
        }
        File resources = new File("src/test/resources");

        FileUtils.copyDirectory(resources, sourceWithSpace);

        wagon.putDirectory(sourceWithSpace, "target with spaces");

        files = wagon.getFileList("target with spaces");

        assertNotNull(files);
        assertTrue(files.contains("dummy.txt"));
        assertFalse(files.contains("newdummy.txt"));
        assertTrue(files.contains("log4j.xml"));
    }