package com.liferay.ide.project.ui.migration;
import com.liferay.blade.migration.api.Problem;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class WorkspaceMigrationImplTest {
private static final String TMPDIR = System.getProperty("java.io.tmpdir");
String _expectedXml =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
"<WorkspaceMigration>\n"+
"<Problem endOffset=\"20\" file=\"" + TMPDIR + "\" lineNumber=\"999\" number=\"0\" startOffset=\"10\" summary=\"foobar\" ticket=\"LPS-123\" title=\"foo\" type=\"test\" url=\"bar\"/>\n"+
"<Problem endOffset=\"202\" file=\"" + TMPDIR + "\" lineNumber=\"9992\" number=\"0\" startOffset=\"102\" summary=\"foobar2\" ticket=\"LPS-1232\" title=\"foo2\" type=\"test2\" url=\"bar2\"/>\n"+
"</WorkspaceMigration>";
List<Problem> _sampleProblems = new ArrayList<>();
public WorkspaceMigrationImplTest() {
_sampleProblems.add(new Problem("foo", "bar", "foobar", "test", "LPS-123", new File(TMPDIR), 999, 10, 20, false));
_sampleProblems.add(new Problem("foo2", "bar2", "foobar2", "test2", "LPS-1232", new File(TMPDIR), 9992, 102, 202, false));
}
@Before
public void deleteExistingDataFile() throws Exception {
IO.delete(IO.getFile("generated/test/migration.xml"));
}
@Test
public void mementoWrite() throws Exception {
WorkspaceMigrationImpl impl = new WorkspaceMigrationImpl();
impl._migrationFile = IO.getFile("generated/test/migration.xml");
impl.problemsFound(_sampleProblems);
assertTrue(impl._migrationFile.exists());
assertEquals(_expectedXml, new String(IO.read(impl._migrationFile)));
}
@Test
public void mementoRead() throws Exception {
try {
mementoWrite();
}
catch (Throwable e) {
//ignore
}
WorkspaceMigrationImpl impl = new WorkspaceMigrationImpl();
impl._migrationFile = IO.getFile("generated/test/migration.xml");
List<Problem> storedProblems = impl.getStoredProblems(false);
assertTrue( storedProblems != null && storedProblems.size() == 2);
assertEquals("foo", storedProblems.get(0).title);
assertEquals("foo2", storedProblems.get(1).title);
}
}