package org.jolokia.converter.json; import java.util.HashMap; import java.util.Map; import javax.management.ObjectName; import org.json.simple.JSONObject; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import static org.testng.Assert.*; public class MapExtractorTest extends AbstractExtractorTest { Map map; @BeforeMethod public void setUp() throws Exception { map = new HashMap(); map.put("eins","one"); map.put("zwei","second"); map.put("drei",new ObjectName("test:type=blub")); map.put("vier",Boolean.TRUE); } @Test public void testSimple() throws Exception { JSONObject object = (JSONObject) extractJson(map); assertEquals(object.size(),4); assertTrue((Boolean) object.get("vier")); } @Test public void testWithPath() throws Exception { assertEquals(extractJson(map,"drei","domain"),"test"); } @Test(expectedExceptions = ValueFaultHandler.AttributeFilteredException.class) public void testWithInvalidPath() throws Exception { extractJson(map,"fuenf"); } @Test public void testWithWildcardPath() throws Exception { JSONObject result = (JSONObject) extractJson(map,null,"domain"); assertEquals(result.size(), 1); assertEquals(result.get("drei"),"test"); } @Test(expectedExceptions = ValueFaultHandler.AttributeFilteredException.class) public void testWithInvalidWildcardPath() throws Exception { extractJson(map, null, "domain2"); } @Test public void testSetValue() throws Exception { assertTrue(extractor.canSetValue()); extractor.setObjectValue(stringToObjectConverter, map, "eins", "une"); assertEquals(map.get("eins"), "une"); } @Override Extractor createExtractor() { return new MapExtractor(); } }