package org.zstack.test.core.config;
import junit.framework.Assert;
import org.junit.Before;
import org.junit.Test;
import org.zstack.core.componentloader.ComponentLoader;
import org.zstack.core.config.GlobalConfig;
import org.zstack.core.config.GlobalConfigException;
import org.zstack.core.config.GlobalConfigFacade;
import org.zstack.core.config.GlobalConfigInventory;
import org.zstack.header.apimediator.ApiMessageInterceptionException;
import org.zstack.test.*;
public class TestGlobalConfigForSessionTimeOut {
GlobalConfigFacade gcf;
ComponentLoader loader;
Api api;
@Before
public void setUp() throws Exception {
DBUtil.reDeployDB();
BeanConstructor con = new WebBeanConstructor();
loader = con.addXml("PortalForUnitTest.xml").addXml("AccountManager.xml").build();
gcf = loader.getComponent(GlobalConfigFacade.class);
api = new Api();
api.startServer();
}
@Test
public void test() throws InterruptedException, ApiSenderException, GlobalConfigException {
String category = "identity";
String name = "session.timeout";
boolean flag = false;
GlobalConfigInventory inv = new GlobalConfigInventory();
inv.setName(name);
inv.setCategory(category);
inv.setValue(String.valueOf(31536001));
try {
api.updateGlobalConfig(inv);
} catch (ApiSenderException e) {
Assert.assertEquals(e instanceof ApiSenderException, true);
flag = true;
} catch (Exception e) {
Assert.assertEquals(e instanceof Exception, "Unknown error");
}
Assert.assertEquals(flag, true);
flag = false;
try {
gcf.updateConfig(category, name, String.valueOf(31536002));
} catch (GlobalConfigException e) {
Assert.assertEquals(e instanceof GlobalConfigException, true);
flag = true;
} catch (Exception e) {
Assert.assertEquals(e instanceof Exception, "Unknown error");
}
Assert.assertEquals(flag, true);
GlobalConfigInventory inv2 = new GlobalConfigInventory();
inv2.setName(name);
inv2.setCategory(category);
inv2.setValue(String.valueOf(7200));
api.updateGlobalConfig(inv2);
}
}