package com.dgrid.test;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import com.dgrid.dao.GenericDAO;
import com.dgrid.gen.Host;
import com.dgrid.gen.JOB_CALLBACK_TYPES;
import com.dgrid.gen.JOB_STATUS;
import com.dgrid.gen.Job;
import com.dgrid.gen.Joblet;
import com.dgrid.gen.JobletResult;
public class HibernateTestCase extends BaseTestCase {
public void testHost() throws Exception {
GenericDAO dao = (GenericDAO) super.getBean(GenericDAO.NAME);
Host host = new Host();
host.setHostname("host1");
host = (Host) dao.create(host);
assertTrue(host.getId() > 0);
Map<String, String> params1 = new HashMap<String, String>();
params1.put("testkey", "testvalue");
params1.put("testkey2", "testvaluebeatch");
Map<String, String> params2 = new HashMap<String, String>();
params2.put("testkey", "testvalue2");
Joblet j1 = new Joblet(0, 0l, 0, host.getId(), "testuser", 1, "test",
"description", params1, "this is content", 0);
Joblet j2 = new Joblet(0, 0l, 0, host.getId(), "testuser", 1, "test",
"description", params2, "this is content (2)", 0);
j1 = (Joblet) dao.create(j1);
j2 = (Joblet) dao.create(j2);
List<Joblet> joblets = new LinkedList<Joblet>();
joblets.add(j1);
joblets.add(j2);
Job job = new Job(0, 0l, "testuser", "job desc.", joblets,
JOB_CALLBACK_TYPES.NONE, null, null, JOB_STATUS.RECEIVED);
job = (Job) dao.create(job);
j1 = (Joblet) dao.read(Joblet.class, j1.getId());
j2 = (Joblet) dao.read(Joblet.class, j2.getId());
j2.setStatus(JOB_STATUS.COMPLETED);
JobletResult jr = new JobletResult(0, 0l, 0, 100, JOB_STATUS.COMPLETED,
null, j2);
dao.update(j2);
dao.create(jr);
assertNotNull(j1);
assertEquals(j1.getParametersSize(), 2);
assertEquals(j1.getParameters().get("testkey"), "testvalue");
assertEquals(j1.getParameters().get("testkey2"), "testvaluebeatch");
assertEquals(j2.getParametersSize(), 1);
assertEquals(j2.getParameters().get("testkey"), "testvalue2");
dao.delete(Host.class, host.getId());
dao.delete(JobletResult.class, jr.getId());
dao.delete(Joblet.class, j1.getId());
dao.delete(Joblet.class, j2.getId());
dao.delete(Job.class, job.getId());
}
}