package edu.mayo.bior.cli.func; import static org.junit.Assert.assertEquals; import java.io.IOException; import org.junit.Test; import com.jayway.jsonpath.JsonPath; public class ESPITCase extends BaseFunctionalTest { @Test public void testVariantFound() throws IOException, InterruptedException { System.out.println("ESP Functional Test: VariantFound in sample catalog..."); String espsample = "src/test/resources/miniCatalog/espsample.tsv.bgz"; String jsonVar = "21\t26960070\trs116645811\tG\tA\t.\t.\t.\t{\"CHROM\":\"21\",\"POS\":\"26960070\",\"ID\":\"rs116645811\",\"REF\":\"G\",\"ALT\":\"A\",\"QUAL\":\".\",\"FILTER\":\".\",\"_id\":\"rs116645811\",\"_type\":\"variant\",\"_landmark\":\"21\",\"_refAllele\":\"G\",\"_altAlleles\":[\"A\"],\"_minBP\":26960070,\"_maxBP\":26960070}"; CommandOutput out = executeScript("bior_same_variant", jsonVar, "-d", espsample); //System.out.println(out.stderr); assertEquals(out.stderr, 0, out.exit); assertEquals("", out.stderr); String header = getHeader(out.stdout); //System.out.println("Header="+header); // pull out just data rows String data = out.stdout.replace(header, ""); //System.out.println("data=\n"+data); // JSON should be added as last column (9th) String[] cols = data.split("\t"); //System.out.println(cols.length); //assertEquals(10, cols.length); String json = cols[cols.length - 1]; //System.out.println("json="+json); assertEquals("21", JsonPath.compile("CHROM").read(json)); //These are retrieved from the catalog - info column //System.out.println(JsonPath.compile("INFO.DBSNP").read(json)); assertEquals("[\"dbSNP_132\"]", JsonPath.compile("INFO.DBSNP").read(json).toString()); assertEquals("[\"possibly-damaging\",\".\"]", JsonPath.compile("INFO.PH").read(json).toString()); } }