package com.luticate.utils; import com.luticate.utils.dbo.LuBoolDbo; import com.luticate.utils.dbo.LuDataAccessConfigDbo; import com.luticate.utils.dbo.LuDoubleDbo; import com.luticate.utils.dbo.LuIntDbo; import com.luticate.utils.dbo.LuLongDbo; import com.luticate.utils.dbo.LuPaginatedDbo; import com.luticate.utils.dbo.LuStringDbo; import com.luticate.utils.dbo.LuVoidDbo; import org.junit.Test; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Vector; import static org.junit.Assert.*; /** * Created by robin on 10/22/16. */ public class BasicDboTest { @Test public void boolTest() throws Exception { LuBoolDbo dbo = new LuBoolDbo(); dbo.fromJson("{\"value\": true}"); assertTrue(dbo.getBool()); dbo = new LuBoolDbo(); dbo.fromJson("{\"value\": null}"); assertNull(dbo.getBool()); dbo = new LuBoolDbo(); dbo.fromJson("{\"value\": false}"); assertFalse(dbo.getBool()); dbo.setBool(true); LuBoolDbo dbo2 = new LuBoolDbo(); dbo2.fromJson(dbo.toString()); assertTrue(dbo2.getBool()); dbo = new LuBoolDbo(false); assertFalse(dbo.getBool()); dbo = new LuBoolDbo(true); assertTrue(dbo.getBool()); } @Test public void intTest() throws Exception { LuIntDbo dbo = new LuIntDbo(); dbo.fromJson("{\"value\": 42}"); assertEquals(42, dbo.getInt().intValue()); dbo = new LuIntDbo(); dbo.fromJson("{\"value\": null}"); assertNull(dbo.getInt()); dbo = new LuIntDbo(); dbo.fromJson("{\"value\": 24}"); assertEquals(24, dbo.getInt().intValue()); dbo.setInt(4242); LuIntDbo dbo2 = new LuIntDbo(); dbo2.fromJson(dbo.toString()); assertEquals(4242, dbo2.getInt().intValue()); dbo = new LuIntDbo(42); assertEquals(42, dbo.getInt().intValue()); dbo = new LuIntDbo(24); assertEquals(24, dbo.getInt().intValue()); } @Test public void longTest() throws Exception { LuLongDbo dbo = new LuLongDbo(); dbo.fromJson("{\"value\": 42}"); assertEquals(42, dbo.getLong().longValue()); dbo = new LuLongDbo(); dbo.fromJson("{\"value\": null}"); assertNull(dbo.getLong()); dbo = new LuLongDbo(); dbo.fromJson("{\"value\": 24}"); assertEquals(24, dbo.getLong().longValue()); dbo.setLong((long) 4242); LuLongDbo dbo2 = new LuLongDbo(); dbo2.fromJson(dbo.toString()); assertEquals(4242, dbo2.getLong().longValue()); dbo = new LuLongDbo((long) 42); assertEquals(42, dbo.getLong().longValue()); dbo = new LuLongDbo((long) 24); assertEquals(24, dbo.getLong().longValue()); } @Test public void doubleTest() throws Exception { LuDoubleDbo dbo = new LuDoubleDbo(); dbo.fromJson("{\"value\": 42.125}"); assertEquals(42.125, dbo.getDouble(), 0); dbo = new LuDoubleDbo(); dbo.fromJson("{\"value\": null}"); assertNull(dbo.getDouble()); dbo = new LuDoubleDbo(); dbo.fromJson("{\"value\": 24.125}"); assertEquals(24.125, dbo.getDouble(), 0); dbo.setDouble(4242.125); LuDoubleDbo dbo2 = new LuDoubleDbo(); dbo2.fromJson(dbo.toString()); assertEquals(4242.125, dbo2.getDouble(), 0); dbo = new LuDoubleDbo(42.125); assertEquals(42.125, dbo.getDouble(), 0); dbo = new LuDoubleDbo(24.125); assertEquals(24.125, dbo.getDouble(), 0); } @Test public void stringTest() throws Exception { LuStringDbo dbo = new LuStringDbo(); dbo.fromJson("{\"value\": \"42\"}"); assertEquals("42", dbo.getString()); dbo = new LuStringDbo(); dbo.fromJson("{\"value\": null}"); assertNull(dbo.getString()); dbo = new LuStringDbo(); dbo.fromJson("{\"value\": \"24\"}"); assertEquals("24", dbo.getString()); dbo.setString("4242"); LuStringDbo dbo2 = new LuStringDbo(); dbo2.fromJson(dbo.toString()); assertEquals("4242", dbo2.getString()); dbo = new LuStringDbo("42 42"); assertEquals("42 42", dbo.getString()); dbo = new LuStringDbo("24 24"); assertEquals("24 24", dbo.getString()); } @Test public void paginatedTest() throws Exception { LuPaginatedDbo dbo = new LuPaginatedDbo<>(LuIntDbo.class); dbo.fromJson("{\"count\": 42, \"data\": [{\"value\": 1}, {\"value\": 2}, {\"value\": 3}]}"); assertEquals(42, dbo.getCount()); assertNotNull(dbo.getData()); assertEquals(3, dbo.getData().size()); assertEquals(1, dbo.getData().get(0).getInt().intValue()); assertEquals(2, dbo.getData().get(1).getInt().intValue()); assertEquals(3, dbo.getData().get(2).getInt().intValue()); dbo.setCount(24); List list = new Vector<>(); list.add(new LuIntDbo(10)); list.add(new LuIntDbo(20)); dbo.setData(list);; assertEquals(24, dbo.getCount()); assertNotNull(dbo.getData()); assertEquals(2, dbo.getData().size()); assertEquals(10, dbo.getData().get(0).getInt().intValue()); assertEquals(20, dbo.getData().get(1).getInt().intValue()); HashMap array = dbo.toArray(); assertEquals(2, array.size()); assertTrue(array.containsKey("count")); assertEquals(24, array.get("count")); assertTrue(array.containsKey("data")); assertEquals(2, ((List)array.get("data")).size()); } @Test public void dataAccessConfigTest() throws Exception { LuDataAccessConfigDbo dbo = new LuDataAccessConfigDbo(); dbo.fromJson("{\"baseUrl\": \"http://api/\", \"httpUsername\": \"root\", \"httpPassword\": \"toor42\"}"); assertEquals("http://api/", dbo.getBaseUrl()); assertEquals("root", dbo.getHttpUsername()); assertEquals("toor42", dbo.getHttpPassword()); Map headers = dbo.getHeaders(); assertEquals(1, headers.size()); assertTrue(headers.containsKey("Authorization")); assertEquals("Basic cm9vdDp0b29yNDI=", headers.get("Authorization")); dbo = new LuDataAccessConfigDbo(); dbo.fromJson("{\"baseUrl\": \"http://api2/\"}"); assertEquals("http://api2/", dbo.getBaseUrl()); assertNull(dbo.getHttpUsername()); assertNull(dbo.getHttpPassword()); headers = dbo.getHeaders(); assertEquals(0, headers.size()); dbo.setBaseUrl("http://api/"); dbo.setHttpUsername("root"); dbo.setHttpPassword("toor42"); assertEquals("http://api/", dbo.getBaseUrl()); assertEquals("root", dbo.getHttpUsername()); assertEquals("toor42", dbo.getHttpPassword()); HashMap array = dbo.toArray(); assertEquals(3, array.size()); assertTrue(array.containsKey("baseUrl")); assertEquals("http://api/", array.get("baseUrl")); assertTrue(array.containsKey("httpUsername")); assertEquals("root", array.get("httpUsername")); assertTrue(array.containsKey("httpPassword")); assertEquals("toor42", array.get("httpPassword")); } }