001/* 002 * Licensed under the Apache License, Version 2.0 (the "License"); 003 * you may not use this file except in compliance with the License. 004 * You may obtain a copy of the License at 005 * 006 * http://www.apache.org/licenses/LICENSE-2.0 007 * 008 * Unless required by applicable law or agreed to in writing, software 009 * distributed under the License is distributed on an "AS IS" BASIS, 010 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 011 * See the License for the specific language governing permissions and 012 * limitations under the License. 013 */ 014package org.gbif.api.jackson; 015 016import org.gbif.api.model.registry.Dataset; 017import org.gbif.api.ws.mixin.DatasetMixin; 018 019import org.junit.jupiter.api.Test; 020 021import com.fasterxml.jackson.databind.ObjectMapper; 022 023import static org.junit.jupiter.api.Assertions.assertNull; 024 025public class DatasetDeserTest { 026 027 @Test 028 public void testHomepageAndLogoEmptyToNullDeserialization() throws Exception { 029 String datasetJson = "{\n" + 030 " \"installationKey\": \"5f02b486-8869-418b-88ba-1819001f1da7\",\n" + 031 " \"publishingOrganizationKey\": \"83cc80f4-f95f-4404-a10a-fc02aa9fee4d\",\n" + 032 " \"homepage\": \"\",\n" + 033 " \"logoUrl\": \"\",\n" + 034 " \"type\": \"OCCURRENCE\",\n" + 035 " \"title\": \"Dataset URL validation\",\n" + 036 " \"description\": \"Created to test URL validation\",\n" + 037 " \"language\": \"eng\"\n" + 038 "}"; 039 040 ObjectMapper objectMapper = new ObjectMapper(); 041 objectMapper.addMixIn(Dataset.class, DatasetMixin.class); 042 043 Dataset dataset = objectMapper.readValue(datasetJson, Dataset.class); 044 assertNull(dataset.getHomepage()); 045 assertNull(dataset.getLogoUrl()); 046 } 047}