@Test public void testGoodDesc() throws IOException { for (File f : new File(LocalFileMetadataTestCase.LOCALMETA_TEST_DATA + "/cube_desc/").listFiles()) { CubeDesc desc = JsonUtil.readValue(new FileInputStream(f), CubeDesc.class); ValidateContext vContext = new ValidateContext(); IValidatorRule<CubeDesc> rule = new RowKeyAttrRule(); rule.validate(desc, vContext); vContext.print(System.out); assertTrue(vContext.getResults().length == 0); } }
@Test public void testGoodDesc() throws IOException { FunctionRule rule = new FunctionRule(); File f = new File(LocalFileMetadataTestCase.LOCALMETA_TEST_DATA + "/cube_desc/ssb.json"); CubeDesc desc = JsonUtil.readValue(new FileInputStream(f), CubeDesc.class); desc.init(config); ValidateContext vContext = new ValidateContext(); rule.validate(desc, vContext); vContext.print(System.out); assertTrue(vContext.getResults().length == 0); }
@Test public void testBadDesc() throws IOException { ValidateContext vContext = new ValidateContext(); CubeDesc desc = JsonUtil.readValue(new FileInputStream(LocalFileMetadataTestCase.LOCALMETA_TEST_DATA + "/cube_desc/test_kylin_cube_with_slr_desc.json"), CubeDesc.class); desc.getRowkey().getRowKeyColumns()[2].setColumn(""); IValidatorRule<CubeDesc> rule = new RowKeyAttrRule(); rule.validate(desc, vContext); vContext.print(System.out); assertTrue(vContext.getResults().length == 1); assertTrue("Rowkey column empty".equalsIgnoreCase(vContext.getResults()[0].getMessage())); } }
@Test public void testOneMandatoryColumn() { IValidatorRule<CubeDesc> rule = new RowKeyAttrRule(); rule.validate(cube, vContext); vContext.print(System.out); assertTrue("Failed to validate rowkey", vContext.getResults().length == 1); assertTrue("Failed to validate mandatory error", vContext.getResults()[0].getMessage().startsWith("Rowkey column")); } }
@Test public void testAggColumnSize() { AggregationGroupSizeRule rule = new AggregationGroupSizeRule() { /* * (non-Javadoc) * * @see * org.apache.kylin.metadata.validation.rule.AggregationGroupSizeRule * #getMaxAgrGroupSize() */ @Override protected int getMaxAgrGroupSize() { return 20; } }; rule.validate(cube, vContext); vContext.print(System.out); assertEquals("Failed to validate aggragation group error", vContext.getResults().length, 0); // assertTrue("Failed to validate aggragation group error", // vContext.getResults()[0].getMessage() // .startsWith("Aggregation group")); // assertTrue("Failed to validate aggragation group error", // vContext.getResults()[0].getMessage() // .startsWith("Hierachy column")); } }
@Test public void testOneMandatoryColumn() { IValidatorRule<CubeDesc> rule = new AggregationGroupSizeRule() { /* * (non-Javadoc) * * @see * org.apache.kylin.metadata.validation.rule.AggregationGroupSizeRule * #getMaxAgrGroupSize() */ @Override protected int getMaxAgrGroupSize() { return 3; } }; rule.validate(cube, vContext); vContext.print(System.out); assertEquals("Failed to validate aggragation group error", vContext.getResults().length, 2); assertTrue("Failed to validate aggragation group error", vContext.getResults()[0].getMessage().startsWith("Length of the number")); assertTrue("Failed to validate aggragation group error", vContext.getResults()[1].getMessage().startsWith("Length of the number")); // assertTrue("Failed to validate aggragation group error", // vContext.getResults()[2].getMessage() // .startsWith("Hierachy column")); }