package org.jtalks.poulpe.util.databasebackup.dbdump;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.Writer;
import java.sql.SQLException;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class HeaderAndDataAwareCommandTest {
@BeforeMethod
public void beforeMethod() {
sut = new HeaderAndDataAwareCommand() {
@Override
protected void putHeader(Writer writer) throws IOException {
writer.write(getHeaderReturn);
}
@Override
protected void putData(Writer writer) throws IOException {
writer.write(getDataReturn);
}
};
}
@Test
public void executeHeaderAndDataAwareCommand() throws SQLException, IOException {
String expectedOutput = getHeaderReturn
+ HeaderAndDataAwareCommand.LINEFEED
+ getDataReturn
+ HeaderAndDataAwareCommand.LINEFEED
+ HeaderAndDataAwareCommand.LINEFEED;
OutputStream output = new ByteArrayOutputStream();
sut.execute(output);
Assert.assertEquals(expectedOutput, output.toString());
}
private HeaderAndDataAwareCommand sut;
private final String getHeaderReturn = "getHeader method";
private final String getDataReturn = "getData method";
}