You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by sv...@apache.org on 2016/11/23 06:40:55 UTC
incubator-atlas git commit: ATLAS-1315 Fix webapp Integration tests
(ayubkhan, apoorvnaik via svimal2106)
Repository: incubator-atlas
Updated Branches:
refs/heads/master cea70bc6f -> f694a910b
ATLAS-1315 Fix webapp Integration tests (ayubkhan,apoorvnaik via svimal2106)
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/f694a910
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/f694a910
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/f694a910
Branch: refs/heads/master
Commit: f694a910b8743c197b6c33c3513558fd940e3478
Parents: cea70bc
Author: Vimal Sharma <vi...@HW12688.local>
Authored: Wed Nov 23 12:08:41 2016 +0530
Committer: Vimal Sharma <vi...@HW12688.local>
Committed: Wed Nov 23 12:08:41 2016 +0530
----------------------------------------------------------------------
release-log.txt | 1 +
.../notification/EntityNotificationIT.java | 16 +-
.../atlas/web/resources/BaseResourceIT.java | 89 ++++++++--
.../web/resources/EntityJerseyResourceIT.java | 167 ++++++++++++-------
4 files changed, 188 insertions(+), 85 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/f694a910/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index d665cb4..e49b269 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -9,6 +9,7 @@ ATLAS-1060 Add composite indexes for exact match performance improvements for al
ATLAS-1127 Modify creation and modification timestamps to Date instead of Long(sumasai)
ALL CHANGES:
+ATLAS-1315 Fix webapp Integration tests (ayubkhan,apoorvnaik via svimal2106)
ATLAS-1313 Tests SSLAndKerberosTest.testService and SSLTest.testService are failing (ayubkhan via svimal2106)
ATLAS-1116 Performance monitoring of backend methods in API requests (shwethags)
ATLAS-1310 attempt LDAP authentication only when enabled (mneethiraj)
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/f694a910/webapp/src/test/java/org/apache/atlas/notification/EntityNotificationIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/notification/EntityNotificationIT.java b/webapp/src/test/java/org/apache/atlas/notification/EntityNotificationIT.java
index 1d50884..081d5ca 100644
--- a/webapp/src/test/java/org/apache/atlas/notification/EntityNotificationIT.java
+++ b/webapp/src/test/java/org/apache/atlas/notification/EntityNotificationIT.java
@@ -64,6 +64,7 @@ public class EntityNotificationIT extends BaseResourceIT {
@Inject
private NotificationInterface notificationInterface;
private Id tableId;
+ private Id dbId;
private String traitName;
private NotificationConsumer<EntityNotification> notificationConsumer;
@@ -71,6 +72,8 @@ public class EntityNotificationIT extends BaseResourceIT {
public void setUp() throws Exception {
super.setUp();
createTypeDefinitions();
+ Referenceable HiveDBInstance = createHiveDBInstance(DATABASE_NAME);
+ dbId = createInstance(HiveDBInstance);
List<NotificationConsumer<EntityNotification>> consumers =
notificationInterface.createConsumers(NotificationInterface.NotificationType.ENTITIES, 1);
@@ -80,11 +83,7 @@ public class EntityNotificationIT extends BaseResourceIT {
@Test
public void testCreateEntity() throws Exception {
- Referenceable hiveDBInstance = createHiveDBInstance(DATABASE_NAME);
- Id dbID = createInstance(hiveDBInstance);
- hiveDBInstance.replaceWithNewId(dbID);
-
- Referenceable tableInstance = createHiveTableInstance(hiveDBInstance, TABLE_NAME);
+ Referenceable tableInstance = createHiveTableInstance(DATABASE_NAME, TABLE_NAME, dbId);
tableId = createInstance(tableInstance);
final String guid = tableId._getId();
@@ -110,11 +109,10 @@ public class EntityNotificationIT extends BaseResourceIT {
public void testDeleteEntity() throws Exception {
final String tableName = "table-" + randomString();
final String dbName = "db-" + randomString();
- Referenceable hiveDBInstance = createHiveDBInstance(dbName);
- Id dbID = createInstance(hiveDBInstance);
- hiveDBInstance.replaceWithNewId(dbID);
+ Referenceable HiveDBInstance = createHiveDBInstance(dbName);
+ Id dbId = createInstance(HiveDBInstance);
- Referenceable tableInstance = createHiveTableInstance(hiveDBInstance, tableName);
+ Referenceable tableInstance = createHiveTableInstance(dbName, tableName, dbId);
final Id tableId = createInstance(tableInstance);
final String guid = tableId._getId();
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/f694a910/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 50ca842..1777f75 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
@@ -56,7 +56,10 @@ import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
+import java.util.HashMap;
import java.util.List;
+import java.util.Collections;
+import java.util.Map;
/**
* Base class for integration tests.
@@ -90,11 +93,32 @@ public abstract class BaseResourceIT {
}
protected void createType(TypesDef typesDef) throws Exception {
- try {
+ try{
+ if ( !typesDef.enumTypes().isEmpty() ){
+ String sampleType = typesDef.enumTypesAsJavaList().get(0).name;
+ serviceClient.getType(sampleType);
+ LOG.info("Checking enum type existence");
+ }
+ else if( !typesDef.structTypes().isEmpty()){
+ StructTypeDefinition sampleType = typesDef.structTypesAsJavaList().get(0);
+ serviceClient.getType(sampleType.typeName);
+ LOG.info("Checking struct type existence");
+ }
+ else if( !typesDef.traitTypes().isEmpty()){
+ HierarchicalTypeDefinition<TraitType> sampleType = typesDef.traitTypesAsJavaList().get(0);
+ serviceClient.getType(sampleType.typeName);
+ LOG.info("Checking trait type existence");
+ }
+ else{
+ HierarchicalTypeDefinition<ClassType> sampleType = typesDef.classTypesAsJavaList().get(0);
+ serviceClient.getType(sampleType.typeName);
+ LOG.info("Checking class type existence");
+ }
+ LOG.info("Types already exist. Skipping type creation");
+ } catch(AtlasServiceException ase) {
+ //Expected if type doesnt exist
String typesAsJSON = TypesSerialization.toJson(typesDef);
createType(typesAsJSON);
- } catch(AtlasServiceException ase) {
- LOG.info("Types failed. Tests might malfunction");
}
}
@@ -118,6 +142,24 @@ public abstract class BaseResourceIT {
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 static final String DATABASE_TYPE = "hive_db";
protected static final String HIVE_TABLE_TYPE = "hive_table";
protected static final String COLUMN_TYPE = "hive_column";
@@ -179,14 +221,22 @@ public abstract class BaseResourceIT {
TypesUtil.createTraitTypeDef("sec", ImmutableSet.<String>of());
HierarchicalTypeDefinition<TraitType> financeTrait =
TypesUtil.createTraitTypeDef("finance", ImmutableSet.<String>of());
-
- TypesDef typesDef = TypesUtil.getTypesDef(ImmutableList.of(enumTypeDefinition),
- ImmutableList.of(structTypeDefinition),
- ImmutableList.of(classificationTrait, piiTrait, phiTrait, pciTrait, soxTrait, secTrait, financeTrait),
-// ImmutableList.<HierarchicalTypeDefinition<ClassType>>of());
- ImmutableList.of(dbClsDef, columnClsDef, tblClsDef, loadProcessClsDef));
-
- createType(typesDef);
+ /*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)));
}
AttributeDefinition attrDef(String name, IDataType dT) {
@@ -208,7 +258,17 @@ public abstract class BaseResourceIT {
return RandomStringUtils.randomAlphanumeric(10);
}
- protected Referenceable createHiveTableInstance(Referenceable databaseInstance, String tableName) throws Exception {
+ protected Referenceable createHiveTableInstance(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("clusterName", "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, "classification", "pii", "phi", "pci", "sox", "sec", "finance");
tableInstance.set("name", tableName);
@@ -246,6 +306,11 @@ public abstract class BaseResourceIT {
databaseInstance.set("qualifiedName", dbName);
databaseInstance.set("clusterName", randomString());
databaseInstance.set("description", "foo database");
+ databaseInstance.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, dbName);
+ databaseInstance.set("owner", "user1");
+ databaseInstance.set("clusterName", "cl1");
+ databaseInstance.set("parameters", Collections.EMPTY_MAP);
+ databaseInstance.set("location", "/tmp");
return databaseInstance;
}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/f694a910/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 18d4642..38c823a 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
@@ -71,6 +71,8 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.Collections;
+
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.fail;
@@ -92,6 +94,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
private Referenceable tableInstance;
private Id tableId;
+ private Id dbId;
private String traitName;
@Inject
@@ -103,6 +106,8 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
super.setUp();
createTypeDefinitions();
+ Referenceable HiveDBInstance = createHiveDBInstance(DATABASE_NAME);
+ dbId = createInstance(HiveDBInstance);
List<NotificationConsumer<EntityNotification>> consumers =
notificationInterface.createConsumers(NotificationInterface.NotificationType.ENTITIES, 1);
@@ -112,17 +117,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
@Test
public void testSubmitEntity() throws Exception {
- Referenceable dbInstance = createHiveDBInstance(DATABASE_NAME);
-
- Id dbID = createInstance(dbInstance);
- try {
- Assert.assertNotNull(UUID.fromString(dbID._getId()));
- dbInstance.replaceWithNewId(dbID);
- } catch (IllegalArgumentException e) {
- Assert.fail("Response is not a guid, " + dbID._getId());
- }
-
- tableInstance = createHiveTableInstance(dbInstance, TABLE_NAME);
+ tableInstance = createHiveTableInstance(DATABASE_NAME, TABLE_NAME, dbId);
tableId = createInstance(tableInstance);
final String guid = tableId._getId();
@@ -141,6 +136,12 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
entity.set("qualifiedName", dbName);
entity.set("clusterName", randomString());
entity.set("description", randomString());
+ entity.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, dbName);
+ entity.set("owner", "user1");
+ entity.set("clusterName", "cl1");
+ entity.set("parameters", Collections.EMPTY_MAP);
+ entity.set("location", "/tmp");
+
String user = "admin";
AtlasClient localClient = null;
@@ -165,6 +166,11 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
databaseInstance.set("qualifiedName", dbName);
databaseInstance.set("clusterName", randomString());
databaseInstance.set("description", randomString());
+ databaseInstance.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, dbName);
+ databaseInstance.set("owner", "user1");
+ databaseInstance.set("clusterName", "cl1");
+ databaseInstance.set("parameters", Collections.EMPTY_MAP);
+ databaseInstance.set("location", "/tmp");
ClientResponse clientResponse =
service.path(ENTITIES).accept(Servlets.JSON_MEDIA_TYPE).type(Servlets.JSON_MEDIA_TYPE)
@@ -187,32 +193,30 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
public void testEntityDeduping() throws Exception {
final Referenceable db = new Referenceable(DATABASE_TYPE);
final String dbName = "db" + randomString();
- db.set("name", dbName);
- db.set("qualifiedName", dbName);
- db.set("clusterName", randomString());
- db.set("description", randomString());
+ Referenceable HiveDBInstance = createHiveDBInstance(dbName);
+ Id dbIdReference = createInstance(HiveDBInstance);
+ final String dbId = dbIdReference._getId();
- final String dbid = serviceClient.createEntity(db).get(0);
- assertEntityAudit(dbid, EntityAuditEvent.EntityAuditAction.ENTITY_CREATE);
+ assertEntityAudit(dbId, EntityAuditEvent.EntityAuditAction.ENTITY_CREATE);
waitForNotification(notificationConsumer, MAX_WAIT_TIME, new NotificationPredicate() {
@Override
public boolean evaluate(EntityNotification notification) throws Exception {
- return notification != null && notification.getEntity().getId()._getId().equals(dbid);
+ return notification != null && notification.getEntity().getId()._getId().equals(dbId);
}
});
- JSONArray results = searchByDSL(String.format("%s where name='%s'", DATABASE_TYPE, dbName));
+ JSONArray results = searchByDSL(String.format("%s where qualifiedName='%s'", DATABASE_TYPE, dbName));
assertEquals(results.length(), 1);
//create entity again shouldn't create another instance with same unique attribute value
- List<String> entityResults = serviceClient.createEntity(db);
+ List<String> entityResults = serviceClient.createEntity(HiveDBInstance);
assertEquals(entityResults.size(), 0);
try {
waitForNotification(notificationConsumer, MAX_WAIT_TIME, new NotificationPredicate() {
@Override
public boolean evaluate(EntityNotification notification) throws Exception {
- return notification != null && notification.getEntity().getId()._getId().equals(dbid);
+ return notification != null && notification.getEntity().getId()._getId().equals(dbId);
}
});
fail("Expected time out exception");
@@ -220,18 +224,15 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
//expected timeout
}
- results = searchByDSL(String.format("%s where name='%s'", DATABASE_TYPE, dbName));
+ results = searchByDSL(String.format("%s where qualifiedName='%s'", DATABASE_TYPE, dbName));
assertEquals(results.length(), 1);
//Test the same across references
Referenceable table = new Referenceable(HIVE_TABLE_TYPE);
final String tableName = randomString();
- table.set("name", tableName);
- table.set("db", db);
- table.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, tableName);
-
- serviceClient.createEntity(table);
- results = searchByDSL(String.format("%s where name='%s'", DATABASE_TYPE, dbName));
+ Referenceable tableInstance = createHiveTableInstance(DATABASE_NAME, tableName, dbIdReference);
+ serviceClient.createEntity(tableInstance);
+ results = searchByDSL(String.format("%s where qualifiedName='%s'", DATABASE_TYPE, dbName));
assertEquals(results.length(), 1);
}
@@ -282,8 +283,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
@Test(dataProvider = "invalidAttrValues")
public void testEntityInvalidValue(String value) throws Exception {
Referenceable databaseInstance = new Referenceable(DATABASE_TYPE);
- String dbName = randomString();
- databaseInstance.set("name", dbName);
+ databaseInstance.set("name", randomString());
databaseInstance.set("description", value);
try {
@@ -296,13 +296,16 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
@Test
public void testGetEntityByAttribute() throws Exception {
- Referenceable databaseInstance = new Referenceable(DATABASE_TYPE);
+ Referenceable db1 = new Referenceable(DATABASE_TYPE);
String dbName = randomString();
- databaseInstance.set("name", dbName);
- databaseInstance.set("qualifiedName", dbName);
- databaseInstance.set("clusterName", randomString());
- databaseInstance.set("description", "foo database");
- createInstance(databaseInstance);
+ db1.set("name", dbName);
+ db1.set("description", randomString());
+ db1.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, dbName);
+ db1.set("owner", "user1");
+ db1.set("clusterName", "cl1");
+ db1.set("parameters", Collections.EMPTY_MAP);
+ db1.set("location", "/tmp");
+ createInstance(db1);
//get entity by attribute
Referenceable referenceable = serviceClient.getEntity(DATABASE_TYPE, "qualifiedName", dbName);
@@ -313,11 +316,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
@Test
public void testSubmitEntityWithBadDateFormat() throws Exception {
try {
- Referenceable hiveDBInstance = createHiveDBInstance("db" + randomString());
- Id dbID = createInstance(hiveDBInstance);
- hiveDBInstance.replaceWithNewId(dbID);
-
- Referenceable tableInstance = createHiveTableInstance(hiveDBInstance, "table" + randomString());
+ Referenceable tableInstance = createHiveTableInstance("db" + randomString(), "table" + randomString(), dbId);
tableInstance.set("lastAccessTime", "2014-07-11");
tableId = createInstance(tableInstance);
Assert.fail("Was expecting an exception here ");
@@ -347,8 +346,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
Assert.assertEquals(e.getStatus().getStatusCode(), Response.Status.BAD_REQUEST.getStatusCode());
}
- //non-string property, update
- String currentTime = String.valueOf(new DateTime());
+ String currentTime = String.valueOf(new DateTime() );
addProperty(guid, "createTime", currentTime);
entityRef = getEntityDefinition(getEntityDefinition(guid));
@@ -386,6 +384,11 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
databaseInstance.set("qualifiedName", dbName);
databaseInstance.set("clusterName", randomString());
databaseInstance.set("description", "new database");
+ databaseInstance.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, dbName);
+ databaseInstance.set("owner", "user1");
+ databaseInstance.set("clusterName", "cl1");
+ databaseInstance.set("parameters", Collections.EMPTY_MAP);
+ databaseInstance.set("location", "/tmp");
Id dbInstance = createInstance(databaseInstance);
String dbId = dbInstance._getId();
@@ -759,12 +762,18 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
@Test(dependsOnMethods = "testSubmitEntity")
public void testPartialUpdate() throws Exception {
+ String colName = "col1"+randomString();
final List<Referenceable> columns = new ArrayList<>();
Map<String, Object> values = new HashMap<>();
- values.put("name", "col1");
- values.put("qualifiedName", "qualifiedName.col1");
- values.put("type", "string");
+ values.put("name", colName);
+ values.put("comment", "col1 comment");
+ values.put("qualifiedName", "default.table.col1@"+colName);
values.put("comment", "col1 comment");
+ values.put("type", "string");
+ values.put("owner", "user1");
+ values.put("position", 0);
+ values.put("description", "col1");
+ values.put("table", null);
Referenceable ref = new Referenceable(BaseResourceIT.COLUMN_TYPE, values);
columns.add(ref);
@@ -794,8 +803,8 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
LOG.debug("Updating entity= " + tableUpdated);
entityResult = serviceClient.updateEntity(BaseResourceIT.HIVE_TABLE_TYPE, AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME,
- (String) tableInstance.get("name"), tableUpdated);
- assertEquals(entityResult.getUpdateEntities().size(), 1);
+ (String) tableInstance.get("qualifiedName"), tableUpdated);
+ assertEquals(entityResult.getUpdateEntities().size(), 2);
assertEquals(entityResult.getUpdateEntities().get(0), tableId._getId());
response = getEntityDefinition(tableId._getId());
@@ -803,8 +812,8 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
getReferenceable = InstanceSerialization.fromJsonReferenceable(definition, true);
refs = (List<Referenceable>) getReferenceable.get("columns");
- Assert.assertTrue(refs.get(0).equalsContents(columns.get(0)));
- Assert.assertEquals(refs.get(0).get("dataType"), "int");
+ Assert.assertTrue(refs.get(0).getValuesMap().equals(values));
+ Assert.assertEquals(refs.get(0).get("type"), "int");
}
@Test(dependsOnMethods = "testSubmitEntity")
@@ -812,15 +821,24 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
final List<Referenceable> columns = new ArrayList<>();
Map<String, Object> values1 = new HashMap<>();
values1.put("name", "col3");
- values1.put("qualifiedName", "qualifiedName.col3");
- values1.put("type", "string");
+ values1.put("qualifiedName", "default.table.col3@cl1");
values1.put("comment", "col3 comment");
+ values1.put("type", "string");
+ values1.put("owner", "user1");
+ values1.put("position", 0);
+ values1.put("description", "col3");
+ values1.put("table", null);
+
Map<String, Object> values2 = new HashMap<>();
values2.put("name", "col4");
- values2.put("qualifiedName", "qualifiedName.col4");
- values2.put("type", "string");
+ values2.put("qualifiedName", "default.table.col4@cl1");
values2.put("comment", "col4 comment");
+ values2.put("type", "string");
+ values2.put("owner", "user2");
+ values2.put("position", 1);
+ values2.put("description", "col4");
+ values2.put("table", null);
Referenceable ref1 = new Referenceable(BaseResourceIT.COLUMN_TYPE, values1);
Referenceable ref2 = new Referenceable(BaseResourceIT.COLUMN_TYPE, values2);
@@ -852,8 +870,8 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
List<Referenceable> refs = (List<Referenceable>) getReferenceable.get("columns");
Assert.assertEquals(refs.size(), 2);
- Assert.assertTrue(refs.get(0).equalsContents(columns.get(0)));
- Assert.assertTrue(refs.get(1).equalsContents(columns.get(1)));
+ Assert.assertTrue(refs.get(0).getValuesMap().equals(values1));
+ Assert.assertTrue(refs.get(1).getValuesMap().equals(values2));
}
private static class UpdateEntitiesResponse {
@@ -871,11 +889,14 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
public void testDeleteEntitiesViaRestApi() throws Exception {
// Create 2 database entities
Referenceable db1 = new Referenceable(DATABASE_TYPE);
- String dbName1 = randomString();
- db1.set("name", dbName1);
- db1.set("qualifiedName", dbName1);
- db1.set("clusterName", randomString());
+ String dbName = randomString();
+ db1.set("name", dbName);
db1.set("description", randomString());
+ db1.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, dbName);
+ db1.set("owner", "user1");
+ db1.set("clusterName", "cl1");
+ db1.set("parameters", Collections.EMPTY_MAP);
+ db1.set("location", "/tmp");
Id db1Id = createInstance(db1);
Referenceable db2 = new Referenceable(DATABASE_TYPE);
@@ -884,6 +905,11 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
db2.set("qualifiedName", dbName2);
db2.set("clusterName", randomString());
db2.set("description", randomString());
+ db2.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, dbName2);
+ db2.set("owner", "user2");
+ db2.set("clusterName", "cl1");
+ db2.set("parameters", Collections.EMPTY_MAP);
+ db2.set("location", "/tmp");
Id db2Id = createInstance(db2);
// Delete the database entities
@@ -908,11 +934,14 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
public void testDeleteEntitiesViaClientApi() throws Exception {
// Create 2 database entities
Referenceable db1 = new Referenceable(DATABASE_TYPE);
- String dbName1 = randomString();
- db1.set("name", dbName1);
- db1.set("qualifiedName", dbName1);
- db1.set("clusterName", randomString());
+ String dbName = randomString();
+ db1.set("name", dbName);
db1.set("description", randomString());
+ db1.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, dbName);
+ db1.set("owner", "user1");
+ db1.set("clusterName", "cl1");
+ db1.set("parameters", Collections.EMPTY_MAP);
+ db1.set("location", "/tmp");
Id db1Id = createInstance(db1);
Referenceable db2 = new Referenceable(DATABASE_TYPE);
String dbName2 = randomString();
@@ -920,6 +949,11 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
db2.set("qualifiedName", dbName2);
db2.set("clusterName", randomString());
db2.set("description", randomString());
+ db2.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, dbName2);
+ db2.set("owner", "user2");
+ db2.set("clusterName", "cl1");
+ db2.set("parameters", Collections.EMPTY_MAP);
+ db2.set("location", "/tmp");
Id db2Id = createInstance(db2);
// Delete the database entities
@@ -947,6 +981,11 @@ public class EntityJerseyResourceIT extends BaseResourceIT {
db1.set("qualifiedName", dbName);
db1.set("clusterName", randomString());
db1.set("description", randomString());
+ db1.set(AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, dbName);
+ db1.set("owner", "user1");
+ db1.set("clusterName", "cl1");
+ db1.set("parameters", Collections.EMPTY_MAP);
+ db1.set("location", "/tmp");
Id db1Id = createInstance(db1);
// Delete the database entity