Repository: incubator-atlas Updated Branches: refs/heads/master 6cd681194 -> 89f706096
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/89f70609/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 index 51be64c..9ea71ad 100755 --- a/webapp/src/test/java/org/apache/atlas/web/resources/BaseResourceIT.java +++ b/webapp/src/test/java/org/apache/atlas/web/resources/BaseResourceIT.java @@ -95,6 +95,12 @@ public abstract class BaseResourceIT { @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); @@ -221,13 +227,18 @@ public abstract class BaseResourceIT { try { if (!update) { entity = entitiesClientV2.createEntity(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 = entitiesClientV2.updateEntity(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); } - 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); } @@ -242,10 +253,20 @@ public abstract class BaseResourceIT { return modifyEntity(atlasEntity, true); } - protected static final String DATABASE_TYPE = "hive_db"; - protected static final String HIVE_TABLE_TYPE = "hive_table"; - protected static final String COLUMN_TYPE = "hive_column"; - protected static final String HIVE_PROCESS_TYPE = "hive_process"; + 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 @@ -323,7 +344,7 @@ public abstract class BaseResourceIT { protected void createTypeDefinitionsV2() throws Exception { AtlasEntityDef dbClsTypeDef = AtlasTypeUtil.createClassTypeDef( - DATABASE_TYPE, + DATABASE_TYPE_V2, null, AtlasTypeUtil.createUniqueRequiredAttrDef(NAME, "string"), AtlasTypeUtil.createRequiredAttrDef(DESCRIPTION, "string"), @@ -332,7 +353,7 @@ public abstract class BaseResourceIT { AtlasTypeUtil.createOptionalAttrDef("createTime", "int")); AtlasEntityDef columnClsDef = AtlasTypeUtil - .createClassTypeDef(COLUMN_TYPE, null, + .createClassTypeDef(COLUMN_TYPE_V2, null, AtlasTypeUtil.createOptionalAttrDef(NAME, "string"), AtlasTypeUtil.createOptionalAttrDef("dataType", "string"), AtlasTypeUtil.createOptionalAttrDef("comment", "string")); @@ -348,20 +369,21 @@ public abstract class BaseResourceIT { )); AtlasEntityDef tblClsDef = AtlasTypeUtil - .createClassTypeDef(HIVE_TABLE_TYPE, + .createClassTypeDef(HIVE_TABLE_TYPE_V2, ImmutableSet.of("DataSet"), AtlasTypeUtil.createOptionalAttrDef("owner", "string"), AtlasTypeUtil.createOptionalAttrDef("createTime", "long"), AtlasTypeUtil.createOptionalAttrDef("lastAccessTime", "date"), AtlasTypeUtil.createOptionalAttrDef("temporary", "boolean"), - AtlasTypeUtil.createRequiredAttrDef("db", DATABASE_TYPE), - AtlasTypeUtil.createRequiredAttrDef("columns", DataTypes.arrayTypeName(COLUMN_TYPE)), + AtlasTypeUtil.createRequiredAttrDef("db", DATABASE_TYPE_V2), + //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, + .createClassTypeDef(HIVE_PROCESS_TYPE_V2, ImmutableSet.of("Process"), AtlasTypeUtil.createOptionalAttrDef("userName", "string"), AtlasTypeUtil.createOptionalAttrDef("startTime", "int"), @@ -415,7 +437,7 @@ public abstract class BaseResourceIT { return RandomStringUtils.randomAlphabetic(1) + RandomStringUtils.randomAlphanumeric(9); } - protected Referenceable createHiveTableInstanceV1(String dbName, String tableName, Id dbId) throws Exception { + 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"); @@ -426,7 +448,7 @@ public abstract class BaseResourceIT { values.put("location", "/tmp"); Referenceable databaseInstance = new Referenceable(dbId._getId(), dbId.getTypeName(), values); Referenceable tableInstance = - new Referenceable(HIVE_TABLE_TYPE, "classification", "pii", "phi", "pci", "sox", "sec", "finance"); + 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); @@ -458,7 +480,7 @@ public abstract class BaseResourceIT { protected AtlasEntityWithAssociations createHiveTableInstanceV2(AtlasEntity databaseInstance, String tableName) throws Exception { AtlasEntityWithAssociations tableInstance = - new AtlasEntityWithAssociations(HIVE_TABLE_TYPE); + new AtlasEntityWithAssociations(HIVE_TABLE_TYPE_V2); tableInstance.setClassifications( Arrays.asList(new AtlasClassification("classification"), new AtlasClassification("pii"), @@ -497,29 +519,34 @@ public abstract class BaseResourceIT { 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(QUALIFIED_NAME, dbName); - databaseInstance.set(CLUSTER_NAME, randomString()); databaseInstance.set(DESCRIPTION, "foo database"); return databaseInstance; } protected AtlasEntity createHiveDBInstanceV2(String dbName) { - AtlasEntity atlasEntity = new AtlasEntity(DATABASE_TYPE); + AtlasEntity atlasEntity = new AtlasEntity(DATABASE_TYPE_V2); atlasEntity.setAttribute(NAME, dbName); - atlasEntity.setAttribute(QUALIFIED_NAME, dbName); atlasEntity.setAttribute(DESCRIPTION, "foo database"); - atlasEntity.setAttribute(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, dbName); atlasEntity.setAttribute("owner", "user1"); - atlasEntity.setAttribute(CLUSTER_NAME, "cl1"); - atlasEntity.setAttribute("parameters", Collections.EMPTY_MAP); - atlasEntity.setAttribute("location", "/tmp"); + atlasEntity.setAttribute("locationUri", "/tmp"); + atlasEntity.setAttribute("createTime",1000); return atlasEntity; } + public interface Predicate { /** http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/89f70609/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 index 8334e4f..ee4057d 100644 --- a/webapp/src/test/java/org/apache/atlas/web/resources/DataSetLineageJerseyResourceIT.java +++ b/webapp/src/test/java/org/apache/atlas/web/resources/DataSetLineageJerseyResourceIT.java @@ -149,8 +149,7 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT { LOG.info("JsonRow - {}", row); Assert.assertNotNull(row.getString("name")); Assert.assertNotNull(row.getString("comment")); - Assert.assertNotNull(row.getString("type")); - Assert.assertEquals(row.getString("$typeName$"), "hive_column"); + Assert.assertEquals(row.getString("$typeName$"), "hive_column_v1"); } } @@ -168,8 +167,7 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT { LOG.info("JsonRow - {}", row); Assert.assertNotNull(row.getString("name")); Assert.assertNotNull(row.getString("comment")); - Assert.assertNotNull(row.getString("type")); - Assert.assertEquals(row.getString("$typeName$"), "hive_column"); + Assert.assertEquals(row.getString("$typeName$"), "hive_column_v1"); } } http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/89f70609/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 2bbe10a..8b51d1b 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 @@ -56,12 +56,12 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT { super.setUp(); dbName = "db" + randomString(); createTypes(); - createInstance(createHiveDBInstanceV1(dbName)); + createInstance(createHiveDBInstanceBuiltIn(dbName)); } @Test public void testSearchByDSL() throws Exception { - String dslQuery = "from "+ DATABASE_TYPE + " " + QUALIFIED_NAME + "=\"" + dbName + "\""; + String dslQuery = "from "+ DATABASE_TYPE_BUILTIN + " " + QUALIFIED_NAME + "=\"" + dbName + "\""; AtlasSearchResult searchResult = discoveryClientV2.dslSearch(dslQuery); assertNotNull(searchResult); @@ -73,7 +73,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT { assertEquals(entities.size(), 1); AtlasEntityHeaderWithAssociations dbEntity = entities.get(0); - assertEquals(dbEntity.getTypeName(), DATABASE_TYPE); + assertEquals(dbEntity.getTypeName(), DATABASE_TYPE_BUILTIN); assertEquals(dbEntity.getDisplayText(), dbName); assertEquals(dbEntity.getStatus(), Status.ACTIVE); assertNotNull(dbEntity.getGuid()); @@ -83,7 +83,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT { @Test public void testSearchDSLLimits() throws Exception { - String dslQuery = "from "+ DATABASE_TYPE + " " + QUALIFIED_NAME + "=\"" + dbName + "\""; + String dslQuery = "from "+ DATABASE_TYPE_BUILTIN + " " + QUALIFIED_NAME + "=\"" + dbName + "\""; AtlasSearchResult searchResult = discoveryClientV2.dslSearch(dslQuery); assertNotNull(searchResult); @@ -124,7 +124,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT { @Test public void testSearchUsingDSL() throws Exception { - String query = "from "+ DATABASE_TYPE + " " + QUALIFIED_NAME + "=\"" + dbName + "\""; + String query = "from "+ DATABASE_TYPE_BUILTIN + " " + QUALIFIED_NAME + "=\"" + dbName + "\""; AtlasSearchResult searchResult = discoveryClientV2.dslSearch(query); assertNotNull(searchResult); @@ -135,7 +135,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT { assertEquals(entities.size(), 1); AtlasEntityHeaderWithAssociations dbEntity = entities.get(0); - assertEquals(dbEntity.getTypeName(), DATABASE_TYPE); + assertEquals(dbEntity.getTypeName(), DATABASE_TYPE_BUILTIN); assertEquals(dbEntity.getDisplayText(), dbName); assertEquals(dbEntity.getStatus(), Status.ACTIVE); @@ -166,7 +166,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT { AtlasFullTextResult result = fullTextResults.get(0); assertNotNull(result.getEntity()); - assertEquals(result.getEntity().getTypeName(), DATABASE_TYPE); + assertEquals(result.getEntity().getTypeName(), DATABASE_TYPE_BUILTIN); assertNotNull(result.getScore()); //API works without limit and offset http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/89f70609/webapp/src/test/java/org/apache/atlas/web/resources/EntityJerseyResourceIT.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/EntityJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/EntityJerseyResourceIT.java index f084053..9724c4c 100755 --- a/webapp/src/test/java/org/apache/atlas/web/resources/EntityJerseyResourceIT.java +++ b/webapp/src/test/java/org/apache/atlas/web/resources/EntityJerseyResourceIT.java @@ -85,10 +85,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { private final String DATABASE_NAME = "db" + randomString(); private final String TABLE_NAME = "table" + randomString(); - private static final String ENTITIES = "api/atlas/entities"; private static final String TRAITS = "traits"; - private static final String TRAIT_DEFINITION = "traitDefinitions"; - private Referenceable tableInstance; private Id tableId; private Id dbId; @@ -103,7 +100,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { super.setUp(); createTypeDefinitionsV1(); - Referenceable HiveDBInstance = createHiveDBInstanceV1(DATABASE_NAME); + Referenceable HiveDBInstance = createHiveDBInstanceBuiltIn(DATABASE_NAME); dbId = createInstance(HiveDBInstance); List<NotificationConsumer<EntityNotification>> consumers = @@ -114,7 +111,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test public void testSubmitEntity() throws Exception { - tableInstance = createHiveTableInstanceV1(DATABASE_NAME, TABLE_NAME, dbId); + tableInstance = createHiveTableInstanceBuiltIn(DATABASE_NAME, TABLE_NAME, dbId); tableId = createInstance(tableInstance); final String guid = tableId._getId(); @@ -127,7 +124,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test public void testRequestUser() throws Exception { - Referenceable entity = new Referenceable(DATABASE_TYPE); + Referenceable entity = new Referenceable(DATABASE_TYPE_BUILTIN); String dbName = randomString(); entity.set("name", dbName); entity.set(QUALIFIED_NAME, dbName); @@ -157,7 +154,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test //API should accept single entity (or jsonarray of entities) public void testSubmitSingleEntity() throws Exception { - Referenceable databaseInstance = new Referenceable(DATABASE_TYPE); + Referenceable databaseInstance = new Referenceable(DATABASE_TYPE_BUILTIN); String dbName = randomString(); databaseInstance.set("name", dbName); databaseInstance.set(QUALIFIED_NAME, dbName); @@ -181,9 +178,9 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test public void testEntityDeduping() throws Exception { - final Referenceable db = new Referenceable(DATABASE_TYPE); + final Referenceable db = new Referenceable(DATABASE_TYPE_BUILTIN); final String dbName = "db" + randomString(); - Referenceable HiveDBInstance = createHiveDBInstanceV1(dbName); + Referenceable HiveDBInstance = createHiveDBInstanceBuiltIn(dbName); Id dbIdReference = createInstance(HiveDBInstance); final String dbId = dbIdReference._getId(); @@ -196,7 +193,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { } }); - JSONArray results = searchByDSL(String.format("%s where qualifiedName='%s'", DATABASE_TYPE, dbName)); + JSONArray results = searchByDSL(String.format("%s where qualifiedName='%s'", DATABASE_TYPE_BUILTIN, dbName)); assertEquals(results.length(), 1); //create entity again shouldn't create another instance with same unique attribute value @@ -214,15 +211,15 @@ public class EntityJerseyResourceIT extends BaseResourceIT { //expected timeout } - results = searchByDSL(String.format("%s where qualifiedName='%s'", DATABASE_TYPE, dbName)); + results = searchByDSL(String.format("%s where qualifiedName='%s'", DATABASE_TYPE_BUILTIN, dbName)); assertEquals(results.length(), 1); //Test the same across references - Referenceable table = new Referenceable(HIVE_TABLE_TYPE); + Referenceable table = new Referenceable(HIVE_TABLE_TYPE_BUILTIN); final String tableName = randomString(); - Referenceable tableInstance = createHiveTableInstanceV1(DATABASE_NAME, tableName, dbIdReference); + Referenceable tableInstance = createHiveTableInstanceBuiltIn(DATABASE_NAME, tableName, dbIdReference); atlasClientV1.createEntity(tableInstance); - results = searchByDSL(String.format("%s where qualifiedName='%s'", DATABASE_TYPE, dbName)); + results = searchByDSL(String.format("%s where qualifiedName='%s'", DATABASE_TYPE_BUILTIN, dbName)); assertEquals(results.length(), 1); } @@ -272,7 +269,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test(dataProvider = "invalidAttrValues") public void testEntityInvalidValue(String value) throws Exception { - Referenceable databaseInstance = new Referenceable(DATABASE_TYPE); + Referenceable databaseInstance = new Referenceable(DATABASE_TYPE_BUILTIN); databaseInstance.set("name", randomString()); databaseInstance.set("description", value); @@ -286,7 +283,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test public void testGetEntityByAttribute() throws Exception { - Referenceable db1 = new Referenceable(DATABASE_TYPE); + Referenceable db1 = new Referenceable(DATABASE_TYPE_BUILTIN); String dbName = randomString(); db1.set(NAME, dbName); db1.set(DESCRIPTION, randomString()); @@ -298,15 +295,15 @@ public class EntityJerseyResourceIT extends BaseResourceIT { createInstance(db1); //get entity by attribute - Referenceable referenceable = atlasClientV1.getEntity(DATABASE_TYPE, QUALIFIED_NAME, dbName); - Assert.assertEquals(referenceable.getTypeName(), DATABASE_TYPE); + Referenceable referenceable = atlasClientV1.getEntity(DATABASE_TYPE_BUILTIN, QUALIFIED_NAME, dbName); + Assert.assertEquals(referenceable.getTypeName(), DATABASE_TYPE_BUILTIN); Assert.assertEquals(referenceable.get(QUALIFIED_NAME), dbName); } @Test public void testSubmitEntityWithBadDateFormat() throws Exception { try { - Referenceable tableInstance = createHiveTableInstanceV1("db" + randomString(), "table" + randomString(), dbId); + Referenceable tableInstance = createHiveTableInstanceBuiltIn("db" + randomString(), "table" + randomString(), dbId); tableInstance.set("lastAccessTime", "2014-07-11"); tableId = createInstance(tableInstance); Assert.fail("Was expecting an exception here "); @@ -336,7 +333,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { Assert.assertEquals(e.getStatus().getStatusCode(), Response.Status.BAD_REQUEST.getStatusCode()); } - String currentTime = String.valueOf(new DateTime() ); + String currentTime = String.valueOf(new DateTime()); addProperty(guid, "createTime", currentTime); response = atlasClientV1.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, guid); @@ -368,7 +365,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test(dependsOnMethods = "testSubmitEntity") public void testAddReferenceProperty() throws Exception { //Create new db instance - Referenceable databaseInstance = new Referenceable(DATABASE_TYPE); + Referenceable databaseInstance = new Referenceable(DATABASE_TYPE_BUILTIN); String dbName = randomString(); databaseInstance.set(NAME, dbName); databaseInstance.set(QUALIFIED_NAME, dbName); @@ -420,7 +417,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test(dependsOnMethods = "testSubmitEntity") public void testGetEntityList() throws Exception { - List<String> entities = atlasClientV1.listEntities(HIVE_TABLE_TYPE); + List<String> entities = atlasClientV1.listEntities(HIVE_TABLE_TYPE_BUILTIN); Assert.assertNotNull(entities); Assert.assertTrue(entities.contains(tableId._getId())); } @@ -630,7 +627,8 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test public void testUTF8() throws Exception { - String classType = random(); + //Type names cannot be arbitrary UTF8 characters. See org.apache.atlas.type.AtlasTypeUtil#validateType() + String classType = randomString(); String attrName = random(); String attrValue = random(); @@ -651,6 +649,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { Assert.assertEquals(getReferenceable.get(attrName), attrValue); } + @Test(dependsOnMethods = "testSubmitEntity") public void testPartialUpdate() throws Exception { String colName = "col1"+randomString(); @@ -664,11 +663,11 @@ public class EntityJerseyResourceIT extends BaseResourceIT { values.put("owner", "user1"); values.put("position", 0); values.put("description", "col1"); - values.put("table", null); + values.put("table", tableId ); //table is a required reference, can't be null - Referenceable ref = new Referenceable(BaseResourceIT.COLUMN_TYPE, values); + Referenceable ref = new Referenceable(BaseResourceIT.COLUMN_TYPE_BUILTIN, values); columns.add(ref); - Referenceable tableUpdated = new Referenceable(BaseResourceIT.HIVE_TABLE_TYPE, new HashMap<String, Object>() {{ + Referenceable tableUpdated = new Referenceable(BaseResourceIT.HIVE_TABLE_TYPE_BUILTIN, new HashMap<String, Object>() {{ put("columns", columns); }}); @@ -685,14 +684,14 @@ public class EntityJerseyResourceIT extends BaseResourceIT { //Update by unique attribute values.put("type", "int"); - ref = new Referenceable(BaseResourceIT.COLUMN_TYPE, values); + ref = new Referenceable(BaseResourceIT.COLUMN_TYPE_BUILTIN, values); columns.set(0, ref); - tableUpdated = new Referenceable(BaseResourceIT.HIVE_TABLE_TYPE, new HashMap<String, Object>() {{ + tableUpdated = new Referenceable(BaseResourceIT.HIVE_TABLE_TYPE_BUILTIN, new HashMap<String, Object>() {{ put("columns", columns); }}); LOG.debug("Updating entity= {}", tableUpdated); - entityResult = atlasClientV1.updateEntity(BaseResourceIT.HIVE_TABLE_TYPE, AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, + entityResult = atlasClientV1.updateEntity(BaseResourceIT.HIVE_TABLE_TYPE_BUILTIN, AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, (String) tableInstance.get(QUALIFIED_NAME), tableUpdated); assertEquals(entityResult.getUpdateEntities().size(), 2); assertEquals(entityResult.getUpdateEntities().get(0), tableId._getId()); @@ -716,7 +715,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { values1.put("owner", "user1"); values1.put("position", 0); values1.put("description", "col3"); - values1.put("table", null); + values1.put("table", tableId); Map<String, Object> values2 = new HashMap<>(); @@ -727,10 +726,10 @@ public class EntityJerseyResourceIT extends BaseResourceIT { values2.put("owner", "user2"); values2.put("position", 1); values2.put("description", "col4"); - values2.put("table", null); + values2.put("table", tableId); - Referenceable ref1 = new Referenceable(BaseResourceIT.COLUMN_TYPE, values1); - Referenceable ref2 = new Referenceable(BaseResourceIT.COLUMN_TYPE, values2); + Referenceable ref1 = new Referenceable(BaseResourceIT.COLUMN_TYPE_BUILTIN, values1); + Referenceable ref2 = new Referenceable(BaseResourceIT.COLUMN_TYPE_BUILTIN, values2); columns.add(ref1); columns.add(ref2); tableInstance.set("columns", columns); @@ -774,7 +773,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test public void testDeleteEntitiesViaRestApi() throws Exception { // Create 2 database entities - Referenceable db1 = new Referenceable(DATABASE_TYPE); + Referenceable db1 = new Referenceable(DATABASE_TYPE_BUILTIN); String dbName = randomString(); db1.set(NAME, dbName); db1.set(DESCRIPTION, randomString()); @@ -785,7 +784,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { db1.set("location", "/tmp"); Id db1Id = createInstance(db1); - Referenceable db2 = new Referenceable(DATABASE_TYPE); + Referenceable db2 = new Referenceable(DATABASE_TYPE_BUILTIN); String dbName2 = randomString(); db2.set(NAME, dbName2); db2.set(QUALIFIED_NAME, dbName2); @@ -818,7 +817,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test public void testDeleteEntitiesViaClientApi() throws Exception { // Create 2 database entities - Referenceable db1 = new Referenceable(DATABASE_TYPE); + Referenceable db1 = new Referenceable(DATABASE_TYPE_BUILTIN); String dbName = randomString(); db1.set("name", dbName); db1.set("description", randomString()); @@ -828,7 +827,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { db1.set("parameters", Collections.EMPTY_MAP); db1.set("location", "/tmp"); Id db1Id = createInstance(db1); - Referenceable db2 = new Referenceable(DATABASE_TYPE); + Referenceable db2 = new Referenceable(DATABASE_TYPE_BUILTIN); String dbName2 = randomString(); db2.set("name", dbName2); db2.set(QUALIFIED_NAME, dbName2); @@ -844,7 +843,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { // Delete the database entities List<String> deletedGuidsList = atlasClientV1.deleteEntities(db1Id._getId(), db2Id._getId()).getDeletedEntities(); - // Verify that deleteEntities() response has database entity guids + // Verify that deleteEntities() response has database entity guids Assert.assertEquals(deletedGuidsList.size(), 2); Assert.assertTrue(deletedGuidsList.contains(db1Id._getId())); Assert.assertTrue(deletedGuidsList.contains(db2Id._getId())); @@ -859,7 +858,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test public void testDeleteEntityByUniqAttribute() throws Exception { // Create database entity - Referenceable db1 = new Referenceable(DATABASE_TYPE); + Referenceable db1 = new Referenceable(DATABASE_TYPE_BUILTIN); String dbName = randomString(); db1.set(NAME, dbName); db1.set(QUALIFIED_NAME, dbName); @@ -873,7 +872,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { Id db1Id = createInstance(db1); // Delete the database entity - List<String> deletedGuidsList = atlasClientV1.deleteEntity(DATABASE_TYPE, QUALIFIED_NAME, dbName).getDeletedEntities(); + List<String> deletedGuidsList = atlasClientV1.deleteEntity(DATABASE_TYPE_BUILTIN, QUALIFIED_NAME, dbName).getDeletedEntities(); // Verify that deleteEntities() response has database entity guids Assert.assertEquals(deletedGuidsList.size(), 1); http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/89f70609/webapp/src/test/java/org/apache/atlas/web/resources/EntityV2JerseyResourceIT.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/EntityV2JerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/EntityV2JerseyResourceIT.java index 74338fd..d9bffe9 100755 --- a/webapp/src/test/java/org/apache/atlas/web/resources/EntityV2JerseyResourceIT.java +++ b/webapp/src/test/java/org/apache/atlas/web/resources/EntityV2JerseyResourceIT.java @@ -71,16 +71,10 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { private final String DATABASE_NAME = "db" + randomString(); private final String TABLE_NAME = "table" + randomString(); - private static final String TRAITS = "traits"; - private static final String TRAIT_DEFINITION = "traitDefinitions"; - private String traitName; private AtlasEntity dbEntity; - private AtlasEntityHeader dbEntityHeader; private AtlasEntityWithAssociations tableEntity; - private AtlasEntityHeader tableEntityHeader; - @Inject private NotificationInterface notificationInterface; private NotificationConsumer<EntityNotification> notificationConsumer; @@ -99,7 +93,7 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { @Test public void testSubmitEntity() throws Exception { - TypeUtils.Pair dbAndTable = createDBAndTable(DATABASE_NAME, TABLE_NAME); + TypeUtils.Pair dbAndTable = createDBAndTable(); assertNotNull(dbAndTable); assertNotNull(dbAndTable.left); assertNotNull(dbAndTable.right); @@ -107,18 +101,18 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { @Test public void testRequestUser() throws Exception { - AtlasEntity hiveDBInstanceV2 = createHiveDB(DATABASE_NAME); + AtlasEntity hiveDBInstanceV2 = createHiveDB(randomString()); List<EntityAuditEvent> events = atlasClientV1.getEntityAuditEvents(hiveDBInstanceV2.getGuid(), (short) 10); - assertTrue(events.size() > 1); + assertEquals(events.size(), 1); assertEquals(events.get(0).getUser(), "admin"); } @Test public void testEntityDeduping() throws Exception { - JSONArray results = searchByDSL(String.format("%s where name='%s'", DATABASE_TYPE, DATABASE_NAME)); + JSONArray results = searchByDSL(String.format("%s where name='%s'", DATABASE_TYPE_V2, DATABASE_NAME)); assertEquals(results.length(), 1); - final AtlasEntity hiveDBInstanceV2 = createHiveDB(DATABASE_NAME); + final AtlasEntity hiveDBInstanceV2 = createHiveDB(); // Do the notification thing here waitForNotification(notificationConsumer, MAX_WAIT_TIME, new NotificationPredicate() { @Override @@ -128,7 +122,7 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { }); - results = searchByDSL(String.format("%s where name='%s'", DATABASE_TYPE, DATABASE_NAME)); + results = searchByDSL(String.format("%s where name='%s'", DATABASE_TYPE_V2, DATABASE_NAME)); assertEquals(results.length(), 1); //Test the same across references @@ -139,7 +133,7 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { EntityMutationResponse entity = entitiesClientV2.createEntity(hiveTableInstanceV2); assertNotNull(entity); assertNotNull(entity.getEntitiesByOperation(EntityMutations.EntityOperation.CREATE)); - results = searchByDSL(String.format("%s where name='%s'", DATABASE_TYPE, DATABASE_NAME)); + results = searchByDSL(String.format("%s where name='%s'", DATABASE_TYPE_V2, DATABASE_NAME)); assertEquals(results.length(), 1); } @@ -205,7 +199,7 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { @Test(dataProvider = "invalidAttrValues") public void testEntityInvalidValue(String value) throws Exception { - AtlasEntity databaseInstance = new AtlasEntity(DATABASE_TYPE); + AtlasEntity databaseInstance = new AtlasEntity(DATABASE_TYPE_V2); String dbName = randomString(); databaseInstance.setAttribute("name", dbName); databaseInstance.setAttribute("description", value); @@ -216,18 +210,18 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { @Test public void testGetEntityByAttribute() throws Exception { - AtlasEntity hiveDB = createHiveDB(DATABASE_NAME); - String qualifiedName = (String) hiveDB.getAttribute(QUALIFIED_NAME); + AtlasEntity hiveDB = createHiveDB(); + String qualifiedName = (String) hiveDB.getAttribute(NAME); //get entity by attribute - AtlasEntity byAttribute = entitiesClientV2.getEntityByAttribute(DATABASE_TYPE, QUALIFIED_NAME, qualifiedName); - assertEquals(byAttribute.getTypeName(), DATABASE_TYPE); - assertEquals(byAttribute.getAttribute(QUALIFIED_NAME), qualifiedName); + AtlasEntity byAttribute = entitiesClientV2.getEntityByAttribute(DATABASE_TYPE_V2, NAME, qualifiedName); + assertEquals(byAttribute.getTypeName(), DATABASE_TYPE_V2); + assertEquals(byAttribute.getAttribute(NAME), qualifiedName); } @Test public void testSubmitEntityWithBadDateFormat() throws Exception { AtlasEntity hiveDBInstance = createHiveDBInstanceV2("db" + randomString()); - AtlasEntityHeader entity = createEntity(hiveDBInstance); + createEntity(hiveDBInstance); AtlasEntity tableInstance = createHiveTableInstanceV2(hiveDBInstance, "table" + randomString()); tableInstance.setAttribute("lastAccessTime", "2014-07-11"); @@ -239,9 +233,9 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { public void testAddProperty() throws Exception { //add property String description = "bar table - new desc"; - addProperty(tableEntity.getGuid(), "description", description); + addProperty(createHiveTable().getGuid(), "description", description); - AtlasEntity entityByGuid = entitiesClientV2.getEntityByGuid(tableEntity.getGuid()); + AtlasEntity entityByGuid = entitiesClientV2.getEntityByGuid(createHiveTable().getGuid()); Assert.assertNotNull(entityByGuid); entityByGuid.setAttribute("description", description); @@ -260,9 +254,9 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { String currentTime = String.valueOf(new DateTime()); - addProperty(tableEntity.getGuid(), "createTime", currentTime); + addProperty(createHiveTable().getGuid(), "createTime", currentTime); - entityByGuid = entitiesClientV2.getEntityByGuid(tableEntity.getGuid()); + entityByGuid = entitiesClientV2.getEntityByGuid(createHiveTable().getGuid()); Assert.assertNotNull(entityByGuid); } @@ -271,7 +265,7 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { // FIXME: Behavior has changed between v1 and v2 //add property // try { - addProperty(tableEntity.getGuid(), "description", null); + addProperty(createHiveTable().getGuid(), "description", null); // Assert.fail("Expected AtlasServiceException"); // } catch(AtlasServiceException e) { // Assert.assertEquals(e.getStatus().getStatusCode(), Response.Status.BAD_REQUEST.getStatusCode()); @@ -329,7 +323,7 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { @Test(dependsOnMethods = "testSubmitEntity") public void testGetTraitNames() throws Exception { - AtlasClassifications classifications = entitiesClientV2.getClassifications(tableEntity.getGuid()); + AtlasClassifications classifications = entitiesClientV2.getClassifications(createHiveTable().getGuid()); assertNotNull(classifications); assertTrue(classifications.getList().size() > 0); assertEquals(classifications.getList().size(), 8); @@ -337,7 +331,7 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { @Test(dependsOnMethods = "testSubmitEntity") public void testCommonAttributes() throws Exception{ - AtlasEntity entity = entitiesClientV2.getEntityByGuid(tableEntity.getGuid()); + AtlasEntity entity = entitiesClientV2.getEntityByGuid(createHiveTable().getGuid()); Assert.assertNotNull(entity.getStatus()); Assert.assertNotNull(entity.getVersion()); Assert.assertNotNull(entity.getCreatedBy()); @@ -356,11 +350,10 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { } private AtlasEntity createHiveDB() { - if (dbEntity != null) { - return dbEntity; - } else { - return createHiveDB(DATABASE_NAME); + if (dbEntity == null) { + dbEntity = createHiveDB(DATABASE_NAME); } + return dbEntity; } private AtlasEntity createHiveDB(String dbName) { @@ -369,23 +362,21 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { assertNotNull(entityHeader); assertNotNull(entityHeader.getGuid()); hiveDBInstanceV2.setGuid(entityHeader.getGuid()); - dbEntity = hiveDBInstanceV2; - dbEntityHeader = entityHeader; return hiveDBInstanceV2; } - private TypeUtils.Pair<AtlasEntity, AtlasEntityWithAssociations> createDBAndTable(String dbName, String tableName) throws Exception { - AtlasEntity dbInstanceV2 = createHiveDB(dbName); - AtlasEntityWithAssociations hiveTableInstanceV2 = createHiveTable(dbInstanceV2, tableName); + private TypeUtils.Pair<AtlasEntity, AtlasEntityWithAssociations> createDBAndTable() throws Exception { + AtlasEntity dbInstanceV2 = createHiveDB(); + AtlasEntityWithAssociations hiveTableInstanceV2 = createHiveTable(); return TypeUtils.Pair.of(dbInstanceV2, hiveTableInstanceV2); } private AtlasEntityWithAssociations createHiveTable() throws Exception { - if (tableEntity != null) { - return tableEntity; - } else { - return createHiveTable(createHiveDB(), TABLE_NAME); + if (tableEntity == null) { + tableEntity = createHiveTable(createHiveDB(), TABLE_NAME); } + return tableEntity; + } private AtlasEntityWithAssociations createHiveTable(AtlasEntity dbInstanceV2, String tableName) throws Exception { @@ -396,7 +387,6 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { hiveTableInstanceV2.setGuid(createdHeader.getGuid()); entitiesClientV2.addClassifications(createdHeader.getGuid(), hiveTableInstanceV2.getClassifications()); tableEntity = hiveTableInstanceV2; - tableEntityHeader = createdHeader; return hiveTableInstanceV2; } @@ -409,9 +399,9 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { typesDef.getClassificationDefs().add(piiTrait); createType(typesDef); - entitiesClientV2.addClassifications(tableEntity.getGuid(), ImmutableList.of(new AtlasClassification(piiTrait.getName()))); + entitiesClientV2.addClassifications(createHiveTable().getGuid(), ImmutableList.of(new AtlasClassification(piiTrait.getName()))); - assertEntityAudit(tableEntity.getGuid(), EntityAuditEvent.EntityAuditAction.TAG_ADD); + assertEntityAudit(createHiveTable().getGuid(), EntityAuditEvent.EntityAuditAction.TAG_ADD); } @Test(dependsOnMethods = "testSubmitEntity") @@ -426,13 +416,14 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { AtlasClassificationDef classificationByName = typedefClientV2.getClassificationByName(traitName); assertNotNull(classificationByName); - assertEquals(tableEntity.getClassifications().size(), 7); + AtlasEntityWithAssociations hiveTable = createHiveTable(); + assertEquals(hiveTable.getClassifications().size(), 7); AtlasClassification piiClassification = new AtlasClassification(piiTrait.getName()); - entitiesClientV2.addClassifications(tableEntity.getGuid(), Lists.newArrayList(piiClassification)); + entitiesClientV2.addClassifications(hiveTable.getGuid(), Lists.newArrayList(piiClassification)); - AtlasClassifications classifications = entitiesClientV2.getClassifications(tableEntity.getGuid()); + AtlasClassifications classifications = entitiesClientV2.getClassifications(hiveTable.getGuid()); assertNotNull(classifications); assertTrue(classifications.getList().size() > 0); assertEquals(classifications.getList().size(), 8); @@ -452,7 +443,7 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { AtlasClassification traitInstance = new AtlasClassification(traitName); traitInstance.setAttribute("type", "SSN"); - final String guid = tableEntity.getGuid(); + final String guid = createHiveTable().getGuid(); entitiesClientV2.addClassifications(guid, ImmutableList.of(traitInstance)); // verify the response @@ -474,8 +465,7 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { @Test(expectedExceptions = AtlasServiceException.class) public void testAddTraitWithNoRegistration() throws Exception { final String traitName = "PII_Trait" + randomString(); - AtlasClassificationDef piiTrait = - AtlasTypeUtil.createTraitTypeDef(traitName, ImmutableSet.<String>of()); + AtlasTypeUtil.createTraitTypeDef(traitName, ImmutableSet.<String>of()); AtlasClassification traitInstance = new AtlasClassification(traitName); @@ -484,7 +474,7 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { @Test(dependsOnMethods = "testAddTrait") public void testDeleteTrait() throws Exception { - final String guid = tableEntity.getGuid(); + final String guid = createHiveTable().getGuid(); try { entitiesClientV2.deleteClassification(guid, traitName); @@ -512,7 +502,7 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { @Test(dependsOnMethods = "testSubmitEntity") public void testDeleteExistentTraitNonExistentForEntity() throws Exception { - final String guid = tableEntity.getGuid(); + final String guid = createHiveTable().getGuid(); final String traitName = "PII_Trait" + randomString(); AtlasClassificationDef piiTrait = AtlasTypeUtil .createTraitTypeDef(traitName, ImmutableSet.<String>of(), @@ -562,43 +552,44 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { final List<AtlasEntity> columns = new ArrayList<>(); Map<String, Object> values = new HashMap<>(); values.put("name", "col1"); - values.put(QUALIFIED_NAME, "qualifiedName.col1"); + values.put(NAME, "qualifiedName.col1"); values.put("type", "string"); values.put("comment", "col1 comment"); - AtlasEntity ref = new AtlasEntity(BaseResourceIT.COLUMN_TYPE, values); + AtlasEntity ref = new AtlasEntity(BaseResourceIT.COLUMN_TYPE_V2, values); columns.add(ref); + AtlasEntityWithAssociations hiveTable = createHiveTable(); + AtlasEntityWithAssociations tableUpdated = hiveTable; - AtlasEntityWithAssociations tableUpdated = tableEntity; - tableEntity.setAttribute("columns", columns); + hiveTable.setAttribute("columns", columns); LOG.debug("Updating entity= " + tableUpdated); - EntityMutationResponse updateResult = entitiesClientV2.updateEntity(tableEntity.getGuid(), tableUpdated); + EntityMutationResponse updateResult = entitiesClientV2.updateEntity(hiveTable.getGuid(), tableUpdated); assertNotNull(updateResult); assertNotNull(updateResult.getEntitiesByOperation(EntityMutations.EntityOperation.UPDATE)); assertTrue(updateResult.getEntitiesByOperation(EntityMutations.EntityOperation.UPDATE).size() > 0); - AtlasEntity entityByGuid = entitiesClientV2.getEntityByGuid(tableEntity.getGuid()); + AtlasEntity entityByGuid = entitiesClientV2.getEntityByGuid(hiveTable.getGuid()); assertNotNull(entityByGuid); - List<AtlasEntity> columns1 = (List<AtlasEntity>) entityByGuid.getAttribute("columns"); + entityByGuid.getAttribute("columns"); //Update by unique attribute values.put("type", "int"); - ref = new AtlasEntity(BaseResourceIT.COLUMN_TYPE, values); + ref = new AtlasEntity(BaseResourceIT.COLUMN_TYPE_V2, values); columns.set(0, ref); - tableUpdated = tableEntity; + tableUpdated = hiveTable; tableUpdated.setAttribute("columns", columns); LOG.debug("Updating entity= " + tableUpdated); - EntityMutationResponse updateResponse = entitiesClientV2.updateEntityByAttribute(BaseResourceIT.HIVE_TABLE_TYPE, AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, - (String) tableEntity.getAttribute("name"), tableUpdated); + EntityMutationResponse updateResponse = entitiesClientV2.updateEntityByAttribute(BaseResourceIT.HIVE_TABLE_TYPE_V2, AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, + (String) hiveTable.getAttribute("name"), tableUpdated); assertNotNull(updateResponse); assertNotNull(updateResponse.getEntitiesByOperation(EntityMutations.EntityOperation.UPDATE)); assertTrue(updateResponse.getEntitiesByOperation(EntityMutations.EntityOperation.UPDATE).size() > 0); - entityByGuid = entitiesClientV2.getEntityByGuid(tableEntity.getGuid()); + entityByGuid = entitiesClientV2.getEntityByGuid(hiveTable.getGuid()); assertNotNull(entityByGuid); - columns1 = (List<AtlasEntity>) entityByGuid.getAttribute("columns"); + entityByGuid.getAttribute("columns"); } @Test(dependsOnMethods = "testSubmitEntity") @@ -606,27 +597,31 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { final List<AtlasEntity> columns = new ArrayList<>(); Map<String, Object> values1 = new HashMap<>(); values1.put("name", "col3"); - values1.put(QUALIFIED_NAME, "qualifiedName.col3"); + values1.put(NAME, "qualifiedName.col3"); values1.put("type", "string"); values1.put("comment", "col3 comment"); Map<String, Object> values2 = new HashMap<>(); values2.put("name", "col4"); - values2.put(QUALIFIED_NAME, "qualifiedName.col4"); + values2.put(NAME, "qualifiedName.col4"); values2.put("type", "string"); values2.put("comment", "col4 comment"); - AtlasEntity ref1 = new AtlasEntity(BaseResourceIT.COLUMN_TYPE, values1); - AtlasEntity ref2 = new AtlasEntity(BaseResourceIT.COLUMN_TYPE, values2); + AtlasEntity ref1 = new AtlasEntity(BaseResourceIT.COLUMN_TYPE_V2, values1); + AtlasEntity ref2 = new AtlasEntity(BaseResourceIT.COLUMN_TYPE_V2, values2); columns.add(ref1); columns.add(ref2); - tableEntity.setAttribute("columns", columns); - EntityMutationResponse updateEntityResult = entitiesClientV2.updateEntity(tableEntity); + AtlasEntityWithAssociations hiveTable = createHiveTable(); + hiveTable.setAttribute("columns", columns); + EntityMutationResponse updateEntityResult = entitiesClientV2.updateEntity(hiveTable); assertNotNull(updateEntityResult); assertNotNull(updateEntityResult.getEntitiesByOperation(EntityMutations.EntityOperation.UPDATE)); - assertEquals(updateEntityResult.getEntitiesByOperation(EntityMutations.EntityOperation.UPDATE).size(), 3); + assertNotNull(updateEntityResult.getEntitiesByOperation(EntityMutations.EntityOperation.CREATE)); + //2 columns are being created, and 1 hiveTable is being updated + assertEquals(updateEntityResult.getEntitiesByOperation(EntityMutations.EntityOperation.UPDATE).size(), 1); + assertEquals(updateEntityResult.getEntitiesByOperation(EntityMutations.EntityOperation.CREATE).size(), 2); - AtlasEntity entityByGuid = entitiesClientV2.getEntityByGuid(tableEntity.getGuid()); + AtlasEntity entityByGuid = entitiesClientV2.getEntityByGuid(hiveTable.getGuid()); List<AtlasEntity> refs = (List<AtlasEntity>) entityByGuid.getAttribute("columns"); assertEquals(refs.size(), 2); } @@ -634,17 +629,17 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { @Test public void testDeleteEntities() throws Exception { // Create 2 database entities - AtlasEntity db1 = new AtlasEntity(DATABASE_TYPE); + AtlasEntity db1 = new AtlasEntity(DATABASE_TYPE_V2); String dbName1 = randomString(); db1.setAttribute("name", dbName1); - db1.setAttribute(QUALIFIED_NAME, dbName1); + db1.setAttribute(NAME, dbName1); db1.setAttribute("clusterName", randomString()); db1.setAttribute("description", randomString()); AtlasEntityHeader entity1Header = createEntity(db1); - AtlasEntity db2 = new AtlasEntity(DATABASE_TYPE); + AtlasEntity db2 = new AtlasEntity(DATABASE_TYPE_V2); String dbName2 = randomString(); db2.setAttribute("name", dbName2); - db2.setAttribute(QUALIFIED_NAME, dbName2); + db2.setAttribute(NAME, dbName2); db2.setAttribute("clusterName", randomString()); db2.setAttribute("description", randomString()); AtlasEntityHeader entity2Header = createEntity(db2); @@ -664,10 +659,10 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT { public void testDeleteEntityByUniqAttribute() throws Exception { // Create database entity AtlasEntity hiveDB = createHiveDB(DATABASE_NAME + random()); - String qualifiedName = (String) hiveDB.getAttribute(QUALIFIED_NAME); + String qualifiedName = (String) hiveDB.getAttribute(NAME); // Delete the database entity - EntityMutationResponse deleteResponse = entitiesClientV2.deleteEntityByAttribute(DATABASE_TYPE, QUALIFIED_NAME, qualifiedName); + EntityMutationResponse deleteResponse = entitiesClientV2.deleteEntityByAttribute(DATABASE_TYPE_V2, NAME, qualifiedName); // Verify that deleteEntities() response has database entity guids assertNotNull(deleteResponse); http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/89f70609/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java index b004cb5..318df60 100755 --- a/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java +++ b/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java @@ -66,7 +66,7 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT { @Test public void testSearchByDSL() throws Exception { - String dslQuery = "from "+ DATABASE_TYPE + " qualifiedName=\"" + dbName + "\""; + String dslQuery = "from "+ DATABASE_TYPE + " name=\"" + dbName + "\""; MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); queryParams.add("query", dslQuery); JSONObject response = atlasClientV1.callAPIWithQueryParams(AtlasClient.API.SEARCH_DSL, queryParams); @@ -89,7 +89,7 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT { public void testSearchDSLLimits() throws Exception { //search without new parameters of limit and offset should work - String dslQuery = "from "+ DATABASE_TYPE + " qualifiedName=\"" + dbName + "\""; + String dslQuery = "from "+ DATABASE_TYPE + " name=\"" + dbName + "\""; MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); queryParams.add("query", dslQuery); JSONObject response = atlasClientV1.callAPIWithQueryParams(AtlasClient.API.SEARCH_DSL, queryParams); @@ -146,7 +146,7 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT { @Test public void testSearchUsingGremlin() throws Exception { - String query = "g.V.has('type', 'hive_db').toList()"; + String query = "g.V.has('type', '" + BaseResourceIT.HIVE_TABLE_TYPE + "').toList()"; MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); queryParams.add("query", query); @@ -162,7 +162,7 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT { @Test public void testSearchUsingDSL() throws Exception { //String query = "from dsl_test_type"; - String query = "from "+ DATABASE_TYPE + " qualifiedName=\"" + dbName +"\""; + String query = "from "+ DATABASE_TYPE + " name=\"" + dbName +"\""; MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); queryParams.add("query", query); JSONObject response = atlasClientV1.callAPIWithQueryParams(AtlasClient.API.SEARCH, queryParams);
