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 com.fasterxml.jackson.databind.ObjectMapper;
017import org.gbif.api.model.checklistbank.search.NameUsageSearchParameter;
018import org.gbif.api.model.common.search.Facet;
019import org.gbif.api.model.event.search.EventSearchParameter;
020import org.gbif.api.model.literature.search.LiteratureSearchParameter;
021import org.gbif.api.model.occurrence.search.OccurrenceSearchParameter;
022import org.gbif.api.model.registry.search.DatasetSearchParameter;
023import org.junit.jupiter.api.Assertions;
024import org.junit.jupiter.api.Test;
025
026public class SearchParameterSerDeserTest {
027
028  @Test
029  public void testFacetsSer() throws Exception {
030    Facet<OccurrenceSearchParameter> facet = new Facet<>(OccurrenceSearchParameter.ISLAND);
031
032    ObjectMapper objectMapper = new ObjectMapper();
033    Assertions.assertEquals(
034        "{\"field\":\"ISLAND\",\"counts\":null}", objectMapper.writeValueAsString(facet));
035
036    Facet<EventSearchParameter> eventFacet = new Facet<>(EventSearchParameter.ISLAND);
037    Assertions.assertEquals(
038        "{\"field\":\"ISLAND\",\"counts\":null}", objectMapper.writeValueAsString(eventFacet));
039
040    Facet<DatasetSearchParameter> datasetFacet = new Facet<>(DatasetSearchParameter.CONTINENT);
041    Assertions.assertEquals(
042        "{\"field\":\"CONTINENT\",\"counts\":null}", objectMapper.writeValueAsString(datasetFacet));
043
044    Facet<NameUsageSearchParameter> nameUsageFacet = new Facet<>(NameUsageSearchParameter.RANK);
045    Assertions.assertEquals(
046        "{\"field\":\"RANK\",\"counts\":null}", objectMapper.writeValueAsString(nameUsageFacet));
047
048    Facet<LiteratureSearchParameter> literatureFacet = new Facet<>(LiteratureSearchParameter.DOI);
049    Assertions.assertEquals(
050        "{\"field\":\"DOI\",\"counts\":null}", objectMapper.writeValueAsString(literatureFacet));
051  }
052}