package com.alibaba.json.bvt.parser.deser.deny; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.parser.ParserConfig; import junit.framework.TestCase; import java.util.HashMap; import java.util.Properties; import java.util.UUID; import java.util.WeakHashMap; import java.util.concurrent.ConcurrentHashMap; public class DenyTest10 extends TestCase { ParserConfig config = new ParserConfig(); protected void setUp() throws Exception { assertFalse(config.isAutoTypeSupport()); Properties properties = new Properties(); properties.put(ParserConfig.AUTOTYPE_SUPPORT_PROPERTY, "false"); // -ea -Dfastjson.parser.autoTypeAccept=com.alibaba.json.bvt.parser.deser.DenyTest9 config.configFromPropety(properties); } public void test_hashMap() throws Exception { Object obj = JSON.parseObject("{\"@type\":\"java.util.HashMap\"}", Object.class, config); assertEquals(HashMap.class, obj.getClass()); } public void test_hashMap_weekHashMap() throws Exception { Object obj = JSON.parseObject("{\"@type\":\"java.util.WeakHashMap\"}", Object.class, config); assertEquals(WeakHashMap.class, obj.getClass()); } public void test_hashMap_concurrentHashMap() throws Exception { Object obj = JSON.parseObject("{\"@type\":\"java.util.concurrent.ConcurrentHashMap\"}", Object.class, config); assertEquals(ConcurrentHashMap.class, obj.getClass()); } public void test_uuid() throws Exception { System.out.println(UUID.randomUUID()); Object obj = JSON.parseObject("{\"@type\":\"java.util.UUID\",\"val\":\"290c580d-efa3-432b-8475-2655e336232a\"}", Object.class, config); assertEquals(UUID.class, obj.getClass()); } }