package org.zstack.test.tag;
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.storage.primary.PrimaryStorageVO;
import org.zstack.header.tag.*;
import org.zstack.storage.primary.PrimaryStorageSystemTags;
import org.zstack.test.Api;
import org.zstack.test.BeanConstructor;
import org.zstack.test.DBUtil;
import org.zstack.test.WebBeanConstructor;
import org.zstack.test.search.QueryTestValidator;
/**
*/
public class TestQueryTag {
ComponentLoader loader;
DatabaseFacade dbf;
Api api;
@Before
public void setUp() throws Exception {
DBUtil.reDeployDB();
BeanConstructor con = new WebBeanConstructor();
con.addXml("PortalForUnitTest.xml").addXml("AccountManager.xml");
loader = con.build();
dbf = loader.getComponent(DatabaseFacade.class);
api = new Api();
api.startServer();
}
@Test
public void test() {
SystemTagVO vo = new SystemTagVO();
vo.setResourceUuid(Platform.getUuid());
vo.setUuid(Platform.getUuid());
vo.setTag(PrimaryStorageSystemTags.CAPABILITY_SNAPSHOT.getTagFormat());
vo.setResourceType(PrimaryStorageVO.class.getSimpleName());
vo = dbf.persistAndRefresh(vo);
SystemTagInventory inv = SystemTagInventory.valueOf(vo);
APIQuerySystemTagMsg msg = new APIQuerySystemTagMsg();
QueryTestValidator.validateEQ(msg, api, APIQuerySystemTagReply.class, inv);
UserTagVO uvo = new UserTagVO();
uvo.setResourceUuid(Platform.getUuid());
uvo.setUuid(Platform.getUuid());
uvo.setTag("adfad");
uvo.setResourceType(PrimaryStorageVO.class.getSimpleName());
uvo = dbf.persistAndRefresh(uvo);
UserTagInventory uinv = UserTagInventory.valueOf(uvo);
APIQueryUserTagMsg umsg = new APIQueryUserTagMsg();
QueryTestValidator.validateRandomEQConjunction(umsg, api, APIQueryUserTagReply.class, uinv, 3);
}
}