package com.sohu.cache.stats.app; import java.util.Date; import javax.annotation.Resource; import org.junit.Test; import com.sohu.cache.constant.ImportAppResult; import com.sohu.cache.entity.AppDesc; import com.sohu.cache.util.ConstUtils; import com.sohu.test.BaseTest; /** * 应用导入测试 * * @author leifu * @Date 2016-4-16 * @Time 下午5:55:38 */ public class ImportAppCenterTest extends BaseTest { @Resource(name = "importAppCenter") private ImportAppCenter importAppCenter; @Test public void testImport() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("my-old-sentinel"); appDesc.setIntro("my-old-sentinel desc"); appDesc.setOfficer("付磊"); appDesc.setCreateTime(new Date()); appDesc.setPassedTime(new Date()); appDesc.setIsTest(1); appDesc.setType(ConstUtils.CACHE_TYPE_REDIS_CLUSTER); appDesc.setMemAlertValue(80); appDesc.setStatus(2); appDesc.setUserId(1); appDesc.setVerId(1); // 实例信息 String appInstanceInfo = "10.10.53.159:7000:512\n" + "10.10.53.159:7001:512\n" + "10.10.53.159:26379:mymaster\n" + "10.10.53.159:26380:mymaster\n" + "10.10.53.159:26381:mymaster"; boolean result = importAppCenter.importAppAndInstance(appDesc, appInstanceInfo); logger.info("result: {}", result); } /** * 重复应用名 */ @Test public void testCheckAppDuplicateName() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("redis-cluster-test"); // 实例信息 String appInstanceInfo = ""; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } /** * 应用实例详情为空 */ @Test public void testCheckEmptyAppInstanceInfo1() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu1"); // 实例信息 String appInstanceInfo = ""; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } /** * 应用实例详情格式有问题1 */ @Test public void testCheckWrongFormatAppInstanceInfo2() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu2"); // 实例信息 String appInstanceInfo = "\n10.10.53.159:6379:1024"; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } /** * 应用实例详情格式有问题2 */ @Test public void testCheckWrongFormatAppInstanceInfo3() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu3"); // 实例信息 String appInstanceInfo = "10.10.53.159:6379"; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } /** * 应用实例详情格式有问题4 */ @Test public void testCheckWrongFormatAppInstanceInfo4() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu4"); // 实例信息 String appInstanceInfo = "10.10.10.10:6379:1024"; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } /** * 应用实例详情格式有问题5 */ @Test public void testCheckWrongFormatAppInstanceInfo5() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu5"); // 实例信息 String appInstanceInfo = "10.10.53.162:ab:1024"; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } /** * 已经存在实例信息 */ @Test public void testCheckExistInstanceInfo() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu6"); // 实例信息 String appInstanceInfo = "10.10.53.162:6379:1024"; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } /** * 已经存在实例信息 */ @Test public void testCheckNotRunInstance() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu7"); // 实例信息 String appInstanceInfo = "10.10.53.162:6399:1024"; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } /** * 最大内存检查 */ @Test public void testCheckWrongMaxMemory() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu8"); // 实例信息 String appInstanceInfo = "10.10.53.159:6379:aa"; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } /** */ @Test public void testCheckDataNode() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu9"); // 实例信息 String appInstanceInfo = "10.10.53.159:6379:1024"; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } /** * 测试sentinel的masterName */ @Test public void testCheckSentinelNodeMasterName() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu10"); // 实例信息 String appInstanceInfo = "10.10.53.159:26379:1024"; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } /** * 检测sentinel节点 */ @Test public void testCheckSentinelNode() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu11"); // 实例信息 String appInstanceInfo = "10.10.53.159:26379:mymaster"; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } /** * 检测sentinel节点 */ @Test public void testCheckSentinelAllNodes() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu12"); // 实例信息 String appInstanceInfo = "10.10.53.159:7000:512\n" + "10.10.53.159:7001:512\n" + "10.10.53.159:26379:mymaster\n" + "10.10.53.159:26380:mymaster\n" + "10.10.53.159:26381:mymaster"; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } @Test public void testCheckClusterNodes() { // 应用信息 AppDesc appDesc = new AppDesc(); appDesc.setName("carlosfu13"); // 实例信息 String appInstanceInfo = "10.10.53.159:8000:512\n" + "10.10.53.159:8001:512\n" + "10.10.53.159:8002:512\n" + "10.10.53.159:8003:512\n" + "10.10.53.159:8004:512\n" + "10.10.53.159:8005:512\n"; ImportAppResult importAppResult = importAppCenter.check(appDesc, appInstanceInfo); logger.info("importAppResult: {}", importAppResult); } }