Package com.mozilla.grouperfish.naming

Source Code of com.mozilla.grouperfish.naming.ScopeTest

package com.mozilla.grouperfish.naming;

import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertTrue;

import org.testng.annotations.Test;

import com.mozilla.grouperfish.model.Access;
import com.mozilla.grouperfish.model.Type;
import com.mozilla.grouperfish.model.DummyAccess;
import com.mozilla.grouperfish.model.Access.Operation;
import com.mozilla.grouperfish.naming.Scope;
import com.mozilla.grouperfish.rest.jaxrs.ConfigurationsResource;
import com.mozilla.grouperfish.rest.jaxrs.DocumentsResource;
import com.mozilla.grouperfish.rest.jaxrs.QueriesResource;
import com.mozilla.grouperfish.rest.jaxrs.ResultsResource;
import com.mozilla.grouperfish.services.api.Grid;
import com.mozilla.grouperfish.services.mock.MockGrid;


@Test(groups="unit")
public class ScopeTest {

    private final String NS = "unit-test";
    private final Grid grid = new MockGrid();
    private final Access DUMMY_ACCESS = new DummyAccess(Operation.CREATE, "dummy.example.com");

    public void testAllows() {
        assertTrue(scope(NS).allows(DocumentsResource.class, DUMMY_ACCESS));
    }

    public void testExistingConfigurations() {
        for (final Type type : Type.values()) {
            assertNotNull(scope(NS).map(type));
        }
    }

    @Test(expectedExceptions=IllegalArgumentException.class)
    public void testInvalidConfigurations() {
        scope(NS).map(null);
    }

    public void testDocuments() {
        assertNotNull(scope(NS).documents());
    }

    public void testMaxLength() {
        Access access = new DummyAccess(Operation.CREATE, "dummy.example.com");
        assertTrue(0 < scope(NS).maxLength(DocumentsResource.class, access));
    }

    public void testQueries() {
        assertNotNull(scope(NS).queries());
    }

    public void testResourceMap() {
        Scope ns = scope(NS);
        assertEquals(
                ns.documents(), ns.resourceMap(DocumentsResource.class));
        assertEquals(
                ns.queries(), ns.resourceMap(QueriesResource.class));
        assertEquals(
                ns.results(), ns.resourceMap(ResultsResource.class));
        assertEquals(
                ns.map(Type.CONFIGURATION_FILTER),
                ns.resourceMap(ConfigurationsResource.FilterConfigsResource.class));
        assertEquals(
                ns.map(Type.CONFIGURATION_TRANSFORM),
                ns.resourceMap(ConfigurationsResource.TransformConfigsResource.class));
    }

    @Test(expectedExceptions=IllegalStateException.class)
    public void testInvalidResourceMap() {
        final Scope ns = scope(NS);
        ns.resourceMap(Object.class);
    }

    public void testResults() {
        assertNotNull(scope(NS).results());
    }

    public void testToString() {
        assertEquals(NS, scope(NS).raw());
    }

    public void testValidator() {
        assertNotNull(scope(NS).validator(DocumentsResource.class));
    }

    private Scope scope(String namespace) {
        return new Scope(namespace, grid);
    }
}
TOP

Related Classes of com.mozilla.grouperfish.naming.ScopeTest

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.