You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ap...@apache.org on 2017/06/06 20:50:33 UTC

[04/12] incubator-atlas git commit: ATLAS-1198: Spring Framework (v4 with Spring security) over Guice

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/96fb0e77/webapp/src/test/java/org/apache/atlas/web/resources/BaseResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/BaseResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/BaseResourceIT.java
deleted file mode 100755
index 457dc39..0000000
--- a/webapp/src/test/java/org/apache/atlas/web/resources/BaseResourceIT.java
+++ /dev/null
@@ -1,690 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas.web.resources;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import kafka.consumer.ConsumerTimeoutException;
-import org.apache.atlas.ApplicationProperties;
-import org.apache.atlas.AtlasClient;
-import org.apache.atlas.AtlasClientV2;
-import org.apache.atlas.AtlasServiceException;
-import org.apache.atlas.model.instance.AtlasClassification;
-import org.apache.atlas.model.instance.AtlasEntity;
-import org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo;
-import org.apache.atlas.model.instance.AtlasEntityHeader;
-import org.apache.atlas.model.instance.AtlasStruct;
-import org.apache.atlas.model.instance.EntityMutationResponse;
-import org.apache.atlas.model.instance.EntityMutations;
-import org.apache.atlas.model.typedef.AtlasClassificationDef;
-import org.apache.atlas.model.typedef.AtlasEntityDef;
-import org.apache.atlas.model.typedef.AtlasEnumDef;
-import org.apache.atlas.model.typedef.AtlasStructDef;
-import org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef;
-import org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef.Cardinality;
-import org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef;
-import org.apache.atlas.model.typedef.AtlasTypesDef;
-import org.apache.atlas.notification.NotificationConsumer;
-import org.apache.atlas.notification.entity.EntityNotification;
-import org.apache.atlas.type.AtlasTypeUtil;
-import org.apache.atlas.typesystem.Referenceable;
-import org.apache.atlas.typesystem.Struct;
-import org.apache.atlas.typesystem.TypesDef;
-import org.apache.atlas.typesystem.json.InstanceSerialization;
-import org.apache.atlas.typesystem.json.TypesSerialization;
-import org.apache.atlas.typesystem.persistence.Id;
-import org.apache.atlas.typesystem.types.*;
-import org.apache.atlas.typesystem.types.utils.TypesUtil;
-import org.apache.atlas.utils.AuthenticationUtil;
-import org.apache.atlas.utils.ParamChecker;
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.lang.RandomStringUtils;
-import org.codehaus.jettison.json.JSONArray;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_PARAM_ATTRIBUTE;
-import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF;
-import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-/**
- * Base class for integration tests.
- * Sets up the web resource and has helper methods to create type and entity.
- */
-public abstract class BaseResourceIT {
-
-    public static final String ATLAS_REST_ADDRESS = "atlas.rest.address";
-    public static final String NAME = "name";
-    public static final String QUALIFIED_NAME = "qualifiedName";
-    public static final String CLUSTER_NAME = "clusterName";
-    public static final String DESCRIPTION = "description";
-
-    // All service clients
-    protected AtlasClient atlasClientV1;
-    protected AtlasClientV2 atlasClientV2;
-
-    public static final Logger LOG = LoggerFactory.getLogger(BaseResourceIT.class);
-    protected static final int MAX_WAIT_TIME = 60000;
-    protected String[] atlasUrls;
-
-    @BeforeClass
-    public void setUp() throws Exception {
-
-        //set high timeouts so that tests do not fail due to read timeouts while you
-        //are stepping through the code in a debugger
-        ApplicationProperties.get().setProperty("atlas.client.readTimeoutMSecs", "100000000");
-        ApplicationProperties.get().setProperty("atlas.client.connectTimeoutMSecs", "100000000");
-
-
-        Configuration configuration = ApplicationProperties.get();
-        atlasUrls = configuration.getStringArray(ATLAS_REST_ADDRESS);
-
-        if (atlasUrls == null || atlasUrls.length == 0) {
-            atlasUrls = new String[] { "http://localhost:21000/" };
-        }
-
-        if (!AuthenticationUtil.isKerberosAuthenticationEnabled()) {
-            atlasClientV1 = new AtlasClient(atlasUrls, new String[]{"admin", "admin"});
-            atlasClientV2 = new AtlasClientV2(atlasUrls, new String[]{"admin", "admin"});
-        } else {
-            atlasClientV1 = new AtlasClient(atlasUrls);
-            atlasClientV2 = new AtlasClientV2(atlasUrls);
-        }
-    }
-
-    protected void batchCreateTypes(AtlasTypesDef typesDef) throws AtlasServiceException { 
-        for (AtlasEnumDef enumDef : typesDef.getEnumDefs()) {
-            try {
-                atlasClientV2.createEnumDef(enumDef);
-            } catch (AtlasServiceException ex) {
-                LOG.warn("EnumDef creation failed for {}", enumDef.getName());
-            }
-        }
-        for (AtlasStructDef structDef : typesDef.getStructDefs()) {
-            try {
-                atlasClientV2.createStructDef(structDef);
-            } catch (AtlasServiceException ex) {
-                LOG.warn("StructDef creation failed for {}", structDef.getName());
-            }
-        }
-        
-            AtlasTypesDef entityDefs = new AtlasTypesDef(
-            Collections.<AtlasEnumDef>emptyList(),
-            Collections.<AtlasStructDef>emptyList(),
-            Collections.<AtlasClassificationDef>emptyList(),
-            typesDef.getEntityDefs());
-        try {
-            atlasClientV2.createAtlasTypeDefs(entityDefs);
-        }
-        catch(AtlasServiceException e) {
-            LOG.warn("Type creation failed for {}", typesDef.toString());
-            LOG.warn(e.toString());
-        }
-        
-        for (AtlasClassificationDef classificationDef : typesDef.getClassificationDefs()) {
-            try {
-                atlasClientV2.createClassificationDef(classificationDef);
-            } catch (AtlasServiceException ex) {
-                LOG.warn("ClassificationDef creation failed for {}", classificationDef.getName());
-            }
-        }
-
-    }
-    
-    protected void createType(AtlasTypesDef typesDef) {
-        // Since the bulk create bails out on a single failure, this has to be done as a workaround
-        for (AtlasEnumDef enumDef : typesDef.getEnumDefs()) {
-            try {
-                atlasClientV2.createEnumDef(enumDef);
-            } catch (AtlasServiceException ex) {
-                LOG.warn("EnumDef creation failed for {}", enumDef.getName());
-            }
-        }
-        for (AtlasStructDef structDef : typesDef.getStructDefs()) {
-            try {
-                atlasClientV2.createStructDef(structDef);
-            } catch (AtlasServiceException ex) {
-                LOG.warn("StructDef creation failed for {}", structDef.getName());
-            }
-        }
-        for (AtlasEntityDef entityDef : typesDef.getEntityDefs()) {
-            try {
-                atlasClientV2.createEntityDef(entityDef);
-            } catch (AtlasServiceException ex) {
-                LOG.warn("EntityDef creation failed for {}", entityDef.getName());
-            }
-        }
-        for (AtlasClassificationDef classificationDef : typesDef.getClassificationDefs()) {
-            try {
-                atlasClientV2.createClassificationDef(classificationDef);
-            } catch (AtlasServiceException ex) {
-                LOG.warn("ClassificationDef creation failed for {}", classificationDef.getName());
-            }
-        }
-
-    }
-
-    protected void createType(TypesDef typesDef) throws Exception {
-        try{
-            if ( !typesDef.enumTypes().isEmpty() ){
-                String sampleType = typesDef.enumTypesAsJavaList().get(0).name;
-                atlasClientV1.getType(sampleType);
-                LOG.info("Checking enum type existence");
-            }
-            else if( !typesDef.structTypes().isEmpty()){
-                StructTypeDefinition sampleType = typesDef.structTypesAsJavaList().get(0);
-                atlasClientV1.getType(sampleType.typeName);
-                LOG.info("Checking struct type existence");
-            }
-            else if( !typesDef.traitTypes().isEmpty()){
-                HierarchicalTypeDefinition<TraitType> sampleType = typesDef.traitTypesAsJavaList().get(0);
-                atlasClientV1.getType(sampleType.typeName);
-                LOG.info("Checking trait type existence");
-            }
-            else{
-                HierarchicalTypeDefinition<ClassType> sampleType = typesDef.classTypesAsJavaList().get(0);
-                atlasClientV1.getType(sampleType.typeName);
-                LOG.info("Checking class type existence");
-            }
-            LOG.info("Types already exist. Skipping type creation");
-        } catch(AtlasServiceException ase) {
-            //Expected if type doesn't exist
-            String typesAsJSON = TypesSerialization.toJson(typesDef);
-            createType(typesAsJSON);
-        }
-    }
-
-    protected List<String> createType(String typesAsJSON) throws Exception {
-        return atlasClientV1.createType(TypesSerialization.fromJson(typesAsJSON));
-    }
-
-    protected Id createInstance(Referenceable referenceable) throws Exception {
-        String typeName = referenceable.getTypeName();
-        System.out.println("creating instance of type " + typeName);
-
-        String entityJSON = InstanceSerialization.toJson(referenceable, true);
-        System.out.println("Submitting new entity= " + entityJSON);
-        List<String> guids = atlasClientV1.createEntity(entityJSON);
-        System.out.println("created instance for type " + typeName + ", guid: " + guids);
-
-        // return the reference to created instance with guid
-        if (guids.size() > 0) {
-            return new Id(guids.get(guids.size() - 1), 0, referenceable.getTypeName());
-        }
-        return null;
-    }
-
-    protected TypesDef getTypesDef(ImmutableList<EnumTypeDefinition> enums,
-                                   ImmutableList<StructTypeDefinition> structs,
-                                   ImmutableList<HierarchicalTypeDefinition<TraitType>> traits,
-                                   ImmutableList<HierarchicalTypeDefinition<ClassType>> classes){
-        enums = (enums != null) ? enums : ImmutableList
-                .<EnumTypeDefinition>of();
-        structs =
-                (structs != null) ? structs : ImmutableList.<StructTypeDefinition>of();
-
-        traits = (traits != null) ? traits : ImmutableList
-                .<HierarchicalTypeDefinition<TraitType>>of();
-
-        classes = (classes != null) ? classes : ImmutableList
-                .<HierarchicalTypeDefinition<ClassType>>of();
-        return TypesUtil.getTypesDef(enums, structs, traits, classes);
-
-    }
-
-    protected AtlasEntityHeader modifyEntity(AtlasEntity atlasEntity, boolean update) {
-        EntityMutationResponse entity = null;
-        try {
-            if (!update) {
-                entity = atlasClientV2.createEntity(new AtlasEntityWithExtInfo(atlasEntity));
-                assertNotNull(entity);
-                assertNotNull(entity.getEntitiesByOperation(EntityMutations.EntityOperation.CREATE));
-                assertTrue(entity.getEntitiesByOperation(EntityMutations.EntityOperation.CREATE).size() > 0);
-                return entity.getEntitiesByOperation(EntityMutations.EntityOperation.CREATE).get(0);
-            } else {
-                entity = atlasClientV2.updateEntity(new AtlasEntityWithExtInfo(atlasEntity));
-                assertNotNull(entity);
-                assertNotNull(entity.getEntitiesByOperation(EntityMutations.EntityOperation.UPDATE));
-                assertTrue(entity.getEntitiesByOperation(EntityMutations.EntityOperation.UPDATE).size() > 0);
-                return entity.getEntitiesByOperation(EntityMutations.EntityOperation.UPDATE).get(0);
-            }
-
-        } catch (AtlasServiceException e) {
-            LOG.error("Entity {} failed", update ? "update" : "creation", entity);
-        }
-        return null;
-    }
-
-    protected AtlasEntityHeader createEntity(AtlasEntity atlasEntity) {
-        return modifyEntity(atlasEntity, false);
-    }
-
-    protected AtlasEntityHeader updateEntity(AtlasEntity atlasEntity) {
-        return modifyEntity(atlasEntity, true);
-    }
-
-    protected static final String DATABASE_TYPE_V2 = "hive_db_v2";
-    protected static final String HIVE_TABLE_TYPE_V2 = "hive_table_v2";
-    protected static final String COLUMN_TYPE_V2 = "hive_column_v2";
-    protected static final String HIVE_PROCESS_TYPE_V2 = "hive_process_v2";
-
-    protected static final String DATABASE_TYPE = "hive_db_v1";
-    protected static final String HIVE_TABLE_TYPE = "hive_table_v1";
-    protected static final String COLUMN_TYPE = "hive_column_v1";
-    protected static final String HIVE_PROCESS_TYPE = "hive_process_v1";
-
-    protected static final String DATABASE_TYPE_BUILTIN = "hive_db";
-    protected static final String HIVE_TABLE_TYPE_BUILTIN = "hive_table";
-    protected static final String COLUMN_TYPE_BUILTIN = "hive_column";
-    protected static final String HIVE_PROCESS_TYPE_BUILTIN = "hive_process";
-
-    protected void createTypeDefinitionsV1() throws Exception {
-        HierarchicalTypeDefinition<ClassType> dbClsDef = TypesUtil
-                .createClassTypeDef(DATABASE_TYPE, null,
-                        TypesUtil.createUniqueRequiredAttrDef(NAME, DataTypes.STRING_TYPE),
-                        TypesUtil.createRequiredAttrDef(DESCRIPTION, DataTypes.STRING_TYPE),
-                        attrDef("locationUri", DataTypes.STRING_TYPE),
-                        attrDef("owner", DataTypes.STRING_TYPE), attrDef("createTime", DataTypes.INT_TYPE),
-                        new AttributeDefinition("tables", DataTypes.arrayTypeName(HIVE_TABLE_TYPE),
-                                Multiplicity.OPTIONAL, false, "db")
-                        );
-
-        HierarchicalTypeDefinition<ClassType> columnClsDef = TypesUtil
-                .createClassTypeDef(COLUMN_TYPE, null, attrDef(NAME, DataTypes.STRING_TYPE),
-                        attrDef("dataType", DataTypes.STRING_TYPE), attrDef("comment", DataTypes.STRING_TYPE));
-
-        StructTypeDefinition structTypeDefinition = new StructTypeDefinition("serdeType",
-                new AttributeDefinition[]{TypesUtil.createRequiredAttrDef(NAME, DataTypes.STRING_TYPE),
-                        TypesUtil.createRequiredAttrDef("serde", DataTypes.STRING_TYPE)});
-
-        EnumValue values[] = {new EnumValue("MANAGED", 1), new EnumValue("EXTERNAL", 2),};
-
-        EnumTypeDefinition enumTypeDefinition = new EnumTypeDefinition("tableType", values);
-
-        HierarchicalTypeDefinition<ClassType> tblClsDef = TypesUtil
-                .createClassTypeDef(HIVE_TABLE_TYPE, ImmutableSet.of("DataSet"),
-                        attrDef("owner", DataTypes.STRING_TYPE), attrDef("createTime", DataTypes.LONG_TYPE),
-                        attrDef("lastAccessTime", DataTypes.DATE_TYPE),
-                        attrDef("temporary", DataTypes.BOOLEAN_TYPE),
-                        new AttributeDefinition("db", DATABASE_TYPE, Multiplicity.OPTIONAL, true, "tables"),
-                        new AttributeDefinition("columns", DataTypes.arrayTypeName(COLUMN_TYPE),
-                                Multiplicity.OPTIONAL, true, null),
-                        new AttributeDefinition("tableType", "tableType", Multiplicity.OPTIONAL, false, null),
-                        new AttributeDefinition("serde1", "serdeType", Multiplicity.OPTIONAL, false, null),
-                        new AttributeDefinition("serde2", "serdeType", Multiplicity.OPTIONAL, false, null));
-
-        HierarchicalTypeDefinition<ClassType> loadProcessClsDef = TypesUtil
-                .createClassTypeDef(HIVE_PROCESS_TYPE, ImmutableSet.of("Process"),
-                        attrDef("userName", DataTypes.STRING_TYPE), attrDef("startTime", DataTypes.INT_TYPE),
-                        attrDef("endTime", DataTypes.LONG_TYPE),
-                        attrDef("queryText", DataTypes.STRING_TYPE, Multiplicity.REQUIRED),
-                        attrDef("queryPlan", DataTypes.STRING_TYPE, Multiplicity.REQUIRED),
-                        attrDef("queryId", DataTypes.STRING_TYPE, Multiplicity.REQUIRED),
-                        attrDef("queryGraph", DataTypes.STRING_TYPE, Multiplicity.REQUIRED));
-
-        HierarchicalTypeDefinition<TraitType> classificationTrait = TypesUtil
-                .createTraitTypeDef("classification", ImmutableSet.<String>of(),
-                        TypesUtil.createRequiredAttrDef("tag", DataTypes.STRING_TYPE));
-        HierarchicalTypeDefinition<TraitType> piiTrait =
-                TypesUtil.createTraitTypeDef("pii", ImmutableSet.<String>of());
-        HierarchicalTypeDefinition<TraitType> phiTrait =
-                TypesUtil.createTraitTypeDef("phi", ImmutableSet.<String>of());
-        HierarchicalTypeDefinition<TraitType> pciTrait =
-                TypesUtil.createTraitTypeDef("pci", ImmutableSet.<String>of());
-        HierarchicalTypeDefinition<TraitType> soxTrait =
-                TypesUtil.createTraitTypeDef("sox", ImmutableSet.<String>of());
-        HierarchicalTypeDefinition<TraitType> secTrait =
-                TypesUtil.createTraitTypeDef("sec", ImmutableSet.<String>of());
-        HierarchicalTypeDefinition<TraitType> financeTrait =
-                TypesUtil.createTraitTypeDef("finance", ImmutableSet.<String>of());
-        /*HierarchicalTypeDefinition<TraitType> factTrait =
-                TypesUtil.createTraitTypeDef("Fact", ImmutableSet.<String>of());
-        HierarchicalTypeDefinition<TraitType> etlTrait =
-                TypesUtil.createTraitTypeDef("ETL", ImmutableSet.<String>of());
-        HierarchicalTypeDefinition<TraitType> dimensionTrait =
-                TypesUtil.createTraitTypeDef("Dimension", ImmutableSet.<String>of());
-        HierarchicalTypeDefinition<TraitType> metricTrait =
-                TypesUtil.createTraitTypeDef("Metric", ImmutableSet.<String>of());*/
-
-        createType(getTypesDef(ImmutableList.of(enumTypeDefinition), null, null, null));
-        createType(getTypesDef(null, ImmutableList.of(structTypeDefinition), null, null));
-        createType(getTypesDef(null, null,
-                 ImmutableList.of(classificationTrait, piiTrait, phiTrait, pciTrait,
-                         soxTrait, secTrait, financeTrait), null));
-        createType(getTypesDef(null, null, null,
-                ImmutableList.of(dbClsDef, columnClsDef, tblClsDef, loadProcessClsDef)));
-    }
-
-    protected void createTypeDefinitionsV2() throws Exception {
-        
-        AtlasConstraintDef isCompositeSourceConstraint = new AtlasConstraintDef(CONSTRAINT_TYPE_OWNED_REF);
-
-        AtlasConstraintDef isCompositeTargetConstraint = new AtlasConstraintDef(CONSTRAINT_TYPE_INVERSE_REF,
-                Collections.<String, Object>singletonMap(CONSTRAINT_PARAM_ATTRIBUTE, "randomTable"));
-
-        AtlasEntityDef dbClsTypeDef = AtlasTypeUtil.createClassTypeDef(
-                DATABASE_TYPE_V2,
-                null,
-                AtlasTypeUtil.createUniqueRequiredAttrDef(NAME, "string"),
-                AtlasTypeUtil.createRequiredAttrDef(DESCRIPTION, "string"),
-                AtlasTypeUtil.createOptionalAttrDef("locationUri", "string"),
-                AtlasTypeUtil.createOptionalAttrDef("owner", "string"),
-                AtlasTypeUtil.createOptionalAttrDef("createTime", "int"),
-                AtlasTypeUtil.createOptionalAttrDef("createTime", "int"), 
-                //there is a serializ
-                new AtlasAttributeDef("randomTable", 
-                        DataTypes.arrayTypeName(HIVE_TABLE_TYPE_V2),
-                        true,
-                        Cardinality.SET,
-                        0, -1, false, true, Collections.singletonList(isCompositeSourceConstraint))
-        );
-
-        AtlasEntityDef columnClsDef = AtlasTypeUtil
-                .createClassTypeDef(COLUMN_TYPE_V2, null,
-                        AtlasTypeUtil.createOptionalAttrDef(NAME, "string"),
-                        AtlasTypeUtil.createOptionalAttrDef("dataType", "string"),
-                        AtlasTypeUtil.createOptionalAttrDef("comment", "string"));
-
-        AtlasStructDef structTypeDef = AtlasTypeUtil.createStructTypeDef("serdeType",
-                AtlasTypeUtil.createRequiredAttrDef(NAME, "string"),
-                AtlasTypeUtil.createRequiredAttrDef("serde", "string")
-        );
-
-        AtlasEnumDef enumDef = new AtlasEnumDef("tableType", DESCRIPTION, Arrays.asList(
-                new AtlasEnumDef.AtlasEnumElementDef("MANAGED", null, 1),
-                new AtlasEnumDef.AtlasEnumElementDef("EXTERNAL", null, 2)
-        ));
-
-        AtlasEntityDef tblClsDef = AtlasTypeUtil
-                .createClassTypeDef(HIVE_TABLE_TYPE_V2,
-                        ImmutableSet.of("DataSet"),
-                        AtlasTypeUtil.createOptionalAttrDef("owner", "string"),
-                        AtlasTypeUtil.createOptionalAttrDef("createTime", "long"),
-                        AtlasTypeUtil.createOptionalAttrDef("lastAccessTime", "date"),
-                        AtlasTypeUtil.createOptionalAttrDef("temporary", "boolean"),
-                        new AtlasAttributeDef("db", 
-                                DATABASE_TYPE_V2,
-                                true,
-                                Cardinality.SINGLE,
-                                0, 1, false, true, Collections.singletonList(isCompositeTargetConstraint)),
-                        
-                        //some tests don't set the columns field or set it to null...
-                        AtlasTypeUtil.createOptionalAttrDef("columns", DataTypes.arrayTypeName(COLUMN_TYPE_V2)),
-                        AtlasTypeUtil.createOptionalAttrDef("tableType", "tableType"),
-                        AtlasTypeUtil.createOptionalAttrDef("serde1", "serdeType"),
-                        AtlasTypeUtil.createOptionalAttrDef("serde2", "serdeType"));
-
-        AtlasEntityDef loadProcessClsDef = AtlasTypeUtil
-                .createClassTypeDef(HIVE_PROCESS_TYPE_V2,
-                        ImmutableSet.of("Process"),
-                        AtlasTypeUtil.createOptionalAttrDef("userName", "string"),
-                        AtlasTypeUtil.createOptionalAttrDef("startTime", "int"),
-                        AtlasTypeUtil.createOptionalAttrDef("endTime", "long"),
-                        AtlasTypeUtil.createRequiredAttrDef("queryText", "string"),
-                        AtlasTypeUtil.createRequiredAttrDef("queryPlan", "string"),
-                        AtlasTypeUtil.createRequiredAttrDef("queryId", "string"),
-                        AtlasTypeUtil.createRequiredAttrDef("queryGraph", "string"));
-
-        AtlasClassificationDef classificationTrait = AtlasTypeUtil
-                .createTraitTypeDef("classification",ImmutableSet.<String>of(),
-                        AtlasTypeUtil.createRequiredAttrDef("tag", "string"));
-        AtlasClassificationDef piiTrait =
-                AtlasTypeUtil.createTraitTypeDef("pii", ImmutableSet.<String>of());
-        AtlasClassificationDef phiTrait =
-                AtlasTypeUtil.createTraitTypeDef("phi", ImmutableSet.<String>of());
-        AtlasClassificationDef pciTrait =
-                AtlasTypeUtil.createTraitTypeDef("pci", ImmutableSet.<String>of());
-        AtlasClassificationDef soxTrait =
-                AtlasTypeUtil.createTraitTypeDef("sox", ImmutableSet.<String>of());
-        AtlasClassificationDef secTrait =
-                AtlasTypeUtil.createTraitTypeDef("sec", ImmutableSet.<String>of());
-        AtlasClassificationDef financeTrait =
-                AtlasTypeUtil.createTraitTypeDef("finance", ImmutableSet.<String>of());
-
-        AtlasTypesDef typesDef = new AtlasTypesDef(ImmutableList.of(enumDef),
-                ImmutableList.of(structTypeDef),
-                ImmutableList.of(classificationTrait, piiTrait, phiTrait, pciTrait, soxTrait, secTrait, financeTrait),
-                ImmutableList.of(dbClsTypeDef, columnClsDef, tblClsDef, loadProcessClsDef));
-
-        batchCreateTypes(typesDef);
-    }
-
-    AttributeDefinition attrDef(String name, IDataType dT) {
-        return attrDef(name, dT, Multiplicity.OPTIONAL, false, null);
-    }
-
-    AttributeDefinition attrDef(String name, IDataType dT, Multiplicity m) {
-        return attrDef(name, dT, m, false, null);
-    }
-
-    AttributeDefinition attrDef(String name, IDataType dT, Multiplicity m, boolean isComposite,
-                                String reverseAttributeName) {
-        Preconditions.checkNotNull(name);
-        Preconditions.checkNotNull(dT);
-        return new AttributeDefinition(name, dT.getName(), m, isComposite, reverseAttributeName);
-    }
-
-    protected String randomString() {
-        //names cannot start with a digit
-        return RandomStringUtils.randomAlphabetic(1) + RandomStringUtils.randomAlphanumeric(9);
-    }
-
-    protected Referenceable createHiveTableInstanceBuiltIn(String dbName, String tableName, Id dbId) throws Exception {
-        Map<String, Object> values = new HashMap<>();
-        values.put(NAME, dbName);
-        values.put(DESCRIPTION, "foo database");
-        values.put(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, dbName);
-        values.put("owner", "user1");
-        values.put(CLUSTER_NAME, "cl1");
-        values.put("parameters", Collections.EMPTY_MAP);
-        values.put("location", "/tmp");
-        Referenceable databaseInstance = new Referenceable(dbId._getId(), dbId.getTypeName(), values);
-        Referenceable tableInstance =
-                new Referenceable(HIVE_TABLE_TYPE_BUILTIN, "classification", "pii", "phi", "pci", "sox", "sec", "finance");
-        tableInstance.set(NAME, tableName);
-        tableInstance.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, tableName);
-        tableInstance.set("db", databaseInstance);
-        tableInstance.set(DESCRIPTION, "bar table");
-        tableInstance.set("lastAccessTime", "2014-07-11T08:00:00.000Z");
-        tableInstance.set("type", "managed");
-        tableInstance.set("level", 2);
-        tableInstance.set("tableType", 1); // enum
-        tableInstance.set("compressed", false);
-
-        Struct traitInstance = (Struct) tableInstance.getTrait("classification");
-        traitInstance.set("tag", "foundation_etl");
-
-        Struct serde1Instance = new Struct("serdeType");
-        serde1Instance.set(NAME, "serde1");
-        serde1Instance.set("serde", "serde1");
-        tableInstance.set("serde1", serde1Instance);
-
-        Struct serde2Instance = new Struct("serdeType");
-        serde2Instance.set(NAME, "serde2");
-        serde2Instance.set("serde", "serde2");
-        tableInstance.set("serde2", serde2Instance);
-
-        List<String> traits = tableInstance.getTraits();
-        Assert.assertEquals(traits.size(), 7);
-
-        return tableInstance;
-    }
-
-    protected AtlasEntity createHiveTableInstanceV2(AtlasEntity databaseInstance, String tableName) throws Exception {
-        AtlasEntity tableInstance = new AtlasEntity(HIVE_TABLE_TYPE_V2);
-        tableInstance.setClassifications(
-                Arrays.asList(new AtlasClassification("classification"),
-                        new AtlasClassification("pii"),
-                        new AtlasClassification("phi"),
-                        new AtlasClassification("pci"),
-                        new AtlasClassification("sox"),
-                        new AtlasClassification("sec"),
-                        new AtlasClassification("finance"))
-        );
-
-        tableInstance.setAttribute(NAME, tableName);
-        tableInstance.setAttribute(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, tableName);
-        tableInstance.setAttribute("db", AtlasTypeUtil.getAtlasObjectId(databaseInstance));
-        tableInstance.setAttribute(DESCRIPTION, "bar table");
-        tableInstance.setAttribute("lastAccessTime", "2014-07-11T08:00:00.000Z");
-        tableInstance.setAttribute("type", "managed");
-        tableInstance.setAttribute("level", 2);
-        tableInstance.setAttribute("tableType", "MANAGED"); // enum
-        tableInstance.setAttribute("compressed", false);
-
-        AtlasClassification classification = tableInstance.getClassifications().get(0);
-        classification.setAttribute("tag", "foundation_etl");
-
-        AtlasStruct serde1Instance = new AtlasStruct("serdeType");
-        serde1Instance.setAttribute(NAME, "serde1");
-        serde1Instance.setAttribute("serde", "serde1");
-        tableInstance.setAttribute("serde1", serde1Instance);
-
-        AtlasStruct serde2Instance = new AtlasStruct("serdeType");
-        serde2Instance.setAttribute(NAME, "serde2");
-        serde2Instance.setAttribute("serde", "serde2");
-        tableInstance.setAttribute("serde2", serde2Instance);
-
-        List<AtlasClassification> traits = tableInstance.getClassifications();
-        Assert.assertEquals(traits.size(), 7);
-
-        return tableInstance;
-    }
-    protected Referenceable createHiveDBInstanceBuiltIn(String dbName) {
-        Referenceable databaseInstance = new Referenceable(DATABASE_TYPE_BUILTIN);
-        databaseInstance.set(NAME, dbName);
-        databaseInstance.set(QUALIFIED_NAME, dbName);
-        databaseInstance.set(CLUSTER_NAME, randomString());
-        databaseInstance.set(DESCRIPTION, "foo database");
-        return databaseInstance;
-    }
-
-
-    protected Referenceable createHiveDBInstanceV1(String dbName) {
-        Referenceable databaseInstance = new Referenceable(DATABASE_TYPE);
-        databaseInstance.set(NAME, dbName);
-        databaseInstance.set(DESCRIPTION, "foo database");
-        return databaseInstance;
-    }
-
-    protected AtlasEntity createHiveDBInstanceV2(String dbName) {
-        AtlasEntity atlasEntity = new AtlasEntity(DATABASE_TYPE_V2);
-        atlasEntity.setAttribute(NAME, dbName);
-        atlasEntity.setAttribute(DESCRIPTION, "foo database");
-        atlasEntity.setAttribute("owner", "user1");
-        atlasEntity.setAttribute("locationUri", "/tmp");
-        atlasEntity.setAttribute("createTime",1000);
-        return atlasEntity;
-    }
-
-
-    public interface Predicate {
-
-        /**
-         * Perform a predicate evaluation.
-         *
-         * @return the boolean result of the evaluation.
-         * @throws Exception thrown if the predicate evaluation could not evaluate.
-         */
-        boolean evaluate() throws Exception;
-    }
-
-    public interface NotificationPredicate {
-
-        /**
-         * Perform a predicate evaluation.
-         *
-         * @return the boolean result of the evaluation.
-         * @throws Exception thrown if the predicate evaluation could not evaluate.
-         */
-        boolean evaluate(EntityNotification notification) throws Exception;
-    }
-
-    /**
-     * Wait for a condition, expressed via a {@link Predicate} to become true.
-     *
-     * @param timeout maximum time in milliseconds to wait for the predicate to become true.
-     * @param predicate predicate waiting on.
-     */
-    protected void waitFor(int timeout, Predicate predicate) throws Exception {
-        ParamChecker.notNull(predicate, "predicate");
-        long mustEnd = System.currentTimeMillis() + timeout;
-
-        boolean eval;
-        while (!(eval = predicate.evaluate()) && System.currentTimeMillis() < mustEnd) {
-            LOG.info("Waiting up to {} msec", mustEnd - System.currentTimeMillis());
-            Thread.sleep(100);
-        }
-        if (!eval) {
-            throw new Exception("Waiting timed out after " + timeout + " msec");
-        }
-    }
-
-    protected EntityNotification waitForNotification(final NotificationConsumer<EntityNotification> consumer, int maxWait,
-                                                     final NotificationPredicate predicate) throws Exception {
-        final TypeUtils.Pair<EntityNotification, String> pair = TypeUtils.Pair.of(null, null);
-        final long maxCurrentTime = System.currentTimeMillis() + maxWait;
-        waitFor(maxWait, new Predicate() {
-            @Override
-            public boolean evaluate() throws Exception {
-                try {
-                    while (consumer.hasNext() && System.currentTimeMillis() < maxCurrentTime) {
-                        EntityNotification notification = consumer.next();
-                        if (predicate.evaluate(notification)) {
-                            pair.left = notification;
-                            return true;
-                        }
-                    }
-                } catch(ConsumerTimeoutException e) {
-                    //ignore
-                }
-                return false;
-            }
-        });
-        return pair.left;
-    }
-
-    protected NotificationPredicate newNotificationPredicate(final EntityNotification.OperationType operationType,
-                                                             final String typeName, final String guid) {
-        return new NotificationPredicate() {
-            @Override
-            public boolean evaluate(EntityNotification notification) throws Exception {
-                return notification != null &&
-                        notification.getOperationType() == operationType &&
-                        notification.getEntity().getTypeName().equals(typeName) &&
-                        notification.getEntity().getId()._getId().equals(guid);
-            }
-        };
-    }
-
-    protected JSONArray searchByDSL(String dslQuery) throws AtlasServiceException {
-        return atlasClientV1.searchByDSL(dslQuery, 10, 0);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/96fb0e77/webapp/src/test/java/org/apache/atlas/web/resources/DataSetLineageJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/DataSetLineageJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/DataSetLineageJerseyResourceIT.java
deleted file mode 100644
index ee4057d..0000000
--- a/webapp/src/test/java/org/apache/atlas/web/resources/DataSetLineageJerseyResourceIT.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas.web.resources;
-
-import com.google.common.collect.ImmutableList;
-import org.apache.atlas.AtlasClient;
-import org.apache.atlas.AtlasServiceException;
-import org.apache.atlas.typesystem.Referenceable;
-import org.apache.atlas.typesystem.Struct;
-import org.apache.atlas.typesystem.json.InstanceSerialization;
-import org.apache.atlas.typesystem.persistence.Id;
-import org.codehaus.jettison.json.JSONArray;
-import org.codehaus.jettison.json.JSONObject;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-import org.apache.atlas.typesystem.types.HierarchicalTypeDefinition;
-import org.apache.atlas.typesystem.types.TraitType;
-import org.apache.atlas.typesystem.types.utils.TypesUtil;
-import com.google.common.collect.ImmutableSet;
-
-import java.util.List;
-import java.util.Map;
-
-import static org.testng.Assert.assertEquals;
-
-/**
- * Hive Lineage Integration Tests.
- */
-public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
-
-    private String salesFactTable;
-    private String salesMonthlyTable;
-    private String salesDBName;
-
-    @BeforeClass
-    public void setUp() throws Exception {
-        super.setUp();
-
-        createTypeDefinitionsV1();
-        setupInstances();
-    }
-
-    @Test
-    public void testInputsGraph() throws Exception {
-        JSONObject response = atlasClientV1.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_INPUTS_GRAPH, null, salesMonthlyTable, "inputs", "graph");
-        Assert.assertNotNull(response);
-        System.out.println("inputs graph = " + response);
-
-        Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
-
-        JSONObject results = response.getJSONObject(AtlasClient.RESULTS);
-        Assert.assertNotNull(results);
-
-        Struct resultsInstance = InstanceSerialization.fromJsonStruct(results.toString(), true);
-        Map<String, Struct> vertices = (Map<String, Struct>) resultsInstance.get("vertices");
-        Assert.assertEquals(vertices.size(), 4);
-
-        Map<String, Struct> edges = (Map<String, Struct>) resultsInstance.get("edges");
-        Assert.assertEquals(edges.size(), 4);
-    }
-
-    @Test
-    public void testInputsGraphForEntity() throws Exception {
-        String tableId = atlasClientV1.getEntity(HIVE_TABLE_TYPE, AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME,
-                salesMonthlyTable).getId()._getId();
-        JSONObject results = atlasClientV1.getInputGraphForEntity(tableId);
-        Assert.assertNotNull(results);
-
-        Struct resultsInstance = InstanceSerialization.fromJsonStruct(results.toString(), true);
-        Map<String, Struct> vertices = (Map<String, Struct>) resultsInstance.get("vertices");
-        Assert.assertEquals(vertices.size(), 4);
-        Struct vertex = vertices.get(tableId);
-        assertEquals(((Struct) vertex.get("vertexId")).get("state"), Id.EntityState.ACTIVE.name());
-
-        Map<String, Struct> edges = (Map<String, Struct>) resultsInstance.get("edges");
-        Assert.assertEquals(edges.size(), 4);
-    }
-
-    @Test
-    public void testOutputsGraph() throws Exception {
-        JSONObject response = atlasClientV1.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_OUTPUTS_GRAPH, null, salesFactTable, "outputs", "graph");
-        Assert.assertNotNull(response);
-        System.out.println("outputs graph= " + response);
-
-        Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
-
-        JSONObject results = response.getJSONObject(AtlasClient.RESULTS);
-        Assert.assertNotNull(results);
-
-        Struct resultsInstance = InstanceSerialization.fromJsonStruct(results.toString(), true);
-        Map<String, Struct> vertices = (Map<String, Struct>) resultsInstance.get("vertices");
-        Assert.assertEquals(vertices.size(), 3);
-
-        Map<String, Struct> edges = (Map<String, Struct>) resultsInstance.get("edges");
-        Assert.assertEquals(edges.size(), 4);
-    }
-
-    @Test
-    public void testOutputsGraphForEntity() throws Exception {
-        String tableId = atlasClientV1.getEntity(HIVE_TABLE_TYPE, AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME,
-                salesFactTable).getId()._getId();
-        JSONObject results = atlasClientV1.getOutputGraphForEntity(tableId);
-        Assert.assertNotNull(results);
-
-        Struct resultsInstance = InstanceSerialization.fromJsonStruct(results.toString(), true);
-        Map<String, Struct> vertices = (Map<String, Struct>) resultsInstance.get("vertices");
-        Assert.assertEquals(vertices.size(), 3);
-        Struct vertex = vertices.get(tableId);
-        assertEquals(((Struct) vertex.get("vertexId")).get("state"), Id.EntityState.ACTIVE.name());
-
-        Map<String, Struct> edges = (Map<String, Struct>) resultsInstance.get("edges");
-        Assert.assertEquals(edges.size(), 4);
-    }
-
-    @Test
-    public void testSchema() throws Exception {
-        JSONObject response = atlasClientV1.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, salesFactTable, "schema");
-
-        Assert.assertNotNull(response);
-        System.out.println("schema = " + response);
-
-        Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
-
-        JSONObject results = response.getJSONObject(AtlasClient.RESULTS);
-        Assert.assertNotNull(results);
-
-        JSONArray rows = results.getJSONArray("rows");
-        Assert.assertEquals(rows.length(), 4);
-
-        for (int index = 0; index < rows.length(); index++) {
-            final JSONObject row = rows.getJSONObject(index);
-            LOG.info("JsonRow - {}", row);
-            Assert.assertNotNull(row.getString("name"));
-            Assert.assertNotNull(row.getString("comment"));
-            Assert.assertEquals(row.getString("$typeName$"), "hive_column_v1");
-        }
-    }
-
-    @Test
-    public void testSchemaForEntity() throws Exception {
-        String tableId = atlasClientV1.getEntity(HIVE_TABLE_TYPE, AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, salesFactTable).getId()._getId();
-        JSONObject results = atlasClientV1.getSchemaForEntity(tableId);
-        Assert.assertNotNull(results);
-
-        JSONArray rows = results.getJSONArray("rows");
-        Assert.assertEquals(rows.length(), 4);
-
-        for (int index = 0; index < rows.length(); index++) {
-            final JSONObject row = rows.getJSONObject(index);
-            LOG.info("JsonRow - {}", row);
-            Assert.assertNotNull(row.getString("name"));
-            Assert.assertNotNull(row.getString("comment"));
-            Assert.assertEquals(row.getString("$typeName$"), "hive_column_v1");
-        }
-    }
-
-    @Test(expectedExceptions = AtlasServiceException.class)
-    public void testSchemaForInvalidTable() throws Exception {
-        JSONObject response = atlasClientV1.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, "blah", "schema");
-    }
-
-    @Test(expectedExceptions = AtlasServiceException.class)
-    public void testSchemaForDB() throws Exception {
-        JSONObject response = atlasClientV1.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, salesDBName, "schema");
-    }
-
-    private void setupInstances() throws Exception {
-        HierarchicalTypeDefinition<TraitType> factTrait =
-                TypesUtil.createTraitTypeDef("Fact", ImmutableSet.<String>of());
-        HierarchicalTypeDefinition<TraitType> etlTrait =
-                TypesUtil.createTraitTypeDef("ETL", ImmutableSet.<String>of());
-        HierarchicalTypeDefinition<TraitType> dimensionTrait =
-                TypesUtil.createTraitTypeDef("Dimension", ImmutableSet.<String>of());
-        HierarchicalTypeDefinition<TraitType> metricTrait =
-                TypesUtil.createTraitTypeDef("Metric", ImmutableSet.<String>of());
-        createType(getTypesDef(null, null,
-                        ImmutableList.of(factTrait, etlTrait, dimensionTrait, metricTrait), null));
-
-        salesDBName = "Sales" + randomString();
-        Id salesDB = database(salesDBName, "Sales Database", "John ETL",
-                "hdfs://host:8000/apps/warehouse/sales");
-
-        List<Referenceable> salesFactColumns = ImmutableList
-                .of(column("time_id", "int", "time id"), column("product_id", "int", "product id"),
-                        column("customer_id", "int", "customer id", "pii"),
-                        column("sales", "double", "product id", "Metric"));
-
-        salesFactTable = "sales_fact" + randomString();
-        Id salesFact = table(salesFactTable, "sales fact table", salesDB, "Joe", "MANAGED", salesFactColumns, "Fact");
-
-        List<Referenceable> timeDimColumns = ImmutableList
-                .of(column("time_id", "int", "time id"), column("dayOfYear", "int", "day Of Year"),
-                        column("weekDay", "int", "week Day"));
-
-        Id timeDim =
-                table("time_dim" + randomString(), "time dimension table", salesDB, "John Doe", "EXTERNAL",
-                        timeDimColumns, "Dimension");
-
-        Id reportingDB =
-                database("Reporting" + randomString(), "reporting database", "Jane BI",
-                        "hdfs://host:8000/apps/warehouse/reporting");
-
-        Id salesFactDaily =
-                table("sales_fact_daily_mv" + randomString(), "sales fact daily materialized view", reportingDB,
-                        "Joe BI", "MANAGED", salesFactColumns, "Metric");
-
-        loadProcess("loadSalesDaily" + randomString(), "John ETL", ImmutableList.of(salesFact, timeDim),
-                ImmutableList.of(salesFactDaily), "create table as select ", "plan", "id", "graph", "ETL");
-
-        salesMonthlyTable = "sales_fact_monthly_mv" + randomString();
-        Id salesFactMonthly =
-                table(salesMonthlyTable, "sales fact monthly materialized view", reportingDB, "Jane BI",
-                        "MANAGED", salesFactColumns, "Metric");
-
-        loadProcess("loadSalesMonthly" + randomString(), "John ETL", ImmutableList.of(salesFactDaily),
-                ImmutableList.of(salesFactMonthly), "create table as select ", "plan", "id", "graph", "ETL");
-    }
-
-    Id database(String name, String description, String owner, String locationUri, String... traitNames)
-    throws Exception {
-        Referenceable referenceable = new Referenceable(DATABASE_TYPE, traitNames);
-        referenceable.set(NAME, name);
-        referenceable.set(QUALIFIED_NAME, name);
-        referenceable.set(CLUSTER_NAME, locationUri + name);
-        referenceable.set("description", description);
-        referenceable.set("owner", owner);
-        referenceable.set("locationUri", locationUri);
-        referenceable.set("createTime", System.currentTimeMillis());
-
-        return createInstance(referenceable);
-    }
-
-    Referenceable column(String name, String type, String comment, String... traitNames) throws Exception {
-        Referenceable referenceable = new Referenceable(COLUMN_TYPE, traitNames);
-        referenceable.set(NAME, name);
-        referenceable.set(QUALIFIED_NAME, name);
-        referenceable.set("type", type);
-        referenceable.set("comment", comment);
-
-        return referenceable;
-    }
-
-    Id table(String name, String description, Id dbId, String owner, String tableType, List<Referenceable> columns,
-            String... traitNames) throws Exception {
-        Referenceable referenceable = new Referenceable(HIVE_TABLE_TYPE, traitNames);
-        referenceable.set("name", name);
-        referenceable.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, name);
-        referenceable.set("description", description);
-        referenceable.set("owner", owner);
-        referenceable.set("tableType", tableType);
-        referenceable.set("createTime", System.currentTimeMillis());
-        referenceable.set("lastAccessTime", System.currentTimeMillis());
-        referenceable.set("retention", System.currentTimeMillis());
-
-        referenceable.set("db", dbId);
-        referenceable.set("columns", columns);
-
-        return createInstance(referenceable);
-    }
-
-    Id loadProcess(String name, String user, List<Id> inputTables, List<Id> outputTables, String queryText,
-            String queryPlan, String queryId, String queryGraph, String... traitNames) throws Exception {
-        Referenceable referenceable = new Referenceable(HIVE_PROCESS_TYPE, traitNames);
-        referenceable.set("name", name);
-        referenceable.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, name);
-        referenceable.set("userName", user);
-        referenceable.set("startTime", System.currentTimeMillis());
-        referenceable.set("endTime", System.currentTimeMillis() + 10000);
-
-        referenceable.set("inputs", inputTables);
-        referenceable.set("outputs", outputTables);
-
-        referenceable.set("operationType", "testOperation");
-        referenceable.set("queryText", queryText);
-        referenceable.set("queryPlan", queryPlan);
-        referenceable.set("queryId", queryId);
-        referenceable.set("queryGraph", queryGraph);
-
-        return createInstance(referenceable);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/96fb0e77/webapp/src/test/java/org/apache/atlas/web/resources/EntityDiscoveryJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/EntityDiscoveryJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/EntityDiscoveryJerseyResourceIT.java
index a51f371..e69de29 100755
--- a/webapp/src/test/java/org/apache/atlas/web/resources/EntityDiscoveryJerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/EntityDiscoveryJerseyResourceIT.java
@@ -1,227 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas.web.resources;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
-import org.apache.atlas.AtlasServiceException;
-import org.apache.atlas.model.discovery.AtlasSearchResult;
-import org.apache.atlas.model.discovery.AtlasSearchResult.AtlasFullTextResult;
-import org.apache.atlas.model.discovery.AtlasSearchResult.AtlasQueryType;
-import org.apache.atlas.model.instance.AtlasEntity.Status;
-import org.apache.atlas.model.instance.AtlasEntityHeader;
-import org.apache.atlas.typesystem.TypesDef;
-import org.apache.atlas.typesystem.types.ClassType;
-import org.apache.atlas.typesystem.types.DataTypes;
-import org.apache.atlas.typesystem.types.EnumTypeDefinition;
-import org.apache.atlas.typesystem.types.HierarchicalTypeDefinition;
-import org.apache.atlas.typesystem.types.StructTypeDefinition;
-import org.apache.atlas.typesystem.types.TraitType;
-import org.apache.atlas.typesystem.types.utils.TypesUtil;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import javax.ws.rs.core.MultivaluedMap;
-import java.util.List;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertNull;
-
-/**
- * Search V2 Integration Tests.
- */
-public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
-    private String dbName;
-
-    @BeforeClass
-    public void setUp() throws Exception {
-        super.setUp();
-        dbName = "database" + randomString();
-        createTypes();
-        createInstance(createHiveDBInstanceBuiltIn(dbName));
-    }
-
-    @Test
-    public void testSearchByDSL() throws Exception {
-        String dslQuery = "from "+ DATABASE_TYPE_BUILTIN + " " + QUALIFIED_NAME + "=\"" + dbName + "\"";
-
-        AtlasSearchResult searchResult = atlasClientV2.dslSearch(dslQuery);
-        assertNotNull(searchResult);
-        assertEquals(searchResult.getQueryText(), dslQuery);
-        assertEquals(searchResult.getQueryType(), AtlasQueryType.DSL);
-
-        List<AtlasEntityHeader> entities = searchResult.getEntities();
-        assertNotNull(entities);
-        assertEquals(entities.size(), 1);
-
-        AtlasEntityHeader dbEntity = entities.get(0);
-        assertEquals(dbEntity.getTypeName(), DATABASE_TYPE_BUILTIN);
-        assertEquals(dbEntity.getDisplayText(), dbName);
-        assertEquals(dbEntity.getStatus(), Status.ACTIVE);
-        assertNotNull(dbEntity.getGuid());
-        assertNull(searchResult.getAttributes());
-        assertNull(searchResult.getFullTextResult());
-    }
-
-    @Test
-    public void testSearchDSLLimits() throws Exception {
-        String dslQuery = "from "+ DATABASE_TYPE_BUILTIN + " " + QUALIFIED_NAME + "=\"" + dbName + "\"";
-        AtlasSearchResult searchResult = atlasClientV2.dslSearch(dslQuery);
-        assertNotNull(searchResult);
-
-        //higher limit, all results returned
-        searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 10, 0);
-        assertEquals(searchResult.getEntities().size(), 1);
-
-        //default limit and offset -1, all results returned
-        searchResult = atlasClientV2.dslSearchWithParams(dslQuery, -1, -1);
-        assertEquals(searchResult.getEntities().size(), 1);
-
-        //uses the limit parameter passed
-        searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 1, 0);
-        assertEquals(searchResult.getEntities().size(), 1);
-
-        //uses the offset parameter passed
-        searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 10, 1);
-        assertNull(searchResult.getEntities());
-
-        //limit > 0
-        searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 0, 10);
-        assertNull(searchResult.getEntities());
-
-        //limit > maxlimit
-        searchResult = atlasClientV2.dslSearchWithParams(dslQuery, Integer.MAX_VALUE, 10);
-        assertNull(searchResult.getEntities());
-
-        //offset >= 0
-        searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 10, -2);
-        assertEquals(searchResult.getEntities().size(), 1);
-    }
-
-    @Test(expectedExceptions = AtlasServiceException.class)
-    public void testSearchByDSLForUnknownType() throws Exception {
-        String dslQuery = "from blah";
-        atlasClientV2.dslSearch(dslQuery);
-    }
-
-    @Test
-    public void testSearchUsingDSL() throws Exception {
-        String query = "from "+ DATABASE_TYPE_BUILTIN + " " + QUALIFIED_NAME + "=\"" + dbName + "\"";
-        AtlasSearchResult searchResult = atlasClientV2.dslSearch(query);
-        assertNotNull(searchResult);
-
-        assertEquals(searchResult.getQueryText(), query);
-        assertEquals(searchResult.getQueryType(), AtlasQueryType.DSL);
-        List<AtlasEntityHeader> entities = searchResult.getEntities();
-        assertNotNull(entities);
-        assertEquals(entities.size(), 1);
-
-        AtlasEntityHeader dbEntity = entities.get(0);
-        assertEquals(dbEntity.getTypeName(), DATABASE_TYPE_BUILTIN);
-        assertEquals(dbEntity.getDisplayText(), dbName);
-        assertEquals(dbEntity.getStatus(), Status.ACTIVE);
-
-        assertNotNull(dbEntity.getGuid());
-        assertNull(searchResult.getAttributes());
-        assertNull(searchResult.getFullTextResult());
-    }
-
-    @Test
-    public void testLikeSearchUsingDSL() throws Exception {
-        String dslQuery = DATABASE_TYPE_BUILTIN + " where " + QUALIFIED_NAME + " like \"da?a*\"";
-
-        AtlasSearchResult searchResult = atlasClientV2.dslSearch(dslQuery);
-        assertNotNull(searchResult);
-
-        List<AtlasEntityHeader> entities = searchResult.getEntities();
-        assertNotNull(entities);
-        assertEquals(entities.size(), 1);
-
-        AtlasEntityHeader dbEntity = entities.get(0);
-        assertEquals(dbEntity.getTypeName(), DATABASE_TYPE_BUILTIN);
-        assertEquals(dbEntity.getDisplayText(), dbName);
-    }
-
-    @Test
-    public void testSearchFullTextOnDSLFailure() throws Exception {
-        String query = "*";
-        AtlasSearchResult searchResult = atlasClientV2.fullTextSearch(query);
-        assertNotNull(searchResult);
-        assertEquals(searchResult.getQueryText(), query);
-        assertEquals(searchResult.getQueryType(), AtlasQueryType.FULL_TEXT);
-    }
-
-    @Test(dependsOnMethods = "testSearchDSLLimits")
-    public void testSearchUsingFullText() throws Exception {
-        AtlasSearchResult searchResult = atlasClientV2.fullTextSearchWithParams(dbName, 10, 0);
-        assertNotNull(searchResult);
-
-        assertEquals(searchResult.getQueryText(), dbName);
-        assertEquals(searchResult.getQueryType(), AtlasQueryType.FULL_TEXT);
-
-        List<AtlasFullTextResult> fullTextResults = searchResult.getFullTextResult();
-        assertEquals(fullTextResults.size(), 1);
-
-        AtlasFullTextResult result = fullTextResults.get(0);
-        assertNotNull(result.getEntity());
-        assertEquals(result.getEntity().getTypeName(), DATABASE_TYPE_BUILTIN);
-        assertNotNull(result.getScore());
-
-        //API works without limit and offset
-        String query = dbName;
-        MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
-        queryParams.add("query", query);
-        searchResult = atlasClientV2.fullTextSearch(query);
-        assertNotNull(searchResult);
-        assertEquals(searchResult.getFullTextResult().size(), 1);
-
-        //verify passed in limits and offsets are used
-        //higher limit and 0 offset returns all results
-        searchResult = atlasClientV2.fullTextSearchWithParams(query, 10, 0);
-        assertEquals(searchResult.getFullTextResult().size(), 1);
-
-        //offset is used
-        searchResult = atlasClientV2.fullTextSearchWithParams(query, 10, 1);
-        assertEquals(searchResult.getFullTextResult().size(), 1);
-
-        //limit is used
-        searchResult = atlasClientV2.fullTextSearchWithParams(query, 1, 0);
-        assertEquals(searchResult.getFullTextResult().size(), 1);
-
-        //higher offset returns 0 results
-        searchResult = atlasClientV2.fullTextSearchWithParams(query, 1, 2);
-        assertEquals(searchResult.getFullTextResult().size(), 1);
-    }
-
-    private void createTypes() throws Exception {
-        HierarchicalTypeDefinition<ClassType> dslTestTypeDefinition = TypesUtil
-                .createClassTypeDef("dsl_test_type", ImmutableSet.<String>of(),
-                        TypesUtil.createUniqueRequiredAttrDef("name", DataTypes.STRING_TYPE),
-                        TypesUtil.createRequiredAttrDef("description", DataTypes.STRING_TYPE));
-
-        HierarchicalTypeDefinition<TraitType> classificationTraitDefinition = TypesUtil
-                .createTraitTypeDef("Classification", ImmutableSet.<String>of(),
-                        TypesUtil.createRequiredAttrDef("tag", DataTypes.STRING_TYPE));
-        TypesDef typesDef = TypesUtil.getTypesDef(ImmutableList.<EnumTypeDefinition>of(), ImmutableList.<StructTypeDefinition>of(),
-                ImmutableList.of(classificationTraitDefinition), ImmutableList.of(dslTestTypeDefinition));
-        createType(typesDef);
-    }
-}