KYLIN-1254 CubeController unit test update,update model create case
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/1e0a79ef Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/1e0a79ef Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/1e0a79ef Branch: refs/heads/1.x-HBase1.1.3 Commit: 1e0a79ef1ac7e951d4b79f6143176bd32682ceb1 Parents: 2533fe5 Author: jian <jiazh...@apache.org> Authored: Mon Dec 28 17:09:38 2015 +0800 Committer: jian <jiazh...@apache.org> Committed: Mon Dec 28 17:10:06 2015 +0800 ---------------------------------------------------------------------- .../kylin/rest/controller/ModelController.java | 15 +++++++++++++++ .../kylin/rest/controller/CubeControllerTest.java | 11 +++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/1e0a79ef/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java ---------------------------------------------------------------------- diff --git a/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java b/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java index 811ad3e..e9ce7ef 100644 --- a/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java +++ b/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java @@ -23,6 +23,7 @@ import java.io.IOException; import org.apache.kylin.common.KylinConfig; import org.apache.kylin.metadata.MetadataManager; import org.apache.kylin.metadata.model.DataModelDesc; +import org.apache.kylin.rest.exception.InternalErrorException; import org.apache.kylin.rest.service.CubeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -59,6 +60,20 @@ public class ModelController { } + @RequestMapping(value = "/{modelName}", method = {RequestMethod.DELETE}) + @ResponseBody + public void deleteModel(@PathVariable String modelName) { + MetadataManager metaManager = MetadataManager.getInstance(cubeService.getConfig()); + DataModelDesc modeDesc = metaManager.getDataModelDesc(modelName); + try { + metaManager.dropModel(modeDesc); + } catch (IOException e) { + throw new InternalErrorException("Failed to delete model", e); + } + } + + + public void setCubeService(CubeService cubeService) { this.cubeService = cubeService; } http://git-wip-us.apache.org/repos/asf/kylin/blob/1e0a79ef/server/src/test/java/org/apache/kylin/rest/controller/CubeControllerTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/controller/CubeControllerTest.java b/server/src/test/java/org/apache/kylin/rest/controller/CubeControllerTest.java index 09ce6c5..feb8261 100644 --- a/server/src/test/java/org/apache/kylin/rest/controller/CubeControllerTest.java +++ b/server/src/test/java/org/apache/kylin/rest/controller/CubeControllerTest.java @@ -43,6 +43,7 @@ import com.google.common.collect.Lists; public class CubeControllerTest extends ServiceTestBase { private static final String SRC_CUBE_NAME = "test_kylin_cube_with_slr_ready"; private static final String TEST_CUBE_NAME = SRC_CUBE_NAME + "_test_save"; + private static final String TEST_MODEL_NAME = SRC_CUBE_NAME + "_test_model_save"; private CubeController cubeController; private CubeDescController cubeDescController; @@ -72,11 +73,12 @@ public class CubeControllerTest extends ServiceTestBase { srcCubeDesc = getCubeDescByName(SRC_CUBE_NAME); - saveTestCube(TEST_CUBE_NAME); + saveTestCube(TEST_CUBE_NAME,TEST_MODEL_NAME); } @After public void tearDown() throws Exception { + modelController.deleteModel(TEST_MODEL_NAME); cubeController.deleteCube(TEST_CUBE_NAME); super.after(); } @@ -89,17 +91,18 @@ public class CubeControllerTest extends ServiceTestBase { return cubes[0]; } - private void saveTestCube(final String newCubeName) throws IOException { + private void saveTestCube(final String newCubeName,final String newModelName) throws IOException { CubeDesc newCube = new CubeDesc(); try { + modelController.deleteModel(newModelName); cubeController.deleteCube(newCubeName); } catch (Exception e) { // it may not exist, ignore the exception } newCube.setName(newCubeName); - newCube.setModelName(newCubeName); + newCube.setModelName(newModelName); newCube.setModel(srcCubeDesc.getModel()); newCube.setDimensions(srcCubeDesc.getDimensions()); newCube.setHBaseMapping(srcCubeDesc.getHBaseMapping()); @@ -107,7 +110,7 @@ public class CubeControllerTest extends ServiceTestBase { newCube.setConfig(srcCubeDesc.getConfig()); newCube.setRowkey(srcCubeDesc.getRowkey()); - newCube.getModel().setName(newCubeName); + newCube.getModel().setName(newModelName); newCube.getModel().setLastModified(0); CubeRequest cubeRequest = new CubeRequest();