blob: c92bb8d422018089fddc60cc4fcf016fb9ea366e [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional information regarding
* copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License. You may obtain a
* copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
package org.apache.geode.cache.configuration;
import static org.assertj.core.api.Assertions.assertThat;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.BeforeClass;
import org.junit.Test;
import org.apache.geode.management.configuration.Region;
import org.apache.geode.management.runtime.MemberInformation;
import org.apache.geode.management.runtime.RuntimeRegionInfo;
import org.apache.geode.util.internal.GeodeJsonMapper;
public class ConfigurationJsonMappingTest {
private static ObjectMapper mapper = GeodeJsonMapper.getMapper();
private static MemberInformation member;
private static Region region;
private static RuntimeRegionInfo runtimeRegionInfo;
@BeforeClass
public static void beforeClass() {
member = new MemberInformation();
member.setId("server");
member.setProcessId(123);
region = new Region();
region.setName("test");
runtimeRegionInfo = new RuntimeRegionInfo();
runtimeRegionInfo.setEntryCount(100);
}
@Test
public void serializeBasicRegion() throws Exception {
String json = mapper.writeValueAsString(region);
System.out.println(json);
assertThat(json).contains("class").contains("\"name\":\"test\"");
Region config = mapper.readValue(json, Region.class);
assertThat(config.getName()).isEqualTo(region.getName());
}
@Test
public void serializeRegion() throws Exception {
Region value = new Region();
value.setName("test");
String json = mapper.writeValueAsString(value);
System.out.println(json);
assertThat(json).contains("class").contains("\"name\":\"test\"");
Region config = mapper.readValue(json, Region.class);
assertThat(config.getName()).isEqualTo(region.getName());
}
@Test
public void serializeMember() throws Exception {
String json = mapper.writeValueAsString(member);
System.out.println(json);
assertThat(json).contains("class").contains("\"id\":\"server\"");
MemberInformation config = mapper.readValue(json, MemberInformation.class);
assertThat(config.getId()).isEqualTo(member.getId());
}
@Test
public void deserializeWithoutTypeInfo() throws Exception {
String json = "{'name':'test'}";
Region config = mapper.readValue(json, Region.class);
assertThat(config.getName()).isEqualTo("test");
}
@Test
public void getGroup() throws Exception {
assertThat(region.getGroup()).isNull();
String json = mapper.writeValueAsString(region);
assertThat(json).doesNotContain("\"group\"");
}
@Test
public void group() throws Exception {
String json = "{'name':'test','group':'group1'}";
Region regionConfig = mapper.readValue(json, Region.class);
assertThat(regionConfig.getGroup()).isEqualTo("group1");
}
@Test
public void serializeGroup() throws Exception {
Region config = new Region();
config.setName("test");
config.setGroup("group1");
String json = mapper.writeValueAsString(config);
System.out.println(json);
assertThat(json)
.contains("\"group\":\"group1\"");
}
@Test
public void serializeGroupCluster() throws Exception {
Region config = new Region();
config.setName("test");
config.setGroup("cluster");
String json = mapper.writeValueAsString(config);
System.out.println(json);
assertThat(json).contains("\"group\":\"cluster\"");
}
@Test
public void serializeNullGroup() throws Exception {
Region config = new Region();
config.setName("test");
config.setGroup(null);
String json = mapper.writeValueAsString(config);
System.out.println(json);
assertThat(json).doesNotContain("group");
}
@Test
public void serializeEmptyGroup() throws Exception {
Region config = new Region();
config.setName("test");
config.setGroup("");
String json = mapper.writeValueAsString(config);
System.out.println(json);
assertThat(json).doesNotContain("group");
}
}