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/24 10:36:33 UTC
incubator-atlas git commit: V2 API webapp tests are failing(ayubkhan
via svimal2106)
Repository: incubator-atlas
Updated Branches:
refs/heads/master d4efc3784 -> b9525a576
V2 API webapp tests are failing(ayubkhan 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/b9525a57
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/b9525a57
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/b9525a57
Branch: refs/heads/master
Commit: b9525a576d1f4149883fad494f4d4e8310cc7f85
Parents: d4efc37
Author: Vimal Sharma <sv...@apache.org>
Authored: Thu Nov 24 16:06:05 2016 +0530
Committer: Vimal Sharma <sv...@apache.org>
Committed: Thu Nov 24 16:06:05 2016 +0530
----------------------------------------------------------------------
pom.xml | 1 -
release-log.txt | 1 +
.../DataSetLineageJerseyResourceIT.java | 15 +++++++
.../MetadataDiscoveryJerseyResourceIT.java | 47 ++++++++++----------
.../web/resources/TypedefsJerseyResourceIT.java | 16 +++++--
.../web/resources/TypesJerseyResourceIT.java | 42 +++++++++--------
webapp/src/test/webapp/WEB-INF/web.xml | 17 ++++---
7 files changed, 88 insertions(+), 51 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/b9525a57/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 641165e..2b65a38 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1751,7 +1751,6 @@
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<!-- ATLAS-1317: Disable problematic tests. Need to revisit and fix them later -->
<excludes>
- <exclude>**/TypedefsJerseyResourceIT.java</exclude>
<exclude>**/TypesJerseyResourceIT.java</exclude>
<exclude>**/MetadataDiscoveryJerseyResourceIT.java</exclude>
<exclude>**/HiveHookIT.java</exclude>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/b9525a57/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index e49b269..9b9657d 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-1316 V2 API webapp tests are failing (ayubkhan via svimal2106)
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)
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/b9525a57/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 f9e4c40..d9f14d0 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
@@ -32,6 +32,10 @@ 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 javax.ws.rs.HttpMethod;
import javax.ws.rs.core.Response;
@@ -213,6 +217,17 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
}
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");
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/b9525a57/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 9aff145..13ef503 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
@@ -57,18 +57,19 @@ import static org.testng.Assert.fail;
public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
private String tagName;
+ private String dbName;
@BeforeClass
public void setUp() throws Exception {
super.setUp();
+ dbName = "db"+randomString();
- createTypes();
- createInstance();
+ createInstance( createHiveDBInstance(dbName) );
}
@Test
public void testSearchByDSL() throws Exception {
- String dslQuery = "from dsl_test_type";
+ String dslQuery = "from "+ DATABASE_TYPE + " qualifiedName=\"" + dbName + "\"";
WebResource resource = service.path("api/atlas/discovery/search/dsl").queryParam("query", dslQuery);
ClientResponse clientResponse = resource.accept(Servlets.JSON_MEDIA_TYPE).type(Servlets.JSON_MEDIA_TYPE)
@@ -86,21 +87,17 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
JSONArray results = response.getJSONArray(AtlasClient.RESULTS);
Assert.assertNotNull(results);
- assertEquals(results.length(), 2);
+ assertEquals(results.length(), 1);
int numRows = response.getInt(AtlasClient.COUNT);
- assertEquals(numRows, 2);
+ assertEquals(numRows, 1);
}
@Test
public void testSearchDSLLimits() throws Exception {
- Referenceable entity = new Referenceable("dsl_test_type");
- entity.set("name", randomString());
- entity.set("description", randomString());
- createInstance(entity);
//search without new parameters of limit and offset should work
- String dslQuery = "from dsl_test_type";
+ String dslQuery = "from "+ DATABASE_TYPE + " qualifiedName=\"" + dbName + "\"";
WebResource resource = service.path("api/atlas/discovery/search/dsl").queryParam("query", dslQuery);
ClientResponse clientResponse = resource.accept(Servlets.JSON_MEDIA_TYPE).type(Servlets.JSON_MEDIA_TYPE)
@@ -109,11 +106,11 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
//higher limit, all results returned
JSONArray results = serviceClient.searchByDSL(dslQuery, 10, 0);
- assertEquals(results.length(), 2);
+ assertEquals(results.length(), 1);
//default limit and offset -1, all results returned
results = serviceClient.searchByDSL(dslQuery, -1, -1);
- assertEquals(results.length(), 2);
+ assertEquals(results.length(), 1);
//uses the limit parameter passed
results = serviceClient.searchByDSL(dslQuery, 1, 0);
@@ -121,7 +118,7 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
//uses the offset parameter passed
results = serviceClient.searchByDSL(dslQuery, 10, 1);
- assertEquals(results.length(), 1);
+ assertEquals(results.length(), 0);
//limit > 0
try {
@@ -160,7 +157,7 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
@Test
public void testSearchUsingGremlin() throws Exception {
- String query = "g.V.has('type', 'dsl_test_type').toList()";
+ String query = "g.V.has('type', 'hive_db').toList()";
WebResource resource = service.path("api/atlas/discovery/search/gremlin").queryParam("query", query);
ClientResponse clientResponse = resource.accept(Servlets.JSON_MEDIA_TYPE).type(Servlets.JSON_MEDIA_TYPE)
@@ -179,7 +176,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
@Test
public void testSearchUsingDSL() throws Exception {
- String query = "from dsl_test_type";
+ //String query = "from dsl_test_type";
+ String query = "from "+ DATABASE_TYPE + " qualifiedName=\"" + dbName +"\"";
WebResource resource = service.path("api/atlas/discovery/search").queryParam("query", query);
ClientResponse clientResponse = resource.accept(Servlets.JSON_MEDIA_TYPE).type(Servlets.JSON_MEDIA_TYPE)
@@ -217,10 +215,10 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
@Test(dependsOnMethods = "testSearchDSLLimits")
public void testSearchUsingFullText() throws Exception {
- JSONObject response = serviceClient.searchByFullText(tagName, 10, 0);
+ JSONObject response = serviceClient.searchByFullText(dbName, 10, 0);
Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
- assertEquals(response.getString("query"), tagName);
+ assertEquals(response.getString("query"), dbName);
assertEquals(response.getString("queryType"), "full-text");
JSONArray results = response.getJSONArray(AtlasClient.RESULTS);
@@ -228,29 +226,29 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
JSONObject row = results.getJSONObject(0);
Assert.assertNotNull(row.get("guid"));
- assertEquals(row.getString("typeName"), "dsl_test_type");
+ assertEquals(row.getString("typeName"), DATABASE_TYPE);
Assert.assertNotNull(row.get("score"));
int numRows = response.getInt(AtlasClient.COUNT);
assertEquals(numRows, 1);
//API works without limit and offset
- String query = "dsl_test_type";
+ String query = dbName;
WebResource resource = service.path("api/atlas/discovery/search/fulltext").queryParam("query", query);
ClientResponse clientResponse = resource.accept(Servlets.JSON_MEDIA_TYPE).type(Servlets.JSON_MEDIA_TYPE)
.method(HttpMethod.GET, ClientResponse.class);
assertEquals(clientResponse.getStatus(), Response.Status.OK.getStatusCode());
results = new JSONObject(clientResponse.getEntity(String.class)).getJSONArray(AtlasClient.RESULTS);
- assertEquals(results.length(), 2);
+ assertEquals(results.length(), 1);
//verify passed in limits and offsets are used
//higher limit and 0 offset returns all results
results = serviceClient.searchByFullText(query, 10, 0).getJSONArray(AtlasClient.RESULTS);
- assertEquals(results.length(), 2);
+ assertEquals(results.length(), 1);
//offset is used
results = serviceClient.searchByFullText(query, 10, 1).getJSONArray(AtlasClient.RESULTS);
- assertEquals(results.length(), 1);
+ assertEquals(results.length(), 0);
//limit is used
results = serviceClient.searchByFullText(query, 1, 0).getJSONArray(AtlasClient.RESULTS);
@@ -277,8 +275,9 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
private Id createInstance() throws Exception {
Referenceable entityInstance = new Referenceable("dsl_test_type", "Classification");
- entityInstance.set("name", "foo name");
- entityInstance.set("description", "bar description");
+ entityInstance.set("name", randomString());
+ entityInstance.set("description", randomString());
+
Struct traitInstance = (Struct) entityInstance.getTrait("Classification");
tagName = randomString();
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/b9525a57/webapp/src/test/java/org/apache/atlas/web/resources/TypedefsJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/TypedefsJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/TypedefsJerseyResourceIT.java
index ea55698..2fa1602 100644
--- a/webapp/src/test/java/org/apache/atlas/web/resources/TypedefsJerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/TypedefsJerseyResourceIT.java
@@ -52,6 +52,7 @@ import static org.apache.atlas.type.AtlasTypeUtil.createClassTypeDef;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;
/**
@@ -108,8 +109,9 @@ public class TypedefsJerseyResourceIT extends BaseResourceIT {
@Test
public void testUpdate() throws Exception {
+ String entityType = randomString();
AtlasEntityDef typeDefinition =
- createClassTypeDef(randomString(), ImmutableSet.<String>of(),
+ createClassTypeDef(entityType, ImmutableSet.<String>of(),
AtlasTypeUtil.createUniqueRequiredAttrDef("name", "string"));
AtlasTypesDef atlasTypesDef = new AtlasTypesDef();
@@ -135,10 +137,18 @@ public class TypedefsJerseyResourceIT extends BaseResourceIT {
assertEquals(updatedTypeDefs.getEntityDefs().get(0).getName(), atlasTypesDef.getEntityDefs().get(0).getName());
Map<String, String> filterParams = new HashMap<>();
- filterParams.put(SearchFilter.PARAM_TYPE, "entity");
+ filterParams.put(SearchFilter.PARAM_TYPE, "ENTITY");
AtlasTypesDef allTypeDefs = clientV2.getAllTypeDefs(new SearchFilter(filterParams));
assertNotNull(allTypeDefs);
- assertEquals(allTypeDefs.getEntityDefs().get(0).getAttributeDefs().size(), 2);
+ Boolean entityDefFound = false;
+ for (AtlasEntityDef atlasEntityDef : allTypeDefs.getEntityDefs()){
+ if (atlasEntityDef.getName().equals(typeDefinition.getName())) {
+ assertEquals(atlasEntityDef.getAttributeDefs().size(), 2);
+ entityDefFound = true;
+ break;
+ }
+ }
+ assertTrue(entityDefFound, "Required entityDef not found.");
}
@Test(dependsOnMethods = "testCreate")
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/b9525a57/webapp/src/test/java/org/apache/atlas/web/resources/TypesJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/TypesJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/TypesJerseyResourceIT.java
index b6dae4d..fd15544 100755
--- a/webapp/src/test/java/org/apache/atlas/web/resources/TypesJerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/TypesJerseyResourceIT.java
@@ -78,23 +78,27 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
@Test
public void testSubmit() throws Exception {
for (HierarchicalTypeDefinition typeDefinition : typeDefinitions) {
- String typesAsJSON = TypesSerialization.toJson(typeDefinition, false);
- System.out.println("typesAsJSON = " + typesAsJSON);
-
- WebResource resource = service.path("api/atlas/types");
-
- ClientResponse clientResponse = resource.accept(Servlets.JSON_MEDIA_TYPE).type(Servlets.JSON_MEDIA_TYPE)
- .method(HttpMethod.POST, ClientResponse.class, typesAsJSON);
- assertEquals(clientResponse.getStatus(), Response.Status.CREATED.getStatusCode());
-
- String responseAsString = clientResponse.getEntity(String.class);
- Assert.assertNotNull(responseAsString);
-
- JSONObject response = new JSONObject(responseAsString);
- JSONArray typesAdded = response.getJSONArray(AtlasClient.TYPES);
- assertEquals(typesAdded.length(), 1);
- assertEquals(typesAdded.getJSONObject(0).getString("name"), typeDefinition.typeName);
- Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
+ try{
+ serviceClient.getType(typeDefinition.typeName);
+ } catch (AtlasServiceException ase){
+ String typesAsJSON = TypesSerialization.toJson(typeDefinition, false);
+ System.out.println("typesAsJSON = " + typesAsJSON);
+
+ WebResource resource = service.path("api/atlas/types");
+
+ ClientResponse clientResponse = resource.accept(Servlets.JSON_MEDIA_TYPE).type(Servlets.JSON_MEDIA_TYPE)
+ .method(HttpMethod.POST, ClientResponse.class, typesAsJSON);
+ assertEquals(clientResponse.getStatus(), Response.Status.CREATED.getStatusCode());
+
+ String responseAsString = clientResponse.getEntity(String.class);
+ Assert.assertNotNull(responseAsString);
+
+ JSONObject response = new JSONObject(responseAsString);
+ JSONArray typesAdded = response.getJSONArray(AtlasClient.TYPES);
+ assertEquals(typesAdded.length(), 1);
+ assertEquals(typesAdded.getJSONObject(0).getString("name"), typeDefinition.typeName);
+ Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
+ }
}
}
@@ -263,13 +267,15 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
HierarchicalTypeDefinition<ClassType> databaseTypeDefinition = TypesUtil
.createClassTypeDef("database", ImmutableSet.<String>of(),
TypesUtil.createUniqueRequiredAttrDef("name", DataTypes.STRING_TYPE),
- TypesUtil.createRequiredAttrDef("description", DataTypes.STRING_TYPE));
+ TypesUtil.createRequiredAttrDef("description", DataTypes.STRING_TYPE),
+ TypesUtil.createRequiredAttrDef("qualifiedName", DataTypes.STRING_TYPE));
typeDefinitions.add(databaseTypeDefinition);
HierarchicalTypeDefinition<ClassType> tableTypeDefinition = TypesUtil
.createClassTypeDef("table", ImmutableSet.<String>of(),
TypesUtil.createUniqueRequiredAttrDef("name", DataTypes.STRING_TYPE),
TypesUtil.createRequiredAttrDef("description", DataTypes.STRING_TYPE),
+ TypesUtil.createRequiredAttrDef("qualifiedName", DataTypes.STRING_TYPE),
createOptionalAttrDef("columnNames", DataTypes.arrayTypeName(DataTypes.STRING_TYPE)),
createOptionalAttrDef("created", DataTypes.DATE_TYPE),
createOptionalAttrDef("parameters",
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/b9525a57/webapp/src/test/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/webapp/src/test/webapp/WEB-INF/web.xml b/webapp/src/test/webapp/WEB-INF/web.xml
index 6649043..f7e2028 100755
--- a/webapp/src/test/webapp/WEB-INF/web.xml
+++ b/webapp/src/test/webapp/WEB-INF/web.xml
@@ -27,9 +27,14 @@
<context-param>
<param-name>guice.packages</param-name>
<param-value>
- org.apache.atlas.web.resources,org.apache.atlas.web.params
+ org.apache.atlas.web.resources,org.apache.atlas.web.params,org.apache.atlas.web.rest,org.apache.atlas.web.errors
</param-value>
</context-param>
+
+ <context-param>
+ <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
+ <param-value>true</param-value>
+ </context-param>
<!--
More information can be found here:
@@ -46,7 +51,7 @@
<filter-name>guiceFilter</filter-name>
<filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
</filter>
-
+
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
@@ -58,11 +63,11 @@
</filter-mapping>
<listener>
- <listener-class>org.apache.atlas.web.listeners.TestGuiceServletConfig</listener-class>
+ <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
-
+
<listener>
- <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
+ <listener-class>org.apache.atlas.web.listeners.GuiceServletConfig</listener-class>
</listener>
<listener>
@@ -73,6 +78,7 @@
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
+
<session-config>
<session-timeout>60</session-timeout>
<tracking-mode>COOKIE</tracking-mode>
@@ -82,4 +88,5 @@
</cookie-config>
</session-config>
+
</web-app>