Github user xubo245 commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2919#discussion_r242583087
  
    --- Diff: 
store/sdk/src/test/java/org/apache/carbondata/sdk/file/CarbonSchemaReaderTest.java
 ---
    @@ -236,6 +243,113 @@ public void testReadSchemaWithDifferentSchema() {
         }
       }
     
    +  @Test
    +  public void testGetVersionDetailsAndValidate() {
    +    try {
    +      String versionDetails = CarbonSchemaReader
    +          .getVersionDetails(path);
    +      Assert.assertTrue(versionDetails.contains("CarbonSchemaReaderTest in 
version: "));
    +    } catch (Throwable e) {
    +      e.printStackTrace();
    +      Assert.fail();
    +    }
    +  }
    +
    +  @Test
    +  public void testGetVersionDetailsWithoutValidate() {
    +    try {
    +      String versionDetails = CarbonSchemaReader
    +          .getVersionDetails(path);
    +      Assert.assertTrue(versionDetails.contains("CarbonSchemaReaderTest in 
version: "));
    +    } catch (Throwable e) {
    +      e.printStackTrace();
    +      Assert.fail();
    +    }
    +  }
    +
    +  @Test
    +  public void testGetVersionDetailsWithCarbonDataFile() {
    +    try {
    +      File[] dataFiles = new File(path).listFiles(new FilenameFilter() {
    +        @Override
    +        public boolean accept(File dir, String name) {
    +          return name.endsWith(CARBON_DATA_EXT);
    +        }
    +      });
    +      String versionDetails = 
CarbonSchemaReader.getVersionDetails(dataFiles[0].getAbsolutePath());
    +      Assert.assertTrue(versionDetails.contains("CarbonSchemaReaderTest in 
version: "));
    +    } catch (Throwable e) {
    +      e.printStackTrace();
    +      Assert.fail();
    +    }
    +  }
    +
    +  @Test
    +  public void testGetVersionDetailsWithCarbonIndexFile() {
    +    try {
    +      File[] indexFiles = new File(path).listFiles(new FilenameFilter() {
    +        @Override
    +        public boolean accept(File dir, String name) {
    +          return name.endsWith(INDEX_FILE_EXT);
    +        }
    +      });
    +      
CarbonSchemaReader.getVersionDetails(indexFiles[0].getAbsolutePath());
    +      Assert.fail();
    +    } catch (Throwable e) {
    +      Assert.assertTrue(e.getMessage()
    +          .equalsIgnoreCase("Can't get version details from carbonindex 
file."));
    +    }
    +  }
    +
    +  public void testGetVersionDetailsWithTheSameSchema() {
    +    try {
    +      writeData();
    +      try {
    +        String versionDetails = CarbonSchemaReader
    +            .getVersionDetails(path);
    +        Assert.assertTrue(versionDetails
    +            .contains("CarbonSchemaReaderTest in version: "));
    +      } catch (Exception e) {
    +        Assert.fail();
    +      }
    +    } catch (Throwable e) {
    +      e.printStackTrace();
    +      Assert.fail();
    +    }
    +  }
    +
    +  @Test
    +  public void testGetVersionDetailsWithDifferentSchema() {
    +    try {
    +      int num = 10;
    +      Field[] fields = new Field[2];
    +      fields[0] = new Field("name", DataTypes.STRING);
    +      fields[1] = new Field("age", DataTypes.INT);
    +      CarbonWriter writer = CarbonWriter
    +          .builder()
    +          .outputPath(path)
    +          .withCsvInput(new Schema(fields))
    +          .writtenBy("testReadSchemaWithDifferentSchema")
    +          .build();
    +
    +      for (int i = 0; i < num; i++) {
    +        writer.write(new String[]{"robot" + (i % 10), String.valueOf(i)});
    +      }
    +      writer.close();
    +      try {
    +        CarbonSchemaReader
    +            .getVersionDetails(path);
    +      } catch (Exception e) {
    +        Assert.assertTrue(e.getMessage()
    +            .equalsIgnoreCase("Version details is different between 
different files."));
    +        Assert.fail();
    --- End diff --
    
    ok, removed.


---

Reply via email to