package com.linkedin.pegasus.generator;
import com.google.common.io.Files;
import com.linkedin.data.schema.NamedDataSchema;
import com.linkedin.data.schema.resolver.MultiFormatDataSchemaResolver;
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
public class TestPegasusDataTemplateGenerator {
private static final String FS = File.separator;
private static final String testDir = System.getProperty("testDir");
private static final String pegasusDir = testDir + FS + "resources" + FS + "generator";
@DataProvider(name = "withoutResolverCases")
private Object[][] createWithoutResolverCases() {
return new String[][] {
new String[] {"WithoutResolverExample.pdsc", "WithoutResolverExample.java", "WithoutResolverExample"},
new String[] {"WithoutResolverExample.pdl", "WithoutResolverExample.java", "WithoutResolverExample"}
};
}
@Test(dataProvider = "withoutResolverCases")
public void testRunGeneratorWithoutResolver(String pegasusFilename, String generatedFilename,
String pegasusTypeName) throws Exception {
String temp = Files.createTempDir().getAbsolutePath();
File pegasusFile = new File(pegasusDir + FS + pegasusFilename);
PegasusDataTemplateGenerator.main(new String[] {temp, pegasusFile.getAbsolutePath()});
File generated = new File(temp, generatedFilename);
assertTrue(generated.exists());
String generatedSource = FileUtils.readFileToString(generated);
assertTrue(generatedSource.contains("class " + pegasusTypeName));
}
}