@Test public void maxDepth() throws AttributeNotFoundException, NoSuchFieldException, IllegalAccessException { setOptionsViaReflection("maxDepth", 2); Map result = (Map) converter.extractObject(new SelfRefBean1(), new Stack<String>(), true); String c = (String) ((Map) result.get("bean2")).get("bean1"); assertTrue("Recurence detected", c.contains("bean1: toString")); }
@Test public void checkDeadLockDetection() throws AttributeNotFoundException { Map result = (Map) converter.extractObject(new SelfRefBean1(), new Stack<String>(), true); assertNotNull("Bean 2 is set", result.get("bean2")); assertNotNull("Bean2:Bean1 is set", ((Map) result.get("bean2")).get("bean1")); assertEquals( "Reference breackage", ((Map) result.get("bean2")).get("bean1").getClass(), String.class); assertTrue("Bean 3 should be resolved", result.get("bean3") instanceof Map); }
@Test public void customNegativeSimpifier() throws MalformedObjectNameException, AttributeNotFoundException { ObjectName name = new ObjectName("java.lang:type=Memory"); Map result = (Map) converter.extractObject(name, new Stack<String>(), true); // Since we removed the objectname simplifier from the list of simplifiers // explicitely, the converter should return the full blown object; assertEquals("type=Memory", result.get("canonicalKeyPropertyListString")); }
@Test public void maxObjects() throws NoSuchFieldException, IllegalAccessException, AttributeNotFoundException { setOptionsViaReflection("maxObjects", 1); Map<String, Object> result = (Map) converter.extractObject( new InnerValueTestBean("foo", "bar", "baz"), new Stack<String>(), true); boolean found = false; for (Object val : result.values()) { if (val instanceof String) { found = ((String) val).matches("^\\[.*(limit).*\\]$"); } } assertTrue(found); }
@Test public void basics() throws AttributeNotFoundException { Map result = (Map) converter.extractObject(new SelfRefBean1(), new Stack<String>(), true); assertNotNull("Bean2 is set", result.get("bean2")); assertNotNull("Binary attribute is set", result.get("strong")); }
@Test public void fileSimplifier() throws AttributeNotFoundException { Map result = (Map) converter.extractObject(new File("/tmp"), new Stack<String>(), true); assertNull(result.get("parent")); }
@Test public void customSimplifier() throws AttributeNotFoundException { Date date = new Date(); Map result = (Map) converter.extractObject(date, new Stack<String>(), true); assertEquals(date.getTime(), result.get("millis")); }