package org.zstack.test.portal; import junit.framework.Assert; import org.junit.Before; import org.junit.Test; import org.zstack.core.Platform; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.managementnode.ManagementNodeState; import org.zstack.header.managementnode.ManagementNodeVO; import org.zstack.portal.managementnode.ManagementNodeGlobalConfig; import org.zstack.test.Api; import org.zstack.test.ApiSenderException; import org.zstack.test.BeanConstructor; import org.zstack.test.DBUtil; import java.util.concurrent.TimeUnit; /** */ public class TestManagementNodeHeartbeat { ComponentLoader loader; Api api; DatabaseFacade dbf; @Before public void setUp() throws Exception { DBUtil.reDeployDB(); BeanConstructor con = new BeanConstructor(); con.addXml("PortalForUnitTest.xml"); con.addXml("AccountManager.xml"); loader = con.build(); dbf = loader.getComponent(DatabaseFacade.class); api = new Api(); api.startServer(); } @Test public void test() throws ApiSenderException, InterruptedException { ManagementNodeGlobalConfig.NODE_HEARTBEAT_INTERVAL.updateValue(1); ManagementNodeVO fake = new ManagementNodeVO(); fake.setUuid(Platform.getUuid()); fake.setHostName("192.168.0.11"); fake.setPort(8080); fake.setState(ManagementNodeState.RUNNING); dbf.persist(fake); TimeUnit.SECONDS.sleep(5); long count = dbf.count(ManagementNodeVO.class); Assert.assertEquals(1, count); } }