[1/4] kylin git commit: KYLIN-2672 Add UT

2018-02-09 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/2.3.x bd88a718d -> 1320de725


KYLIN-2672 Add UT


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/1320de72
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/1320de72
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/1320de72

Branch: refs/heads/2.3.x
Commit: 1320de72585fb63e77835f96dd8d19e4be157910
Parents: 8add1b4
Author: kangkaisen 
Authored: Fri Feb 9 15:53:02 2018 +0800
Committer: Billy Liu 
Committed: Fri Feb 9 21:25:19 2018 +0800

--
 .../rest/controller/CacheControllerTest.java| 54 +++-
 1 file changed, 53 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/1320de72/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
--
diff --git 
a/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
 
b/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
index c2e21cc..3466a36 100644
--- 
a/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
+++ 
b/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
@@ -19,7 +19,17 @@
 package org.apache.kylin.rest.controller;
 
 import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
 
+import org.apache.kylin.common.KylinConfig;
+import org.apache.kylin.common.persistence.JsonSerializer;
+import org.apache.kylin.common.persistence.Serializer;
+import org.apache.kylin.cube.CubeDescManager;
+import org.apache.kylin.cube.model.CubeDesc;
+import org.apache.kylin.metadata.model.DataModelDesc;
+import org.apache.kylin.metadata.model.TableRef;
+import org.apache.kylin.rest.request.CubeMigrationRequest;
 import org.apache.kylin.rest.service.CacheService;
 import org.apache.kylin.rest.service.ServiceTestBase;
 import org.junit.Before;
@@ -27,6 +37,9 @@ import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
 /**
  * @author shaoshi
  */
@@ -48,7 +61,46 @@ public class CacheControllerTest extends ServiceTestBase {
 
 @Test
 public void testBasics() throws IOException {
-
 cacheController.wipeCache("cube_desc", "drop", 
"test_kylin_cube_with_slr_desc");
 }
+
+@Test
+public void testClearCacheForCubeMigration() throws IOException {
+KylinConfig config = KylinConfig.getInstanceFromEnv();
+String CUBENAME = "test_kylin_cube_without_slr_desc";
+
+CubeDescManager cubeDescManager = CubeDescManager.getInstance(config);
+CubeDesc cubeDesc = cubeDescManager.getCubeDesc(CUBENAME);
+DataModelDesc modelDesc = cubeDesc.getModel();
+Map tableToProjects = new HashMap<>();
+for (TableRef tableRef : modelDesc.getAllTables()) {
+tableToProjects.put(tableRef.getTableIdentity(), 
tableRef.getTableDesc().getProject());
+}
+
+String uuid = cubeDesc.getUuid();
+String signature = cubeDesc.getSignature();
+
+assertEquals(cubeDesc.getRetentionRange(), 0);
+
+//update cubeDesc
+cubeDesc.setRetentionRange(2018);
+cubeDesc.updateRandomUuid();
+
+//directly update metadata in store to simulate cube migration
+Serializer cubeDescSerializer = new 
JsonSerializer(CubeDesc.class);
+getStore().putResource(cubeDesc.getResourcePath(), cubeDesc, 
cubeDescSerializer);
+
+CubeMigrationRequest request = new CubeMigrationRequest();
+request.setCube(cubeDesc.getName());
+request.setModel(modelDesc.getName());
+request.setProject(modelDesc.getProject());
+request.setTableToProjects(tableToProjects);
+
+cacheController.clearCacheForCubeMigration(request);
+
+assertEquals(2018, 
cubeDescManager.getCubeDesc(CUBENAME).getRetentionRange());
+assertEquals(signature, 
cubeDescManager.getCubeDesc(CUBENAME).getSignature());
+assertNotEquals(uuid, cubeDescManager.getCubeDesc(CUBENAME).getUuid());
+}
+
 }



[3/3] kylin git commit: KYLIN-2672 Add UT

2018-02-09 Thread billyliu
KYLIN-2672 Add UT


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/50990664
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/50990664
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/50990664

Branch: refs/heads/master
Commit: 509906641dc819ecc03bb1050bcdc33e1236e6cf
Parents: 5cecbce
Author: kangkaisen 
Authored: Fri Feb 9 15:53:02 2018 +0800
Committer: Billy Liu 
Committed: Fri Feb 9 21:20:03 2018 +0800

--
 .../rest/controller/CacheControllerTest.java| 54 +++-
 1 file changed, 53 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/50990664/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
--
diff --git 
a/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
 
b/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
index c2e21cc..3466a36 100644
--- 
a/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
+++ 
b/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
@@ -19,7 +19,17 @@
 package org.apache.kylin.rest.controller;
 
 import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
 
+import org.apache.kylin.common.KylinConfig;
+import org.apache.kylin.common.persistence.JsonSerializer;
+import org.apache.kylin.common.persistence.Serializer;
+import org.apache.kylin.cube.CubeDescManager;
+import org.apache.kylin.cube.model.CubeDesc;
+import org.apache.kylin.metadata.model.DataModelDesc;
+import org.apache.kylin.metadata.model.TableRef;
+import org.apache.kylin.rest.request.CubeMigrationRequest;
 import org.apache.kylin.rest.service.CacheService;
 import org.apache.kylin.rest.service.ServiceTestBase;
 import org.junit.Before;
@@ -27,6 +37,9 @@ import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
 /**
  * @author shaoshi
  */
@@ -48,7 +61,46 @@ public class CacheControllerTest extends ServiceTestBase {
 
 @Test
 public void testBasics() throws IOException {
-
 cacheController.wipeCache("cube_desc", "drop", 
"test_kylin_cube_with_slr_desc");
 }
+
+@Test
+public void testClearCacheForCubeMigration() throws IOException {
+KylinConfig config = KylinConfig.getInstanceFromEnv();
+String CUBENAME = "test_kylin_cube_without_slr_desc";
+
+CubeDescManager cubeDescManager = CubeDescManager.getInstance(config);
+CubeDesc cubeDesc = cubeDescManager.getCubeDesc(CUBENAME);
+DataModelDesc modelDesc = cubeDesc.getModel();
+Map tableToProjects = new HashMap<>();
+for (TableRef tableRef : modelDesc.getAllTables()) {
+tableToProjects.put(tableRef.getTableIdentity(), 
tableRef.getTableDesc().getProject());
+}
+
+String uuid = cubeDesc.getUuid();
+String signature = cubeDesc.getSignature();
+
+assertEquals(cubeDesc.getRetentionRange(), 0);
+
+//update cubeDesc
+cubeDesc.setRetentionRange(2018);
+cubeDesc.updateRandomUuid();
+
+//directly update metadata in store to simulate cube migration
+Serializer cubeDescSerializer = new 
JsonSerializer(CubeDesc.class);
+getStore().putResource(cubeDesc.getResourcePath(), cubeDesc, 
cubeDescSerializer);
+
+CubeMigrationRequest request = new CubeMigrationRequest();
+request.setCube(cubeDesc.getName());
+request.setModel(modelDesc.getName());
+request.setProject(modelDesc.getProject());
+request.setTableToProjects(tableToProjects);
+
+cacheController.clearCacheForCubeMigration(request);
+
+assertEquals(2018, 
cubeDescManager.getCubeDesc(CUBENAME).getRetentionRange());
+assertEquals(signature, 
cubeDescManager.getCubeDesc(CUBENAME).getSignature());
+assertNotEquals(uuid, cubeDescManager.getCubeDesc(CUBENAME).getUuid());
+}
+
 }



kylin git commit: KYLIN-2672 Add UT

2018-02-09 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2672 b8105db9e -> 0b3938517


KYLIN-2672 Add UT


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/0b393851
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/0b393851
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/0b393851

Branch: refs/heads/KYLIN-2672
Commit: 0b393851718a17d3cae470e67e628d69cabf4ad8
Parents: b8105db
Author: kangkaisen 
Authored: Fri Feb 9 15:53:02 2018 +0800
Committer: kangkaisen 
Committed: Fri Feb 9 15:53:56 2018 +0800

--
 .../rest/controller/CacheControllerTest.java| 54 +++-
 1 file changed, 53 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/0b393851/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
--
diff --git 
a/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
 
b/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
index c2e21cc..3466a36 100644
--- 
a/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
+++ 
b/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
@@ -19,7 +19,17 @@
 package org.apache.kylin.rest.controller;
 
 import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
 
+import org.apache.kylin.common.KylinConfig;
+import org.apache.kylin.common.persistence.JsonSerializer;
+import org.apache.kylin.common.persistence.Serializer;
+import org.apache.kylin.cube.CubeDescManager;
+import org.apache.kylin.cube.model.CubeDesc;
+import org.apache.kylin.metadata.model.DataModelDesc;
+import org.apache.kylin.metadata.model.TableRef;
+import org.apache.kylin.rest.request.CubeMigrationRequest;
 import org.apache.kylin.rest.service.CacheService;
 import org.apache.kylin.rest.service.ServiceTestBase;
 import org.junit.Before;
@@ -27,6 +37,9 @@ import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
 /**
  * @author shaoshi
  */
@@ -48,7 +61,46 @@ public class CacheControllerTest extends ServiceTestBase {
 
 @Test
 public void testBasics() throws IOException {
-
 cacheController.wipeCache("cube_desc", "drop", 
"test_kylin_cube_with_slr_desc");
 }
+
+@Test
+public void testClearCacheForCubeMigration() throws IOException {
+KylinConfig config = KylinConfig.getInstanceFromEnv();
+String CUBENAME = "test_kylin_cube_without_slr_desc";
+
+CubeDescManager cubeDescManager = CubeDescManager.getInstance(config);
+CubeDesc cubeDesc = cubeDescManager.getCubeDesc(CUBENAME);
+DataModelDesc modelDesc = cubeDesc.getModel();
+Map tableToProjects = new HashMap<>();
+for (TableRef tableRef : modelDesc.getAllTables()) {
+tableToProjects.put(tableRef.getTableIdentity(), 
tableRef.getTableDesc().getProject());
+}
+
+String uuid = cubeDesc.getUuid();
+String signature = cubeDesc.getSignature();
+
+assertEquals(cubeDesc.getRetentionRange(), 0);
+
+//update cubeDesc
+cubeDesc.setRetentionRange(2018);
+cubeDesc.updateRandomUuid();
+
+//directly update metadata in store to simulate cube migration
+Serializer cubeDescSerializer = new 
JsonSerializer(CubeDesc.class);
+getStore().putResource(cubeDesc.getResourcePath(), cubeDesc, 
cubeDescSerializer);
+
+CubeMigrationRequest request = new CubeMigrationRequest();
+request.setCube(cubeDesc.getName());
+request.setModel(modelDesc.getName());
+request.setProject(modelDesc.getProject());
+request.setTableToProjects(tableToProjects);
+
+cacheController.clearCacheForCubeMigration(request);
+
+assertEquals(2018, 
cubeDescManager.getCubeDesc(CUBENAME).getRetentionRange());
+assertEquals(signature, 
cubeDescManager.getCubeDesc(CUBENAME).getSignature());
+assertNotEquals(uuid, cubeDescManager.getCubeDesc(CUBENAME).getUuid());
+}
+
 }