Package org.geoserver.python.datastore

Source Code of org.geoserver.python.datastore.PythonDataStoreAdapterTest

package org.geoserver.python.datastore;

import static org.junit.Assert.assertEquals;

import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.io.FileUtils;
import org.geoserver.platform.GeoServerResourceLoader;
import org.geoserver.python.Python;
import org.geotools.data.Parameter;
import org.geotools.data.DataAccessFactory.Param;
import org.junit.BeforeClass;
import org.junit.Test;

public class PythonDataStoreAdapterTest {

    static Python py;
    static PythonDataStoreAdapter adapter;
   
    @BeforeClass
    public static void setUpData() throws Exception {
        GeoServerResourceLoader loader = new GeoServerResourceLoader(new File("target"));
        py = new Python(loader);
       
        File f = new File("target", "foo_process.py");
        FileUtils.copyURLToFile(PythonDataStoreAdapterTest.class.getResource("foo_datastore.py"), f);
        adapter = new PythonDataStoreAdapter(f, py);
    }
   
    @Test
    public void testGetTitle() {
        assertEquals("Foo", adapter.getTitle());
    }
   
    @Test
    public void testGetDescription() {
        assertEquals("The foo datastore", adapter.getDescription());
    }
   
    @Test
    public void testGetParameters() throws Exception {
        List<Param> params = adapter.getParameters();
        assertEquals(2, params.size());
       
        Param p = params.get(0);
        assertEquals("bar", p.key);
        assertEquals("bar", p.title.toString());
        assertEquals("The bar param", p.description.toString());
        assertEquals(String.class, p.type);
       
        p = params.get(1);
        assertEquals("baz", p.key);
        assertEquals("baz", p.title.toString());
        assertEquals("The baz param", p.description.toString());
    }
   
    @Test
    public void testGetDataStore() throws Exception {
        HashMap<String,Object> params = new HashMap();
        params.put("bar", "boom");
        params.put("baz", "bomb");
       
        PythonDataStore datastore = adapter.getDataStore(params);
        assertEquals("boom", datastore.getWorkspace().__getattr__("bar").toString());
        assertEquals("bomb", datastore.getWorkspace().__getattr__("baz").toString());
    }
}
TOP

Related Classes of org.geoserver.python.datastore.PythonDataStoreAdapterTest

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.