@Test public void defaultModules() throws JsonProcessingException, UnsupportedEncodingException { this.factory.afterPropertiesSet(); ObjectMapper objectMapper = this.factory.getObject(); Long timestamp = 1322903730000L; DateTime dateTime = new DateTime(timestamp, DateTimeZone.UTC); assertEquals(timestamp.toString(), new String(objectMapper.writeValueAsBytes(dateTime), "UTF-8")); }
@Test public void simpleSetup() { this.factory.afterPropertiesSet(); assertNotNull(this.factory.getObject()); assertTrue(this.factory.isSingleton()); assertEquals(ObjectMapper.class, this.factory.getObjectType()); }
@Test // SPR-12634 public void customizeDefaultModulesWithSerializer() throws JsonProcessingException, UnsupportedEncodingException { Map<Class<?>, JsonSerializer<?>> serializers = new HashMap<>(); serializers.put(Integer.class, new CustomIntegerSerializer()); this.factory.setSerializersByType(serializers); this.factory.afterPropertiesSet(); ObjectMapper objectMapper = this.factory.getObject(); DateTime dateTime = new DateTime(1322903730000L, DateTimeZone.UTC); assertEquals("1322903730000", new String(objectMapper.writeValueAsBytes(dateTime), "UTF-8")); assertThat(new String(objectMapper.writeValueAsBytes(new Integer(4)), "UTF-8"), containsString("customid")); }
@Test public void setCreateXmlMapper() { this.factory.setCreateXmlMapper(true); this.factory.afterPropertiesSet(); assertNotNull(this.factory.getObject()); assertTrue(this.factory.isSingleton()); assertEquals(XmlMapper.class, this.factory.getObjectType()); }
@Test // SPR-12634 @SuppressWarnings("unchecked") public void customizeDefaultModulesWithModuleClass() throws JsonProcessingException, UnsupportedEncodingException { this.factory.setModulesToInstall(CustomIntegerModule.class); this.factory.afterPropertiesSet(); ObjectMapper objectMapper = this.factory.getObject(); DateTime dateTime = new DateTime(1322903730000L, DateTimeZone.UTC); assertEquals("1322903730000", new String(objectMapper.writeValueAsBytes(dateTime), "UTF-8")); assertThat(new String(objectMapper.writeValueAsBytes(new Integer(4)), "UTF-8"), containsString("customid")); }
@Test public void setObjectMapper() { this.factory.setObjectMapper(new XmlMapper()); this.factory.afterPropertiesSet(); assertNotNull(this.factory.getObject()); assertTrue(this.factory.isSingleton()); assertEquals(XmlMapper.class, this.factory.getObjectType()); }
@Test public void setModules() { NumberSerializer serializer = new NumberSerializer(Integer.class); SimpleModule module = new SimpleModule(); module.addSerializer(Integer.class, serializer); this.factory.setModules(Arrays.asList(new Module[]{module})); this.factory.afterPropertiesSet(); ObjectMapper objectMapper = this.factory.getObject(); Serializers serializers = getSerializerFactoryConfig(objectMapper).serializers().iterator().next(); assertSame(serializer, serializers.findSerializer(null, SimpleType.construct(Integer.class), null)); }
@Test public void setTimeZoneWithInvalidZoneId() { this.factory.setTimeZone(TimeZone.getTimeZone("bogusZoneId")); this.factory.afterPropertiesSet(); TimeZone timeZone = TimeZone.getTimeZone("GMT"); assertEquals(timeZone, this.factory.getObject().getSerializationConfig().getTimeZone()); assertEquals(timeZone, this.factory.getObject().getDeserializationConfig().getTimeZone()); }
@Test public void setFilters() throws JsonProcessingException { this.factory.setFilters(new SimpleFilterProvider().setFailOnUnknownId(false)); this.factory.afterPropertiesSet(); ObjectMapper objectMapper = this.factory.getObject(); JacksonFilteredBean bean = new JacksonFilteredBean("value1", "value2"); String output = objectMapper.writeValueAsString(bean); assertThat(output, containsString("value1")); assertThat(output, containsString("value2")); }
@Test public void setTimeZone() { TimeZone timeZone = TimeZone.getTimeZone("Europe/Paris"); this.factory.setTimeZone(timeZone); this.factory.afterPropertiesSet(); assertEquals(timeZone, this.factory.getObject().getSerializationConfig().getTimeZone()); assertEquals(timeZone, this.factory.getObject().getDeserializationConfig().getTimeZone()); }
@Test public void setMixIns() { Class<?> target = String.class; Class<?> mixinSource = Object.class; Map<Class<?>, Class<?>> mixIns = new HashMap<>(); mixIns.put(target, mixinSource); this.factory.setModules(Collections.emptyList()); this.factory.setMixIns(mixIns); this.factory.afterPropertiesSet(); ObjectMapper objectMapper = this.factory.getObject(); assertEquals(1, objectMapper.mixInCount()); assertSame(mixinSource, objectMapper.findMixInClassFor(target)); }
@Test public void setSimpleDateFormat() { this.factory.setSimpleDateFormat(DATE_FORMAT); this.factory.afterPropertiesSet(); assertEquals(this.dateFormat, this.factory.getObject().getSerializationConfig().getDateFormat()); assertEquals(this.dateFormat, this.factory.getObject().getDeserializationConfig().getDateFormat()); }
@Test public void setDateFormat() { this.factory.setDateFormat(this.dateFormat); this.factory.afterPropertiesSet(); assertEquals(this.dateFormat, this.factory.getObject().getSerializationConfig().getDateFormat()); assertEquals(this.dateFormat, this.factory.getObject().getDeserializationConfig().getDateFormat()); }
@Test public void propertyNamingStrategy() { PropertyNamingStrategy strategy = new PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy(); this.factory.setPropertyNamingStrategy(strategy); this.factory.afterPropertiesSet(); assertSame(strategy, this.factory.getObject().getSerializationConfig().getPropertyNamingStrategy()); assertSame(strategy, this.factory.getObject().getDeserializationConfig().getPropertyNamingStrategy()); }
@Test public void defaultSerializationInclusion() { this.factory.afterPropertiesSet(); assertSame(Include.ALWAYS, this.factory.getObject().getSerializationConfig().getSerializationInclusion()); }
@Test public void nonDefaultSerializationInclusion() { this.factory.setSerializationInclusion(Include.NON_DEFAULT); this.factory.afterPropertiesSet(); assertSame(Include.NON_DEFAULT, this.factory.getObject().getSerializationConfig().getSerializationInclusion()); }
@Test public void nonNullSerializationInclusion() { this.factory.setSerializationInclusion(Include.NON_NULL); this.factory.afterPropertiesSet(); assertSame(Include.NON_NULL, this.factory.getObject().getSerializationConfig().getSerializationInclusion()); }
@Test public void nonEmptySerializationInclusion() { this.factory.setSerializationInclusion(Include.NON_EMPTY); this.factory.afterPropertiesSet(); assertSame(Include.NON_EMPTY, this.factory.getObject().getSerializationConfig().getSerializationInclusion()); }