Repository: atlas Updated Branches: refs/heads/master d8d9b1270 -> 57c0cffae
ATLAS-2401, ATLAS-2402, ATLAS-2403, ATLAS-2404, ATLAS-2412, ATLAS-2413, ATLAS-2414, ATLAS-2415, ATLAS-2416, ATLAS-2417: Fixed disabled ITs. Project: http://git-wip-us.apache.org/repos/asf/atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/57c0cffa Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/57c0cffa Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/57c0cffa Branch: refs/heads/master Commit: 57c0cffae9eb918d5ae851f155585085c100b104 Parents: d8d9b12 Author: Ashutosh Mestry <ames...@hortonworks.com> Authored: Tue May 1 15:08:44 2018 -0700 Committer: Ashutosh Mestry <ames...@hortonworks.com> Committed: Tue May 1 15:47:16 2018 -0700 ---------------------------------------------------------------------- .../EntityDiscoveryJerseyResourceIT.java | 205 -------------- .../MetadataDiscoveryJerseyResourceIT.java | 267 ------------------- .../service/SecureEmbeddedServerTestBase.java | 2 - 3 files changed, 474 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/atlas/blob/57c0cffa/webapp/src/test/java/org/apache/atlas/web/integration/EntityDiscoveryJerseyResourceIT.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/atlas/web/integration/EntityDiscoveryJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/integration/EntityDiscoveryJerseyResourceIT.java deleted file mode 100755 index 52b7a46..0000000 --- a/webapp/src/test/java/org/apache/atlas/web/integration/EntityDiscoveryJerseyResourceIT.java +++ /dev/null @@ -1,205 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * <p> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p> - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.web.integration; - -import com.sun.jersey.core.util.MultivaluedMapImpl; -import org.apache.atlas.AtlasServiceException; -import org.apache.atlas.model.discovery.AtlasSearchResult; -import org.apache.atlas.model.discovery.AtlasSearchResult.AtlasFullTextResult; -import org.apache.atlas.model.discovery.AtlasSearchResult.AtlasQueryType; -import org.apache.atlas.model.instance.AtlasEntity.Status; -import org.apache.atlas.model.instance.AtlasEntityHeader; -import org.apache.atlas.model.typedef.AtlasBaseTypeDef; -import org.apache.atlas.v1.model.typedef.*; -import org.apache.atlas.v1.typesystem.types.utils.TypesUtil; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import javax.ws.rs.core.MultivaluedMap; -import java.util.Collections; -import java.util.List; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; -import static org.testng.Assert.assertNull; - -/** - * Search V2 Integration Tests. - */ -public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT { - private String dbName; - - @BeforeClass - public void setUp() throws Exception { - super.setUp(); - dbName = "db" + randomString(); - createTypes(); - createInstance(createHiveDBInstanceBuiltIn(dbName)); - } - - @Test(enabled = false) - public void testSearchByDSL() throws Exception { - String dslQuery = "from "+ DATABASE_TYPE_BUILTIN + " " + QUALIFIED_NAME + "=\"" + dbName + "\""; - - AtlasSearchResult searchResult = atlasClientV2.dslSearch(dslQuery); - assertNotNull(searchResult); - assertEquals(searchResult.getQueryText(), dslQuery); - assertEquals(searchResult.getQueryType(), AtlasQueryType.DSL); - - List<AtlasEntityHeader> entities = searchResult.getEntities(); - assertNotNull(entities); - assertEquals(entities.size(), 1); - - AtlasEntityHeader dbEntity = entities.get(0); - assertEquals(dbEntity.getTypeName(), DATABASE_TYPE_BUILTIN); - assertEquals(dbEntity.getDisplayText(), dbName); - assertEquals(dbEntity.getStatus(), Status.ACTIVE); - assertNotNull(dbEntity.getGuid()); - assertNull(searchResult.getAttributes()); - assertNull(searchResult.getFullTextResult()); - } - - @Test(enabled = false) - public void testSearchDSLLimits() throws Exception { - String dslQuery = "from "+ DATABASE_TYPE_BUILTIN + " " + QUALIFIED_NAME + "=\"" + dbName + "\""; - AtlasSearchResult searchResult = atlasClientV2.dslSearch(dslQuery); - assertNotNull(searchResult); - - //higher limit, all results returned - searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 10, 0); - assertEquals(searchResult.getEntities().size(), 1); - - //default limit and offset -1, all results returned - searchResult = atlasClientV2.dslSearchWithParams(dslQuery, -1, -1); - assertEquals(searchResult.getEntities().size(), 1); - - //uses the limit parameter passed - searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 1, 0); - assertEquals(searchResult.getEntities().size(), 1); - - //uses the offset parameter passed - searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 10, 1); - assertNull(searchResult.getEntities()); - - //limit > 0 - searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 0, 10); - assertNull(searchResult.getEntities()); - - //limit > maxlimit - searchResult = atlasClientV2.dslSearchWithParams(dslQuery, Integer.MAX_VALUE, 10); - assertNull(searchResult.getEntities()); - - //offset >= 0 - searchResult = atlasClientV2.dslSearchWithParams(dslQuery, 10, -2); - assertEquals(searchResult.getEntities().size(), 1); - } - - @Test(expectedExceptions = AtlasServiceException.class) - public void testSearchByDSLForUnknownType() throws Exception { - String dslQuery = "from blah"; - AtlasSearchResult searchResult = atlasClientV2.dslSearch(dslQuery); - } - - @Test(enabled = false) - public void testSearchUsingDSL() throws Exception { - String query = "from "+ DATABASE_TYPE_BUILTIN + " " + QUALIFIED_NAME + "=\"" + dbName + "\""; - AtlasSearchResult searchResult = atlasClientV2.dslSearch(query); - assertNotNull(searchResult); - - assertEquals(searchResult.getQueryText(), query); - assertEquals(searchResult.getQueryType(), AtlasQueryType.DSL); - List<AtlasEntityHeader> entities = searchResult.getEntities(); - assertNotNull(entities); - assertEquals(entities.size(), 1); - - AtlasEntityHeader dbEntity = entities.get(0); - assertEquals(dbEntity.getTypeName(), DATABASE_TYPE_BUILTIN); - assertEquals(dbEntity.getDisplayText(), dbName); - assertEquals(dbEntity.getStatus(), Status.ACTIVE); - - assertNotNull(dbEntity.getGuid()); - assertNull(searchResult.getAttributes()); - assertNull(searchResult.getFullTextResult()); - } - - @Test - public void testSearchFullTextOnDSLFailure() throws Exception { - String query = "*"; - AtlasSearchResult searchResult = atlasClientV2.fullTextSearch(query); - assertNotNull(searchResult); - assertEquals(searchResult.getQueryText(), query); - assertEquals(searchResult.getQueryType(), AtlasQueryType.FULL_TEXT); - } - - @Test(enabled = false, dependsOnMethods = "testSearchDSLLimits") - public void testSearchUsingFullText() throws Exception { - AtlasSearchResult searchResult = atlasClientV2.fullTextSearchWithParams(dbName, 10, 0); - assertNotNull(searchResult); - - assertEquals(searchResult.getQueryText(), dbName); - assertEquals(searchResult.getQueryType(), AtlasQueryType.FULL_TEXT); - - List<AtlasFullTextResult> fullTextResults = searchResult.getFullTextResult(); - assertEquals(fullTextResults.size(), 1); - - AtlasFullTextResult result = fullTextResults.get(0); - assertNotNull(result.getEntity()); - assertEquals(result.getEntity().getTypeName(), DATABASE_TYPE_BUILTIN); - assertNotNull(result.getScore()); - - //API works without limit and offset - String query = dbName; - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add("query", query); - searchResult = atlasClientV2.fullTextSearch(query); - assertNotNull(searchResult); - assertEquals(searchResult.getFullTextResult().size(), 1); - - //verify passed in limits and offsets are used - //higher limit and 0 offset returns all results - searchResult = atlasClientV2.fullTextSearchWithParams(query, 10, 0); - assertEquals(searchResult.getFullTextResult().size(), 1); - - //offset is used - searchResult = atlasClientV2.fullTextSearchWithParams(query, 10, 1); - assertEquals(searchResult.getFullTextResult().size(), 1); - - //limit is used - searchResult = atlasClientV2.fullTextSearchWithParams(query, 1, 0); - assertEquals(searchResult.getFullTextResult().size(), 1); - - //higher offset returns 0 results - searchResult = atlasClientV2.fullTextSearchWithParams(query, 1, 2); - assertEquals(searchResult.getFullTextResult().size(), 1); - } - - private void createTypes() throws Exception { - ClassTypeDefinition dslTestTypeDefinition = TypesUtil - .createClassTypeDef("dsl_test_type", null, Collections.<String>emptySet(), - TypesUtil.createUniqueRequiredAttrDef("name", AtlasBaseTypeDef.ATLAS_TYPE_STRING), - TypesUtil.createRequiredAttrDef("description", AtlasBaseTypeDef.ATLAS_TYPE_STRING)); - - TraitTypeDefinition classificationTraitDefinition = TypesUtil - .createTraitTypeDef("Classification", null, Collections.<String>emptySet(), - TypesUtil.createRequiredAttrDef("tag", AtlasBaseTypeDef.ATLAS_TYPE_STRING)); - TypesDef typesDef = new TypesDef(Collections.<EnumTypeDefinition>emptyList(), Collections.<StructTypeDefinition>emptyList(), - Collections.singletonList(classificationTraitDefinition), Collections.singletonList(dslTestTypeDefinition)); - createType(typesDef); - } -} http://git-wip-us.apache.org/repos/asf/atlas/blob/57c0cffa/webapp/src/test/java/org/apache/atlas/web/integration/MetadataDiscoveryJerseyResourceIT.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/atlas/web/integration/MetadataDiscoveryJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/integration/MetadataDiscoveryJerseyResourceIT.java deleted file mode 100755 index 1628718..0000000 --- a/webapp/src/test/java/org/apache/atlas/web/integration/MetadataDiscoveryJerseyResourceIT.java +++ /dev/null @@ -1,267 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.web.integration; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.ArrayNode; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.sun.jersey.api.client.ClientResponse; -import com.sun.jersey.core.util.MultivaluedMapImpl; -import org.apache.atlas.AtlasClient; -import org.apache.atlas.AtlasServiceException; -import org.apache.atlas.model.typedef.AtlasBaseTypeDef; -import org.apache.atlas.v1.model.instance.Id; -import org.apache.atlas.v1.model.instance.Referenceable; -import org.apache.atlas.v1.model.instance.Struct; -import org.apache.atlas.v1.model.typedef.*; -import org.apache.atlas.v1.typesystem.types.utils.TypesUtil; -import org.testng.Assert; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import javax.ws.rs.core.MultivaluedMap; -import java.util.Collections; -import java.util.List; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; -import static org.testng.Assert.fail; - -/** - * Search Integration Tests. - */ -public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT { - - private String tagName; - private String dbName; - - @BeforeClass - public void setUp() throws Exception { - super.setUp(); - dbName = "db"+randomString(); - createTypes(); - createInstance( createHiveDBInstanceV1(dbName) ); - } - - // Disabling DSL tests - @Test (enabled = false) - public void testSearchByDSL() throws Exception { - String dslQuery = "from "+ DATABASE_TYPE + " name=\"" + dbName + "\""; - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add("query", dslQuery); - ObjectNode response = atlasClientV1.callAPIWithQueryParams(AtlasClient.API_V1.SEARCH_DSL, queryParams); - - Assert.assertNotNull(response); - Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); - - assertEquals(response.get("query").asText(), dslQuery); - assertEquals(response.get("queryType").asText(), "dsl"); - - ArrayNode results = (ArrayNode) response.get(AtlasClient.RESULTS); - assertNotNull(results); - assertEquals(results.size(), 1); - - int numRows = response.get(AtlasClient.COUNT).asInt(); - assertEquals(numRows, 1); - } - - // Disabling DSL tests, will be enabled when new implementation is ready - @Test (enabled = false) - public void testSearchDSLLimits() throws Exception { - - //search without new parameters of limit and offset should work - String dslQuery = "from "+ DATABASE_TYPE + " name=\"" + dbName + "\""; - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add("query", dslQuery); - ObjectNode response = atlasClientV1.callAPIWithQueryParams(AtlasClient.API_V1.SEARCH_DSL, queryParams); - assertNotNull(response); - - //higher limit, all results returned - ArrayNode results = atlasClientV1.searchByDSL(dslQuery, 10, 0); - assertEquals(results.size(), 1); - - //default limit and offset -1, all results returned - results = atlasClientV1.searchByDSL(dslQuery, -1, -1); - assertEquals(results.size(), 1); - - //uses the limit parameter passed - results = atlasClientV1.searchByDSL(dslQuery, 1, 0); - assertEquals(results.size(), 1); - - //uses the offset parameter passed - results = atlasClientV1.searchByDSL(dslQuery, 10, 1); - assertEquals(results.size(), 0); - - //limit > 0 - try { - atlasClientV1.searchByDSL(dslQuery, 0, 10); - fail("Expected BAD_REQUEST"); - } catch (AtlasServiceException e) { - assertEquals(e.getStatus(), ClientResponse.Status.BAD_REQUEST, "Got " + e.getStatus()); - } - - //limit > maxlimit - try { - atlasClientV1.searchByDSL(dslQuery, Integer.MAX_VALUE, 10); - fail("Expected BAD_REQUEST"); - } catch (AtlasServiceException e) { - assertEquals(e.getStatus(), ClientResponse.Status.BAD_REQUEST, "Got " + e.getStatus()); - } - - //offset >= 0 - try { - atlasClientV1.searchByDSL(dslQuery, 10, -2); - fail("Expected BAD_REQUEST"); - } catch (AtlasServiceException e) { - assertEquals(e.getStatus(), ClientResponse.Status.BAD_REQUEST, "Got " + e.getStatus()); - } - } - - @Test(expectedExceptions = AtlasServiceException.class) - public void testSearchByDSLForUnknownType() throws Exception { - String dslQuery = "from blah"; - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add("query", dslQuery); - atlasClientV1.callAPIWithQueryParams(AtlasClient.API_V1.SEARCH_DSL, queryParams); - } - - @Test (enabled = false) - public void testSearchUsingGremlin() throws Exception { - // Disabling this test, since search using Gremlin is no longer supported. - String query = "g.V.has('type', '" + BaseResourceIT.HIVE_TABLE_TYPE + "').toList()"; - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add("query", query); - - ObjectNode response = atlasClientV1.callAPIWithQueryParams(AtlasClient.API_V1.GREMLIN_SEARCH, queryParams); - - assertNotNull(response); - assertNotNull(response.get(AtlasClient.REQUEST_ID)); - - assertEquals(response.get("query").asText(), query); - assertEquals(response.get("queryType").asText(), "gremlin"); - } - - // Disabling DSL tests - @Test (enabled = false) - public void testSearchUsingDSL() throws Exception { - //String query = "from dsl_test_type"; - String query = "from "+ DATABASE_TYPE + " name=\"" + dbName +"\""; - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add("query", query); - ObjectNode response = atlasClientV1.callAPIWithQueryParams(AtlasClient.API_V1.SEARCH, queryParams); - - Assert.assertNotNull(response); - Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); - - assertEquals(response.get("query").asText(), query); - assertEquals(response.get("queryType").asText(), "dsl"); - } - - // Disabling DSL tests - @Test (enabled = false) - public void testSearchFullTextOnDSLFailure() throws Exception { - String query = "*"; - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add("query", query); - ObjectNode response = atlasClientV1.callAPIWithQueryParams(AtlasClient.API_V1.SEARCH, queryParams); - - Assert.assertNotNull(response); - Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); - - assertEquals(response.get("query").asText(), query); - assertEquals(response.get("queryType").asText(), "full-text"); - } - - @Test(enabled = false, dependsOnMethods = "testSearchDSLLimits") - public void testSearchUsingFullText() throws Exception { - ObjectNode response = atlasClientV1.searchByFullText(dbName, 10, 0); - assertNotNull(response.get(AtlasClient.REQUEST_ID)); - - assertEquals(response.get("query").asText(), dbName); - assertEquals(response.get("queryType").asText(), "full-text"); - - ArrayNode results = (ArrayNode) response.get(AtlasClient.RESULTS); - assertEquals(results.size(), 1, "Results: " + results); - - JsonNode row = results.get(0); - assertNotNull(row.get("guid")); - assertEquals(row.get("typeName").asText(), DATABASE_TYPE); - assertNotNull(row.get("score")); - - int numRows = response.get(AtlasClient.COUNT).asInt(); - assertEquals(numRows, 1); - - //API works without limit and offset - String query = dbName; - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add("query", query); - response = atlasClientV1.callAPIWithQueryParams(AtlasClient.API_V1.SEARCH_FULL_TEXT, queryParams); - results = (ArrayNode) response.get(AtlasClient.RESULTS); - assertEquals(results.size(), 1); - - //verify passed in limits and offsets are used - //higher limit and 0 offset returns all results - results = (ArrayNode) atlasClientV1.searchByFullText(query, 10, 0).get(AtlasClient.RESULTS); - assertEquals(results.size(), 1); - - //offset is used - results = (ArrayNode) atlasClientV1.searchByFullText(query, 10, 1).get(AtlasClient.RESULTS); - assertEquals(results.size(), 0); - - //limit is used - results = (ArrayNode) atlasClientV1.searchByFullText(query, 1, 0).get(AtlasClient.RESULTS); - assertEquals(results.size(), 1); - - //higher offset returns 0 results - results = (ArrayNode) atlasClientV1.searchByFullText(query, 1, 2).get(AtlasClient.RESULTS); - assertEquals(results.size(), 0); - } - - private void createTypes() throws Exception { - createTypeDefinitionsV1(); - - ClassTypeDefinition dslTestTypeDefinition = TypesUtil - .createClassTypeDef("dsl_test_type", null, Collections.<String>emptySet(), - TypesUtil.createUniqueRequiredAttrDef("name", AtlasBaseTypeDef.ATLAS_TYPE_STRING), - TypesUtil.createRequiredAttrDef("description", AtlasBaseTypeDef.ATLAS_TYPE_STRING)); - - TraitTypeDefinition classificationTraitDefinition = TypesUtil - .createTraitTypeDef("Classification", null, Collections.<String>emptySet(), - TypesUtil.createRequiredAttrDef("tag", AtlasBaseTypeDef.ATLAS_TYPE_STRING)); - TypesDef typesDef = new TypesDef(Collections.<EnumTypeDefinition>emptyList(), Collections.<StructTypeDefinition>emptyList(), - Collections.singletonList(classificationTraitDefinition), Collections.singletonList(dslTestTypeDefinition)); - createType(typesDef); - } - - private Id createInstance() throws Exception { - Referenceable entityInstance = new Referenceable("dsl_test_type", "Classification"); - entityInstance.set("name", randomString()); - entityInstance.set("description", randomString()); - - - Struct traitInstance = (Struct) entityInstance.getTrait("Classification"); - tagName = randomString(); - traitInstance.set("tag", tagName); - - List<String> traits = entityInstance.getTraitNames(); - assertEquals(traits.size(), 1); - - return createInstance(entityInstance); - } -} http://git-wip-us.apache.org/repos/asf/atlas/blob/57c0cffa/webapp/src/test/java/org/apache/atlas/web/service/SecureEmbeddedServerTestBase.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/atlas/web/service/SecureEmbeddedServerTestBase.java b/webapp/src/test/java/org/apache/atlas/web/service/SecureEmbeddedServerTestBase.java index f8ed6fb..9eff636 100755 --- a/webapp/src/test/java/org/apache/atlas/web/service/SecureEmbeddedServerTestBase.java +++ b/webapp/src/test/java/org/apache/atlas/web/service/SecureEmbeddedServerTestBase.java @@ -25,7 +25,6 @@ import org.apache.atlas.AtlasException; import org.apache.atlas.web.TestUtils; import org.apache.atlas.web.integration.AdminJerseyResourceIT; import org.apache.atlas.web.integration.EntityJerseyResourceIT; -import org.apache.atlas.web.integration.MetadataDiscoveryJerseyResourceIT; import org.apache.atlas.web.integration.TypesJerseyResourceIT; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.hadoop.conf.Configuration; @@ -173,7 +172,6 @@ public class SecureEmbeddedServerTestBase { TestListenerAdapter tla = new TestListenerAdapter(); TestNG testng = new TestNG(); testng.setTestClasses(new Class[]{AdminJerseyResourceIT.class, EntityJerseyResourceIT.class, - MetadataDiscoveryJerseyResourceIT.class, TypesJerseyResourceIT.class}); testng.addListener(tla); testng.run();