package com.amazonaws.services.neptune; import com.amazonaws.services.neptune.export.NeptuneExportRunner; import org.junit.Test; import java.io.File; import static org.junit.Assert.assertTrue; public class ExportPgFromQueriesIntegrationTest extends AbstractExportIntegrationTest{ @Test public void testExportPgFromQueries() { final String[] command = {"export-pg-from-queries", "-e", neptuneEndpoint, "-d", outputDir.getPath(), "-q", "airport=g.V().hasLabel('airport').has('runways', gt(2)).project('code', 'runways', 'city', 'country').by('code').by('runways').by('city').by('country')" }; final NeptuneExportRunner runner = new NeptuneExportRunner(command); runner.run(); final File resultDir = outputDir.listFiles()[0]; assertEquivalentResults(new File("src/test/resources/IntegrationTest/testExportPgFromQueries"), resultDir); } @Override protected void assertEquivalentResults(final File expected, final File actual) { assertTrue("queries.json does not match expected results", areJsonContentsEqual(expected.listFiles((dir, name) -> name.equals("queries.json"))[0], actual.listFiles((dir, name) -> name.equals("queries.json"))[0])); for (File expectedResultsDir : expected.listFiles((dir, name) -> name.equals("results"))[0].listFiles()) { assertTrue(expectedResultsDir.isDirectory()); String dirName = expectedResultsDir.getName(); assertTrue("results/"+dirName+" directory does not match expected results", areLabelledDirContentsEquivalent(expectedResultsDir, new File(actual+"/results/"+dirName), dirName)); } } }