Package com.tinkerpop.rexster.config

Source Code of com.tinkerpop.rexster.config.AbstractSailGraphConfigurationTest

package com.tinkerpop.rexster.config;

import com.tinkerpop.blueprints.Graph;
import com.tinkerpop.blueprints.impls.sail.impls.LinkedDataSailGraph;
import com.tinkerpop.blueprints.impls.sail.impls.MemoryStoreSailGraph;
import com.tinkerpop.rexster.RexsterApplicationGraph;
import com.tinkerpop.rexster.Tokens;
import junit.framework.Assert;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.junit.Test;

import java.util.HashMap;
import java.util.Map;

import static org.junit.Assert.assertTrue;

public class AbstractSailGraphConfigurationTest {

    private MockSailGraphConfiguration configuration = new MockSailGraphConfiguration();

    @Test(expected = GraphConfigurationException.class)
    public void configureGraphInstanceNativeSailTypeNoGraphFile() throws GraphConfigurationException {
        HierarchicalConfiguration graphConfig = new HierarchicalConfiguration();
        Map<String, RexsterApplicationGraph> graphs = new HashMap<String, RexsterApplicationGraph>();
        GraphConfigurationContext context = new GraphConfigurationContext(graphConfig, graphs);

        this.configuration.setSailType(AbstractSailGraphConfiguration.SAIL_TYPE_NATIVE);

        this.configuration.configureGraphInstance(context);
    }

    @Test(expected = GraphConfigurationException.class)
    public void configureGraphInstanceNativeSailTypeEmptyGraphFile() throws GraphConfigurationException {
        HierarchicalConfiguration graphConfig = new HierarchicalConfiguration();
        graphConfig.setProperty(Tokens.REXSTER_GRAPH_LOCATION, "");
        Map<String, RexsterApplicationGraph> graphs = new HashMap<String, RexsterApplicationGraph>();
        GraphConfigurationContext context = new GraphConfigurationContext(graphConfig, graphs);

        this.configuration.setSailType(AbstractSailGraphConfiguration.SAIL_TYPE_NATIVE);

        this.configuration.configureGraphInstance(context);
    }

    @Test(expected = GraphConfigurationException.class)
    public void configureGraphInstanceSparqlRepoSailTypeNoGraphFile() throws GraphConfigurationException {
        HierarchicalConfiguration graphConfig = new HierarchicalConfiguration();
        Map<String, RexsterApplicationGraph> graphs = new HashMap<String, RexsterApplicationGraph>();
        GraphConfigurationContext context = new GraphConfigurationContext(graphConfig, graphs);

        this.configuration.setSailType(AbstractSailGraphConfiguration.SAIL_TYPE_SPARQL);

        this.configuration.configureGraphInstance(context);
    }

    @Test(expected = GraphConfigurationException.class)
    public void configureGraphInstanceSparqlRepoSailTypeEmptyGraphFile() throws GraphConfigurationException {
        HierarchicalConfiguration graphConfig = new HierarchicalConfiguration();
        graphConfig.setProperty(Tokens.REXSTER_GRAPH_LOCATION, "");
        Map<String, RexsterApplicationGraph> graphs = new HashMap<String, RexsterApplicationGraph>();
        GraphConfigurationContext context = new GraphConfigurationContext(graphConfig, graphs);

        this.configuration.setSailType(AbstractSailGraphConfiguration.SAIL_TYPE_SPARQL);

        this.configuration.configureGraphInstance(context);
    }

    @Test
    public void configureGraphInstanceMemorySailTypeEmptyGraphFile() throws GraphConfigurationException {
        HierarchicalConfiguration graphConfig = new HierarchicalConfiguration();
        graphConfig.setProperty(Tokens.REXSTER_GRAPH_LOCATION, "");
        Map<String, RexsterApplicationGraph> graphs = new HashMap<String, RexsterApplicationGraph>();
        GraphConfigurationContext context = new GraphConfigurationContext(graphConfig, graphs);

        this.configuration.setSailType(AbstractSailGraphConfiguration.SAIL_TYPE_MEMORY);

        Graph graph = this.configuration.configureGraphInstance(context);
        Assert.assertNotNull(graph);
        Assert.assertTrue(graph instanceof MemoryStoreSailGraph);
    }

    @Test
    public void configureGraphInstanceMemorySailTypeNoGraphFileProperty() throws GraphConfigurationException {
        HierarchicalConfiguration graphConfig = new HierarchicalConfiguration();
        Map<String, RexsterApplicationGraph> graphs = new HashMap<String, RexsterApplicationGraph>();
        GraphConfigurationContext context = new GraphConfigurationContext(graphConfig, graphs);

        this.configuration.setSailType(AbstractSailGraphConfiguration.SAIL_TYPE_MEMORY);

        Graph graph = this.configuration.configureGraphInstance(context);
        Assert.assertNotNull(graph);
        Assert.assertTrue(graph instanceof MemoryStoreSailGraph);
    }

    @Test
    public void configureGraphInstanceLinkedDataSailType() throws GraphConfigurationException {
        // first configure the base graph
        HierarchicalConfiguration graphConfig = new HierarchicalConfiguration();
        graphConfig.setProperty(Tokens.REXSTER_GRAPH_LOCATION, "");
        Map<String, RexsterApplicationGraph> graphs = new HashMap<String, RexsterApplicationGraph>();
        GraphConfigurationContext context = new GraphConfigurationContext(graphConfig, graphs);
        this.configuration.setSailType(AbstractSailGraphConfiguration.SAIL_TYPE_MEMORY);
        Graph graph = this.configuration.configureGraphInstance(context);

        graphs.put("ldbase", new RexsterApplicationGraph("ldbase", graph));

        // now configure LinkedDataSailGraph
        graphConfig = new HierarchicalConfiguration();
        context = new GraphConfigurationContext(graphConfig, graphs);
        graphConfig.setProperty(Tokens.REXSTER_GRAPH_LOCATION, "ldbase");
        this.configuration.setSailType(AbstractSailGraphConfiguration.SAIL_TYPE_LINKED_DATA);
        this.configuration.configureGraphInstance(context);

        graph = this.configuration.configureGraphInstance(context);
        assertTrue(graph instanceof LinkedDataSailGraph);
    }

    @Test(expected = GraphConfigurationException.class)
    public void configureGraphInstanceLinkedDataSailTypeNoBaseGraph() throws GraphConfigurationException {
        HierarchicalConfiguration graphConfig = new HierarchicalConfiguration();
        graphConfig.setProperty(Tokens.REXSTER_GRAPH_LOCATION, "");
        Map<String, RexsterApplicationGraph> graphs = new HashMap<String, RexsterApplicationGraph>();
        GraphConfigurationContext context = new GraphConfigurationContext(graphConfig, graphs);

        this.configuration.setSailType(AbstractSailGraphConfiguration.SAIL_TYPE_LINKED_DATA);

        this.configuration.configureGraphInstance(context);
    }

    @Test(expected = GraphConfigurationException.class)
    public void configureGraphInstanceLinkedDataSailTypeBaseGraphDoesNotExist() throws GraphConfigurationException {
        HierarchicalConfiguration graphConfig = new HierarchicalConfiguration();
        graphConfig.setProperty(Tokens.REXSTER_GRAPH_LOCATION, "thisbasegraphdoesnotexist");
        Map<String, RexsterApplicationGraph> graphs = new HashMap<String, RexsterApplicationGraph>();
        GraphConfigurationContext context = new GraphConfigurationContext(graphConfig, graphs);

        this.configuration.setSailType(AbstractSailGraphConfiguration.SAIL_TYPE_LINKED_DATA);

        this.configuration.configureGraphInstance(context);
    }
}
TOP

Related Classes of com.tinkerpop.rexster.config.AbstractSailGraphConfigurationTest

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.