package de.hsadmin.remote; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.util.HashMap; import java.util.Map; import org.apache.xmlrpc.XmlRpcException; import org.apache.xmlrpc.client.XmlRpcClient; import org.junit.After; import org.junit.Before; import org.junit.Test; public class QueueTaskTest { private static final String MODULE = "q"; private XmlRpcClient client; private RemoteCASHelper cas; @Before public void setUp() throws Exception { client = RemoteTestHelper.getClient(); cas = new RemoteCASHelper(); } @After public void tearDown() throws Exception { client = null; cas = null; } @Test public void testSearchAllAsPacAdmin() { String user = "peh00"; String grantingTicketURL = cas.getGrantingTicketURL(user); Map whereParams = new HashMap(); Object[] params = new Object[] { user, cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()), whereParams }; try { Object execute = client.execute(MODULE + ".search", params); Object[] result = (Object[]) execute; assertTrue(result.length > 20); for (Object o : result) { if (o instanceof Map) { Map row = (Map) o; assertEquals("peh00", ((String) row.get("user")).substring(0, 5)); } else { fail("map expected"); } } } catch (XmlRpcException e) { fail(e.getMessage()); } } @Test public void testUpdate() { String user = "peh00"; String grantingTicketURL = cas.getGrantingTicketURL(user); Map setParams = new HashMap(); Map whereParams = new HashMap(); setParams.put("details", "Test"); whereParams.put("user", "peh00"); Object[] params = new Object[] { user, cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()), setParams, whereParams }; try { Object execute = client.execute(MODULE + ".update", params); assertNotNull(execute); fail("exception expected"); } catch (XmlRpcException e) { // System.out.println(e.getMessage()); } } @Test public void testCreateFails() { String user = "peh00"; String grantingTicketURL = cas.getGrantingTicketURL(user); Map setParams = new HashMap(); setParams.put("status", "done"); setParams.put("title", "Test"); setParams.put("user", "peh00"); setParams.put("hive", "h05"); setParams.put("started", "03.03.2010"); setParams.put("finished", "03.03.2010"); setParams.put("details", "Blupp"); setParams.put("exception", "f6n"); Object[] params = new Object[] { user, cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()), setParams }; try { Object execute = client.execute(MODULE + ".add", params); assertTrue(execute instanceof Map); fail("exception expected"); } catch (XmlRpcException e) { // System.out.println(e.getMessage()); } } @Test public void testDeleteAsPacAdminFails() { String user = "peh00"; String grantingTicketURL = cas.getGrantingTicketURL(user); Map whereParams = new HashMap(); whereParams.put("user", "peh00"); Object[] params = new Object[] { user, cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()), whereParams }; try { Object execute = client.execute(MODULE + ".delete", params); assertTrue(execute instanceof Map); fail("exception expected"); } catch (XmlRpcException e) { // System.out.println(e.getMessage()); } } }