public void testCheckInCommandTest()

in maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java [52:122]


    public void testCheckInCommandTest() throws Exception {
        // Make sure that the correct files was checked out
        File fooJava = new File(getWorkingCopy(), "src/main/java/Foo.java");

        File barJava = new File(getWorkingCopy(), "src/main/java/Bar.java");

        File readmeTxt = new File(getWorkingCopy(), "readme.txt");

        assertFalse("check Foo.java doesn't yet exist", fooJava.canRead());

        assertFalse("check Bar.java doesn't yet exist", barJava.canRead());

        assertTrue("check can read readme.txt", readmeTxt.canRead());

        // Change the files
        createFooJava(fooJava);

        createBarJava(barJava);

        changeReadmeTxt(readmeTxt);

        AddScmResult addResult = getScmManager()
                .add(getScmRepository(), new ScmFileSet(getWorkingCopy(), "src/main/java/Foo.java", null));

        assertResultIsSuccess(addResult);

        List<ScmFile> files = addResult.getAddedFiles();
        assertNotNull(files);
        assertEquals(1, files.size());
        // SCM-998: filename separators not yet harmonized
        assertEquals(
                "src/main/java/Foo.java",
                FilenameUtils.normalizeFilename(files.get(0).getPath()));

        CheckInScmResult result =
                getScmManager().checkIn(getScmRepository(), new ScmFileSet(getWorkingCopy()), "Commit message");

        assertResultIsSuccess(result);

        files = result.getCheckedInFiles();
        assertNotNull(files);
        assertEquals(2, files.size());

        Map<String, ScmFile> fileMap = mapFilesByPath(files);
        ScmFile file1 = fileMap.get("src/main/java/Foo.java");
        assertNotNull(file1);
        assertEquals(ScmFileStatus.CHECKED_IN, file1.getStatus());

        ScmFile file2 = fileMap.get("readme.txt");
        assertNotNull(file2);
        assertEquals(ScmFileStatus.CHECKED_IN, file2.getStatus());

        CheckOutScmResult checkoutResult =
                getScmManager().checkOut(getScmRepository(), new ScmFileSet(getAssertionCopy()));

        assertResultIsSuccess(checkoutResult);

        fooJava = new File(getAssertionCopy(), "src/main/java/Foo.java");

        barJava = new File(getAssertionCopy(), "src/main/java/Bar.java");

        readmeTxt = new File(getAssertionCopy(), "readme.txt");

        assertTrue("check can read Foo.java", fooJava.canRead());

        assertFalse("check Bar.java doesn't exist", barJava.canRead());

        assertTrue("check can read readme.txt", readmeTxt.canRead());

        assertEquals("check readme.txt contents", "changed file", FileUtils.fileRead(readmeTxt));
    }