package org.jboss.loom.utils.compar;
import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.io.filefilter.FileFilterUtils;
import static org.junit.Assert.*;
import org.junit.Test;
/**
*
* @author Ondrej Zizka, ozizka at redhat.com
*/
public class FileHashComparerTest {
public FileHashComparerTest() {
}
private static final String STR_ORACLE_DS = "oracle-ds.xml";
private static final String STR_DATASOURCES = "datasources.xml";
private static final String STR_NON_EXISTENT = "non-existent.foo";
private static final Path PATH_ORACLE_DS = Paths.get("testdata/singleFiles/oracle-ds.xml");
private static final Path PATH_DATASOURCES = Paths.get("testdata/singleFiles/datasources.xml");
private static final Path PATH_NON_EXISTENT = Paths.get("testdata/singleFiles/non-existent.foo");
/**
* Test of compareHashesAndDir method, of class FileHashComparer.
*/
@Test
public void testCompareHashesAndDir() throws Exception {
System.out.println( "compareHashesAndDir" );
File hashes = new File("testdata/utils/crc32hashes.txt");
File dir = new File("./testdata/singleFiles/");
Map<File, FileHashComparer.MatchResult> expResult = new HashMap();
expResult.put(hashes, FileHashComparer.MatchResult.MATCH);
//long crc32 = FileHashComparer.computeCrc32(new File("testdata/singleFiles/oracle-ds.xml"));
ComparisonResult results = FileHashComparer.compareHashesAndDir( hashes, dir, FileFilterUtils.trueFileFilter());
assertEquals( FileHashComparer.MatchResult.MATCH, results.getMatches().get(PATH_ORACLE_DS) );
assertEquals( FileHashComparer.MatchResult.MISMATCH, results.getMatches().get(PATH_DATASOURCES) );
assertEquals( FileHashComparer.MatchResult.MISSING, results.getMatches().get(PATH_NON_EXISTENT) );
}
/**
* Test of readHashFile method, of class FileHashComparer.
*/
@Test
public void testReadHashFile() throws Exception {
System.out.println( "readHashFile" );
File hashes = new File("testdata/utils/crc32hashes.txt");
Map<String, Long> result = FileHashComparer.readHashes( hashes );
assertEquals( Long.valueOf(0xf735fe81L), result.get(STR_ORACLE_DS) );
assertEquals( Long.valueOf(0x10000000L), result.get(STR_DATASOURCES) );
assertEquals( Long.valueOf(0x20000000L), result.get(STR_NON_EXISTENT) );
}
}