Package com.boundlessgeo.geoserver.api.controllers

Source Code of com.boundlessgeo.geoserver.api.controllers.FormatControllerTest

package com.boundlessgeo.geoserver.api.controllers;

import com.boundlessgeo.geoserver.api.converters.JSONMessageConverter;
import com.boundlessgeo.geoserver.api.converters.ResourceMessageConverter;
import com.boundlessgeo.geoserver.api.converters.YsldMessageConverter;
import com.boundlessgeo.geoserver.api.exceptions.NotFoundException;
import com.boundlessgeo.geoserver.json.JSONArr;
import com.boundlessgeo.geoserver.json.JSONObj;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterators;
import org.geoserver.catalog.SLDHandler;
import org.geoserver.catalog.StyleHandler;
import org.geoserver.config.GeoServer;
import org.geoserver.platform.GeoServerExtensions;
import org.geoserver.ysld.YsldHandler;
import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.http.converter.ByteArrayHttpMessageConverter;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;

import javax.annotation.Nullable;

import java.util.NoSuchElementException;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

public class FormatControllerTest {

    @Mock
    GeoServer geoServer;

    @InjectMocks
    FormatController ctrl;

    @Before
    public void setUpAppContext() {
        WebApplicationContext appContext = mock(WebApplicationContext.class);
        new GeoServerExtensions().setApplicationContext(appContext);
    }

    @Before
    public void setUpUpContextAndMVC() {
        MockitoAnnotations.initMocks(this);
//        mvc = MockMvcBuilders.standaloneSetup(ctrl)
//            .setMessageConverters(new JSONMessageConverter());
//            .build();
    }

    @Test
    public void testList() {
        ctrl = new FormatController(geoServer);

        JSONArr all = ctrl.list();
        assertTrue(all.size() > 0);
        Iterators.find(all.iterator(), nameIs("shapefile"));
        Iterators.find(all.iterator(), Predicates.and(nameIs("h2"), typeIs("database")));
    }

    @Test
    public void testGet() {
        ctrl = new FormatController(geoServer);

        JSONObj obj = ctrl.get("shapefile");
        assertEquals("shapefile", obj.get("name"));
        assertEquals("vector", obj.get("kind"));
        assertEquals("file", obj.get("type"));

        obj = ctrl.get("h2");
        assertEquals("h2", obj.get("name"));
        assertEquals("vector", obj.get("kind"));
        assertEquals("database", obj.get("type"));

        obj = ctrl.get("geotiff");
        assertEquals("geotiff", obj.get("name"));
        assertEquals("raster", obj.get("kind"));
        assertEquals("file", obj.get("type"));

        obj = ctrl.get("wms");
        assertEquals("wms", obj.get("name"));
        assertEquals("service", obj.get("kind"));

        try {
            ctrl.get("foo");
            fail();
        }
        catch(NotFoundException e) {
        }
    }

    Predicate<Object> nameIs(final String name) {
        return new Predicate<Object>() {
            @Override
            public boolean apply(@Nullable Object input) {
                return ((JSONObj)input).str("name").equals(name);
            }
        };
    }

    Predicate<Object> typeIs(final String type) {
        return new Predicate<Object>() {
            @Override
            public boolean apply(@Nullable Object input) {
                return ((JSONObj)input).str("type").equals(type);
            }
        };
    }
}
TOP

Related Classes of com.boundlessgeo.geoserver.api.controllers.FormatControllerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.