package com.kapti.data.persistence; import com.kapti.data.Security; import java.net.URL; import java.util.HashMap; import org.apache.xmlrpc.client.XmlRpcClient; import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.*; /** * * @author Dieter */ public class SecurityXMLTest { private static XmlRpcClient client; public SecurityXMLTest() { } @BeforeClass public static void setUpClass() throws Exception { XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); config.setServerURL(new URL("http://localhost:6800/backend/public")); client = new XmlRpcClient(); client.setConfig(config); } @AfterClass public static void tearDownClass() throws Exception { } @Before public void setUp() { } @After public void tearDown() { } @Test public void createSecurity() throws Exception { //Dummygegevens genereren HashMap<String, Object> iDetails = new HashMap<String, Object>(); iDetails.put(Security.Fields.ISIN.name(), "BE123456789"); iDetails.put(Security.Fields.SYMBOL.name(), "AAAA"); iDetails.put(Security.Fields.NAME.name(), "JUnit testaandeel"); iDetails.put(Security.Fields.EXCHANGE.name(), "PA"); iDetails.put(Security.Fields.VISIBLE.name(), true); iDetails.put(Security.Fields.SUSPENDED.name(), false); client.execute("Finance.Security.Create", new Object[] {iDetails}); } @Test public void getSecurity() throws Exception { Object[] result = (Object[]) client.execute("Finance.Security.List", new Object[] {"isin EQUALS 'BE123456789'"}); if(result.length != 1) fail("Expected one object, got " + result.length); if(result[0] instanceof HashMap) { HashMap securityMap = (HashMap) result[0]; assertEquals(securityMap.get("ISIN"), "BE123456789"); assertEquals(securityMap.get("SYMBOL"), "AAAA"); assertEquals(securityMap.get("NAME"), "JUnit testaandeel"); assertEquals(securityMap.get("EXCHANGE"), "PA"); assertEquals(securityMap.get("VISIBLE"), true); assertEquals(securityMap.get("SUSPENDED"), false); } else fail("Expected HashMap, got " + result[0].getClass().getName()); } @Test public void modifySecurity() throws Exception { HashMap<String, Object> iDetails = new HashMap<String, Object>(); iDetails.put("NAME", "JUnit aangepast testaandeel"); iDetails.put("VISIBLE", false); iDetails.put("SUSPENDED", true); int result = (Integer) client.execute("Finance.Security.Modify", new Object[] {"isin EQUALS 'BE123456789'", iDetails}); assertTrue(result + " items affected, expected only one change",result == 1); } @Test public void deleteSecurity() throws Exception { int result = (Integer) client.execute("Finance.Security.Remove", new Object[] {"isin EQUALS 'BE123456789'"}); assertTrue(result + " items deleted, expected only one deleted item", result == 1); } }