Repository: incubator-atlas Updated Branches: refs/heads/master 2c881a466 -> 28410df5f
ATLAS-1357: Fixes for test failures from ATLAS-1307 Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/28410df5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/28410df5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/28410df5 Branch: refs/heads/master Commit: 28410df5f40cdfd2cb09c9fe99cbfb615b2038c0 Parents: 2c881a4 Author: apoorvnaik <[email protected]> Authored: Thu Dec 8 00:20:32 2016 -0800 Committer: Suma Shivaprasad <[email protected]> Committed: Thu Dec 8 00:50:04 2016 -0800 ---------------------------------------------------------------------- .../java/org/apache/atlas/AtlasBaseClient.java | 36 +++++++--- .../main/java/org/apache/atlas/AtlasClient.java | 43 +++++------ .../org/apache/atlas/model/SearchFilter.java | 29 ++++---- release-log.txt | 3 +- .../web/resources/AdminJerseyResourceIT.java | 2 +- .../DataSetLineageJerseyResourceIT.java | 10 +-- .../web/resources/EntityJerseyResourceIT.java | 76 +++++++++++--------- .../EntityLineageJerseyResourceIT.java | 29 ++++---- .../MetadataDiscoveryJerseyResourceIT.java | 46 ++++++------ .../web/resources/TypedefsJerseyResourceIT.java | 26 +++---- .../web/resources/TypesJerseyResourceIT.java | 10 +-- 11 files changed, 170 insertions(+), 140 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/client/src/main/java/org/apache/atlas/AtlasBaseClient.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/atlas/AtlasBaseClient.java b/client/src/main/java/org/apache/atlas/AtlasBaseClient.java index 72fd69e..a95bf32 100644 --- a/client/src/main/java/org/apache/atlas/AtlasBaseClient.java +++ b/client/src/main/java/org/apache/atlas/AtlasBaseClient.java @@ -38,6 +38,7 @@ import org.slf4j.LoggerFactory; import javax.ws.rs.HttpMethod; import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriBuilder; import java.io.IOException; @@ -398,7 +399,7 @@ public abstract class AtlasBaseClient { return callAPIWithResource(api, getResource(api, params), requestObject, responseType); } - public <T> T callAPI(APIInfo api, Class<T> responseType, Map<String, String> queryParams, String... params) + public <T> T callAPI(APIInfo api, Class<T> responseType, MultivaluedMap<String, String> queryParams, String... params) throws AtlasServiceException { WebResource resource = getResource(api, queryParams, params); return callAPIWithResource(api, resource, null, responseType); @@ -415,12 +416,27 @@ public abstract class AtlasBaseClient { return resource; } - public <T> T callAPI(APIInfo api, Class<T> responseType, Map<String, String> queryParams) + public <T> T callAPI(APIInfo api, Class<T> responseType, MultivaluedMap<String, String> queryParams) throws AtlasServiceException { return callAPIWithResource(api, getResource(api, queryParams), null, responseType); } - protected WebResource getResource(APIInfo api, Map<String, String> queryParams, String ... pathParams) { + public <T> T callAPI(APIInfo api, Class<T> responseType, String queryParamKey, List<String> queryParamValues) + throws AtlasServiceException { + return callAPIWithResource(api, getResource(api, queryParamKey, queryParamValues), null, responseType); + } + + private WebResource getResource(APIInfo api, String queryParamKey, List<String> queryParamValues) { + WebResource resource = service.path(api.getPath()); + for (String queryParamValue : queryParamValues) { + if (StringUtils.isNotBlank(queryParamKey) && StringUtils.isNotBlank(queryParamValue)) { + resource = resource.queryParam(queryParamKey, queryParamValue); + } + } + return resource; + } + + protected WebResource getResource(APIInfo api, MultivaluedMap<String, String> queryParams, String ... pathParams) { WebResource resource = service.path(api.getPath()); resource = appendPathParams(resource, pathParams); resource = appendQueryParams(queryParams, resource); @@ -436,21 +452,25 @@ public abstract class AtlasBaseClient { return resource; } - protected WebResource getResource(APIInfo api, Map<String, String> queryParams) { + protected WebResource getResource(APIInfo api, MultivaluedMap<String, String> queryParams) { return getResource(service, api, queryParams); } // Modify URL to include the query params - private WebResource getResource(WebResource service, APIInfo api, Map<String, String> queryParams) { + private WebResource getResource(WebResource service, APIInfo api, MultivaluedMap<String, String> queryParams) { WebResource resource = service.path(api.getPath()); resource = appendQueryParams(queryParams, resource); return resource; } - private WebResource appendQueryParams(Map<String, String> queryParams, WebResource resource) { + private WebResource appendQueryParams(MultivaluedMap<String, String> queryParams, WebResource resource) { if (null != queryParams && !queryParams.isEmpty()) { - for (Map.Entry<String, String> entry : queryParams.entrySet()) { - resource = resource.queryParam(entry.getKey(), entry.getValue()); + for (Map.Entry<String, List<String>> entry : queryParams.entrySet()) { + for (String value : entry.getValue()) { + if (StringUtils.isNotBlank(value)) { + resource = resource.queryParam(entry.getKey(), value); + } + } } } return resource; http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/client/src/main/java/org/apache/atlas/AtlasClient.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/atlas/AtlasClient.java b/client/src/main/java/org/apache/atlas/AtlasClient.java index a2fabdb..47231a8 100755 --- a/client/src/main/java/org/apache/atlas/AtlasClient.java +++ b/client/src/main/java/org/apache/atlas/AtlasClient.java @@ -42,6 +42,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.ws.rs.HttpMethod; +import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; import java.util.ArrayList; import java.util.Arrays; @@ -301,7 +302,7 @@ public class AtlasClient extends AtlasBaseClient { */ public List<String> createType(String typeAsJson) throws AtlasServiceException { LOG.debug("Creating type definition: {}", typeAsJson); - JSONObject response = callAPI(API.CREATE_TYPE, typeAsJson); + JSONObject response = callAPIWithBody(API.CREATE_TYPE, typeAsJson); List<String> results = extractResults(response, AtlasClient.TYPES, new ExtractOperation<String, JSONObject>() { @Override String extractElement(JSONObject element) throws JSONException { @@ -357,7 +358,7 @@ public class AtlasClient extends AtlasBaseClient { */ public List<String> updateType(String typeAsJson) throws AtlasServiceException { LOG.debug("Updating type definition: {}", typeAsJson); - JSONObject response = callAPI(API.UPDATE_TYPE, typeAsJson); + JSONObject response = callAPIWithBody(API.UPDATE_TYPE, typeAsJson); List<String> results = extractResults(response, AtlasClient.TYPES, new ExtractOperation<String, JSONObject>() { @Override String extractElement(JSONObject element) throws JSONException { @@ -384,7 +385,7 @@ public class AtlasClient extends AtlasBaseClient { * @throws AtlasServiceException */ public List<String> listTypes() throws AtlasServiceException { - final JSONObject jsonObject = callAPI(API.LIST_TYPES, null); + final JSONObject jsonObject = callAPIWithQueryParams(API.LIST_TYPES, null); return extractResults(jsonObject, AtlasClient.RESULTS, new ExtractOperation<String, String>()); } @@ -435,7 +436,7 @@ public class AtlasClient extends AtlasBaseClient { public TypesDef getType(String typeName) throws AtlasServiceException { try { - JSONObject response = callAPI(API.GET_TYPE, null, typeName);; + JSONObject response = callAPIWithBodyAndParams(API.GET_TYPE, null, typeName); String typeJson = response.getString(DEFINITION); return TypesSerialization.fromJson(typeJson); } catch (AtlasServiceException e) { @@ -456,7 +457,7 @@ public class AtlasClient extends AtlasBaseClient { */ protected List<String> createEntity(JSONArray entities) throws AtlasServiceException { LOG.debug("Creating entities: {}", entities); - JSONObject response = callAPI(API.CREATE_ENTITY, entities.toString()); + JSONObject response = callAPIWithBody(API.CREATE_ENTITY, entities.toString()); List<String> results = extractEntityResult(response).getCreatedEntities(); LOG.debug("Create entities returned results: {}", results); return results; @@ -506,7 +507,7 @@ public class AtlasClient extends AtlasBaseClient { protected EntityResult updateEntities(JSONArray entities) throws AtlasServiceException { LOG.debug("Updating entities: {}", entities); - JSONObject response = callAPI(API.UPDATE_ENTITY, entities.toString()); + JSONObject response = callAPIWithBody(API.UPDATE_ENTITY, entities.toString()); EntityResult results = extractEntityResult(response); LOG.debug("Update entities returned results: {}", results); return results; @@ -548,7 +549,7 @@ public class AtlasClient extends AtlasBaseClient { public EntityResult updateEntity(String guid, Referenceable entity) throws AtlasServiceException { String entityJson = InstanceSerialization.toJson(entity, true); LOG.debug("Updating entity id {} with {}", guid, entityJson); - JSONObject response = callAPI(API.UPDATE_ENTITY_PARTIAL, entityJson, guid); + JSONObject response = callAPIWithBodyAndParams(API.UPDATE_ENTITY_PARTIAL, entityJson, guid); return extractEntityResult(response); } @@ -561,7 +562,7 @@ public class AtlasClient extends AtlasBaseClient { public void addTrait(String guid, Struct traitDefinition) throws AtlasServiceException { String traitJson = InstanceSerialization.toJson(traitDefinition, true); LOG.debug("Adding trait to entity with id {} {}", guid, traitJson); - callAPI(API.ADD_TRAITS, traitJson, guid, URI_TRAITS); + callAPIWithBodyAndParams(API.ADD_TRAITS, traitJson, guid, URI_TRAITS); } /** @@ -571,7 +572,7 @@ public class AtlasClient extends AtlasBaseClient { * @throws AtlasServiceException */ public void deleteTrait(String guid, String traitName) throws AtlasServiceException { - callAPI(API.DELETE_TRAITS, null, guid, TRAITS, traitName); + callAPIWithBodyAndParams(API.DELETE_TRAITS, null, guid, TRAITS, traitName); } /** @@ -666,7 +667,7 @@ public class AtlasClient extends AtlasBaseClient { * @throws AtlasServiceException */ public Referenceable getEntity(String guid) throws AtlasServiceException { - JSONObject jsonResponse = callAPI(API.GET_ENTITY, null, guid); + JSONObject jsonResponse = callAPIWithBodyAndParams(API.GET_ENTITY, null, guid); try { String entityInstanceDefinition = jsonResponse.getString(AtlasClient.DEFINITION); return InstanceSerialization.fromJsonReferenceable(entityInstanceDefinition, true); @@ -736,7 +737,7 @@ public class AtlasClient extends AtlasBaseClient { * @throws AtlasServiceException */ public List<String> listTraits(final String guid) throws AtlasServiceException { - JSONObject jsonResponse = callAPI(API.LIST_TRAITS, null, guid, URI_TRAITS); + JSONObject jsonResponse = callAPIWithBodyAndParams(API.LIST_TRAITS, null, guid, URI_TRAITS); return extractResults(jsonResponse, AtlasClient.RESULTS, new ExtractOperation<String, String>()); } @@ -747,7 +748,7 @@ public class AtlasClient extends AtlasBaseClient { * @throws AtlasServiceException */ public List<Struct> listTraitDefinitions(final String guid) throws AtlasServiceException{ - JSONObject jsonResponse = callAPI(API.GET_ALL_TRAIT_DEFINITIONS, null, guid, TRAIT_DEFINITIONS); + JSONObject jsonResponse = callAPIWithBodyAndParams(API.GET_ALL_TRAIT_DEFINITIONS, null, guid, TRAIT_DEFINITIONS); List<JSONObject> traitDefList = extractResults(jsonResponse, AtlasClient.RESULTS, new ExtractOperation<JSONObject, JSONObject>()); ArrayList<Struct> traitStructList = new ArrayList<>(); for(JSONObject traitDef:traitDefList){ @@ -765,7 +766,7 @@ public class AtlasClient extends AtlasBaseClient { * @throws AtlasServiceException */ public Struct getTraitDefinition(final String guid, final String traitName) throws AtlasServiceException{ - JSONObject jsonResponse = callAPI(API.GET_TRAIT_DEFINITION, null, guid, TRAIT_DEFINITIONS, traitName); + JSONObject jsonResponse = callAPIWithBodyAndParams(API.GET_TRAIT_DEFINITION, null, guid, TRAIT_DEFINITIONS, traitName); try { return InstanceSerialization.fromJsonStruct(jsonResponse.getString(AtlasClient.RESULTS), false); @@ -909,7 +910,7 @@ public class AtlasClient extends AtlasBaseClient { } public JSONObject getInputGraph(String datasetName) throws AtlasServiceException { - JSONObject response = callAPI(API.NAME_LINEAGE_INPUTS_GRAPH, null, datasetName, "/inputs/graph"); + JSONObject response = callAPIWithBodyAndParams(API.NAME_LINEAGE_INPUTS_GRAPH, null, datasetName, "/inputs/graph"); try { return response.getJSONObject(AtlasClient.RESULTS); } catch (JSONException e) { @@ -918,7 +919,7 @@ public class AtlasClient extends AtlasBaseClient { } public JSONObject getOutputGraph(String datasetName) throws AtlasServiceException { - JSONObject response = callAPI(API.NAME_LINEAGE_OUTPUTS_GRAPH, null, datasetName, "/outputs/graph"); + JSONObject response = callAPIWithBodyAndParams(API.NAME_LINEAGE_OUTPUTS_GRAPH, null, datasetName, "/outputs/graph"); try { return response.getJSONObject(AtlasClient.RESULTS); } catch (JSONException e) { @@ -927,7 +928,7 @@ public class AtlasClient extends AtlasBaseClient { } public JSONObject getInputGraphForEntity(String entityId) throws AtlasServiceException { - JSONObject response = callAPI(API.LINEAGE_INPUTS_GRAPH, null, entityId, "/inputs/graph"); + JSONObject response = callAPIWithBodyAndParams(API.LINEAGE_INPUTS_GRAPH, null, entityId, "/inputs/graph"); try { return response.getJSONObject(AtlasClient.RESULTS); } catch (JSONException e) { @@ -936,7 +937,7 @@ public class AtlasClient extends AtlasBaseClient { } public JSONObject getOutputGraphForEntity(String datasetId) throws AtlasServiceException { - JSONObject response = callAPI(API.LINEAGE_OUTPUTS_GRAPH, null, datasetId, "/outputs/graph"); + JSONObject response = callAPIWithBodyAndParams(API.LINEAGE_OUTPUTS_GRAPH, null, datasetId, "/outputs/graph"); try { return response.getJSONObject(AtlasClient.RESULTS); } catch (JSONException e) { @@ -945,7 +946,7 @@ public class AtlasClient extends AtlasBaseClient { } public JSONObject getSchemaForEntity(String datasetId) throws AtlasServiceException { - JSONObject response = callAPI(API.LINEAGE_OUTPUTS_GRAPH, null, datasetId, "/schema"); + JSONObject response = callAPIWithBodyAndParams(API.LINEAGE_OUTPUTS_GRAPH, null, datasetId, "/schema"); try { return response.getJSONObject(AtlasClient.RESULTS); } catch (JSONException e) { @@ -965,17 +966,17 @@ public class AtlasClient extends AtlasBaseClient { } @VisibleForTesting - public JSONObject callAPI(API api, Object requestObject) throws AtlasServiceException { + public JSONObject callAPIWithBody(API api, Object requestObject) throws AtlasServiceException { return callAPI(toAPIInfo(api), requestObject, JSONObject.class, (String[]) null); } @VisibleForTesting - public JSONObject callAPI(API api, Object requestObject, String ... params) throws AtlasServiceException { + public JSONObject callAPIWithBodyAndParams(API api, Object requestObject, String ... params) throws AtlasServiceException { return callAPI(toAPIInfo(api), requestObject, JSONObject.class, params); } @VisibleForTesting - public JSONObject callAPI(API api, Map<String, String> queryParams) throws AtlasServiceException { + public JSONObject callAPIWithQueryParams(API api, MultivaluedMap<String, String> queryParams) throws AtlasServiceException { return callAPI(toAPIInfo(api), JSONObject.class, queryParams); } http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/intg/src/main/java/org/apache/atlas/model/SearchFilter.java ---------------------------------------------------------------------- diff --git a/intg/src/main/java/org/apache/atlas/model/SearchFilter.java b/intg/src/main/java/org/apache/atlas/model/SearchFilter.java index b5f6c3a..677726b 100644 --- a/intg/src/main/java/org/apache/atlas/model/SearchFilter.java +++ b/intg/src/main/java/org/apache/atlas/model/SearchFilter.java @@ -17,18 +17,19 @@ */ package org.apache.atlas.model; -import java.util.HashMap; -import java.util.Map; - +import com.sun.jersey.core.util.MultivaluedMapImpl; import org.codehaus.jackson.annotate.JsonAutoDetect; -import static org.codehaus.jackson.annotate.JsonAutoDetect.Visibility.PUBLIC_ONLY; -import static org.codehaus.jackson.annotate.JsonAutoDetect.Visibility.NONE; import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.codehaus.jackson.map.annotate.JsonSerialize; +import javax.ws.rs.core.MultivaluedMap; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; +import java.util.List; + +import static org.codehaus.jackson.annotate.JsonAutoDetect.Visibility.NONE; +import static org.codehaus.jackson.annotate.JsonAutoDetect.Visibility.PUBLIC_ONLY; /** * Generic filter, to specify search criteria using name/value pairs. @@ -48,7 +49,7 @@ public class SearchFilter { */ public enum SortType { NONE, ASC, DESC }; - private Map<String, String> params = null; + private MultivaluedMap<String, String> params = null; private long startIndex = 0; private long maxRows = Long.MAX_VALUE; private boolean getCount = true; @@ -59,20 +60,24 @@ public class SearchFilter { setParams(null); } - public SearchFilter(Map<String, String> params) { + public SearchFilter(MultivaluedMap<String, String> params) { setParams(params); } - public Map<String, String> getParams() { + public MultivaluedMap<String, String> getParams() { return params; } - public void setParams(Map<String, String> params) { + public void setParams(MultivaluedMap<String, String> params) { this.params = params; } public String getParam(String name) { - String ret = null; + return getParams(name).get(0); + } + + public List<String> getParams(String name) { + List<String> ret = null; if (name != null && params != null) { ret = params.get(name); @@ -84,10 +89,10 @@ public class SearchFilter { public void setParam(String name, String value) { if (name != null) { if (params == null) { - params = new HashMap<String, String>(); + params = new MultivaluedMapImpl(); } - params.put(name, value); + params.add(name, value); } } http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/release-log.txt ---------------------------------------------------------------------- diff --git a/release-log.txt b/release-log.txt index 058377a..02fe03b 100644 --- a/release-log.txt +++ b/release-log.txt @@ -9,7 +9,8 @@ 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-1307: Integration test calls routing via the Client. ((apoorvnaik via sumasai) +ATLAS-1357: Fixes for test failures from ATLAS-1307 (apoorvnaik via sumasai) +ATLAS-1307: Integration test calls routing via the Client. (apoorvnaik via sumasai) ATLAS-1355: Fix for bad error translation from V2 API (apoorvnaik via sumasai) ATLAS-1351 HiveHook fails with NPE for hive process registration (vimalsharma via sumasai) ATLAS-1342 Titan Solrclient - Add timeouts for zookeeper connect and session (sumasai) http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/webapp/src/test/java/org/apache/atlas/web/resources/AdminJerseyResourceIT.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/AdminJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/AdminJerseyResourceIT.java index 110a7bb..2a4baba 100755 --- a/webapp/src/test/java/org/apache/atlas/web/resources/AdminJerseyResourceIT.java +++ b/webapp/src/test/java/org/apache/atlas/web/resources/AdminJerseyResourceIT.java @@ -37,7 +37,7 @@ public class AdminJerseyResourceIT extends BaseResourceIT { @Test public void testGetVersion() throws Exception { - JSONObject response = serviceClient.callAPI(AtlasClient.API.VERSION, null, (String[]) null); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.VERSION, null, (String[]) null); Assert.assertNotNull(response); PropertiesConfiguration buildConfiguration = new PropertiesConfiguration("atlas-buildinfo.properties"); http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/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 011701a..7e4db13 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 @@ -59,7 +59,7 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT { @Test public void testInputsGraph() throws Exception { - JSONObject response = serviceClient.callAPI(AtlasClient.API.NAME_LINEAGE_INPUTS_GRAPH, null, salesMonthlyTable, "inputs", "graph"); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_INPUTS_GRAPH, null, salesMonthlyTable, "inputs", "graph"); Assert.assertNotNull(response); System.out.println("inputs graph = " + response); @@ -95,7 +95,7 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT { @Test public void testOutputsGraph() throws Exception { - JSONObject response = serviceClient.callAPI(AtlasClient.API.NAME_LINEAGE_OUTPUTS_GRAPH, null, salesFactTable, "outputs", "graph"); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_OUTPUTS_GRAPH, null, salesFactTable, "outputs", "graph"); Assert.assertNotNull(response); System.out.println("outputs graph= " + response); @@ -131,7 +131,7 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT { @Test public void testSchema() throws Exception { - JSONObject response = serviceClient.callAPI(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, salesFactTable, "schema"); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, salesFactTable, "schema"); Assert.assertNotNull(response); System.out.println("schema = " + response); @@ -175,12 +175,12 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT { @Test(expectedExceptions = AtlasServiceException.class) public void testSchemaForInvalidTable() throws Exception { - JSONObject response = serviceClient.callAPI(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, "blah", "schema"); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, "blah", "schema"); } @Test(expectedExceptions = AtlasServiceException.class) public void testSchemaForDB() throws Exception { - JSONObject response = serviceClient.callAPI(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, salesDBName, "schema"); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.NAME_LINEAGE_SCHEMA, null, salesDBName, "schema"); } private void setupInstances() throws Exception { http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/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 28b6325..1de7d65 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 @@ -24,6 +24,7 @@ import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; import com.google.inject.Inject; 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.EntityAuditEvent; @@ -60,6 +61,7 @@ import org.testng.annotations.DataProvider; import org.testng.annotations.Guice; import org.testng.annotations.Test; +import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; import java.util.ArrayList; import java.util.HashMap; @@ -169,7 +171,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { databaseInstance.set("location", "/tmp"); JSONObject response = serviceClient - .callAPI(AtlasClient.API.CREATE_ENTITY, InstanceSerialization.toJson(databaseInstance, true)); + .callAPIWithBody(AtlasClient.API.CREATE_ENTITY, InstanceSerialization.toJson(databaseInstance, true)); assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); @@ -322,7 +324,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { String description = "bar table - new desc"; addProperty(guid, "description", description); - JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, guid); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, guid); Assert.assertNotNull(response); tableInstance.set("description", description); @@ -338,7 +340,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { String currentTime = String.valueOf(new DateTime() ); addProperty(guid, "createTime", currentTime); - response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, guid); + response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, guid); Assert.assertNotNull(response); tableInstance.set("createTime", currentTime); @@ -390,7 +392,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test(dependsOnMethods = "testSubmitEntity") public void testGetEntityDefinition() throws Exception { final String guid = tableId._getId(); - JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, guid); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, guid); Assert.assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); @@ -410,7 +412,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test(expectedExceptions = AtlasServiceException.class) public void testGetInvalidEntityDefinition() throws Exception { - JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, "blah"); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, "blah"); Assert.assertNotNull(response); @@ -430,7 +432,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { Map<String, String> queryParams = new HashMap<>(); queryParams.put("type", "blah"); - JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, queryParams); + JSONObject response = serviceClient.callAPIWithBody(AtlasClient.API.GET_ENTITY, queryParams); assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.ERROR)); Assert.assertNotNull(response.get(AtlasClient.STACKTRACE)); @@ -441,10 +443,10 @@ public class EntityJerseyResourceIT extends BaseResourceIT { public void testGetEntityListForNoInstances() throws Exception { String typeName = addNewType(); - Map<String, String> queryParams = new HashMap<>(); - queryParams.put("type", typeName); + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add("type", typeName); - JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, queryParams); + JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.GET_ENTITY, queryParams); assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); @@ -468,7 +470,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { public void testGetTraitNames() throws Exception { final String guid = tableId._getId(); - JSONObject response = serviceClient.callAPI(AtlasClient.API.LIST_TRAITS, null, guid, TRAITS); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.LIST_TRAITS, null, guid, TRAITS); assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); @@ -490,7 +492,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { LOG.debug("traitInstanceAsJSON = " + traitInstanceAsJSON); final String guid = tableId._getId(); - JSONObject response = serviceClient.callAPI(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS); assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); @@ -511,7 +513,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { LOG.debug("traitInstanceAsJSON = " + traitInstanceAsJSON); final String guid = tableId._getId(); - JSONObject response = serviceClient.callAPI(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS); assertNotNull(response); Struct traitDef = serviceClient.getTraitDefinition(guid, traitName); System.out.println(traitDef.toString()); @@ -533,7 +535,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { LOG.debug("traitInstanceAsJSON = " + traitInstanceAsJSON); final String guid = tableId._getId(); - JSONObject response = serviceClient.callAPI(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS); assertNotNull(response); } @@ -553,12 +555,12 @@ public class EntityJerseyResourceIT extends BaseResourceIT { LOG.debug("traitInstanceAsJSON = " + traitInstanceAsJSON); final String guid = tableId._getId(); - JSONObject response = serviceClient.callAPI(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.ADD_TRAITS, traitInstanceAsJSON, guid, TRAITS); assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); // verify the response - response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, guid); + response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, guid); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); final String definition = response.getString(AtlasClient.DEFINITION); @@ -581,14 +583,14 @@ public class EntityJerseyResourceIT extends BaseResourceIT { String traitInstanceAsJSON = InstanceSerialization$.MODULE$.toJson(traitInstance, true); LOG.debug("traitInstanceAsJSON = " + traitInstanceAsJSON); - JSONObject response = serviceClient.callAPI(AtlasClient.API.CREATE_ENTITY, traitInstanceAsJSON, "random", TRAITS); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.CREATE_ENTITY, traitInstanceAsJSON, "random", TRAITS); } @Test(dependsOnMethods = "testAddTrait") public void testDeleteTrait() throws Exception { final String guid = tableId._getId(); - JSONObject response = serviceClient.callAPI(AtlasClient.API.DELETE_TRAITS, null, guid, TRAITS, traitName); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.DELETE_TRAITS, null, guid, TRAITS, traitName); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); Assert.assertNotNull(response.get("traitName")); assertEntityAudit(guid, EntityAuditEvent.EntityAuditAction.TAG_DELETE); @@ -597,7 +599,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { @Test(expectedExceptions = AtlasServiceException.class) public void testDeleteTraitNonExistent() throws Exception { final String traitName = "blah_trait"; - JSONObject response = serviceClient.callAPI(AtlasClient.API.DELETE_TRAITS, null, "random", TRAITS); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.DELETE_TRAITS, null, "random", TRAITS); Assert.assertNotNull(response.get(AtlasClient.ERROR)); Assert.assertEquals(response.getString(AtlasClient.ERROR), @@ -616,9 +618,14 @@ public class EntityJerseyResourceIT extends BaseResourceIT { String traitDefinitionAsJSON = TypesSerialization$.MODULE$.toJson(piiTrait, true); createType(traitDefinitionAsJSON); - JSONObject response = serviceClient.callAPI(AtlasClient.API.DELETE_TRAITS, null, "random", TRAITS); - Assert.assertNotNull(response.get(AtlasClient.ERROR)); - Assert.assertNotNull(response.get(AtlasClient.STACKTRACE)); + try { + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.DELETE_TRAITS, null, guid, TRAITS, traitName); + fail("Call should've failed for deletion of invalid trait"); + } catch (AtlasServiceException e) { + assertNotNull(e); + assertNotNull(e.getStatus()); + assertEquals(e.getStatus(), ClientResponse.Status.NOT_FOUND); + } } private String random() { @@ -643,8 +650,8 @@ public class EntityJerseyResourceIT extends BaseResourceIT { instance.set(attrName, attrValue); Id guid = createInstance(instance); - JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, guid._getId()); - Referenceable getReferenceable = InstanceSerialization.fromJsonReferenceable(response.toString(), true); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, guid._getId()); + Referenceable getReferenceable = InstanceSerialization.fromJsonReferenceable(response.getString(AtlasClient.DEFINITION), true); Assert.assertEquals(getReferenceable.get(attrName), attrValue); } @@ -674,8 +681,8 @@ public class EntityJerseyResourceIT extends BaseResourceIT { assertEquals(entityResult.getUpdateEntities().size(), 1); assertEquals(entityResult.getUpdateEntities().get(0), tableId._getId()); - JSONObject response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, tableId._getId()); - Referenceable getReferenceable = InstanceSerialization.fromJsonReferenceable(response.toString(), true); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, tableId._getId()); + Referenceable getReferenceable = InstanceSerialization.fromJsonReferenceable(response.getString(AtlasClient.DEFINITION), true); List<Referenceable> refs = (List<Referenceable>) getReferenceable.get("columns"); Assert.assertTrue(refs.get(0).equalsContents(columns.get(0))); @@ -694,8 +701,8 @@ public class EntityJerseyResourceIT extends BaseResourceIT { assertEquals(entityResult.getUpdateEntities().size(), 2); assertEquals(entityResult.getUpdateEntities().get(0), tableId._getId()); - response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, tableId._getId()); - getReferenceable = InstanceSerialization.fromJsonReferenceable(response.toString(), true); + response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, tableId._getId()); + getReferenceable = InstanceSerialization.fromJsonReferenceable(response.getString(AtlasClient.DEFINITION), true); refs = (List<Referenceable>) getReferenceable.get("columns"); Assert.assertTrue(refs.get(0).getValuesMap().equals(values)); @@ -736,7 +743,7 @@ public class EntityJerseyResourceIT extends BaseResourceIT { entityArray.put(entityJson); LOG.debug("Replacing entity= " + tableInstance); - JSONObject response = serviceClient.callAPI(AtlasClient.API.UPDATE_ENTITY, entityArray); + JSONObject response = serviceClient.callAPIWithBody(AtlasClient.API.UPDATE_ENTITY, entityArray); // ATLAS-586: verify response entity can be parsed by GSON. Gson gson = new Gson(); @@ -747,8 +754,9 @@ public class EntityJerseyResourceIT extends BaseResourceIT { Assert.fail("Response entity from not parse-able by GSON", e); } - response = serviceClient.callAPI(AtlasClient.API.GET_ENTITY, null, tableId._getId()); - Referenceable getReferenceable = InstanceSerialization.fromJsonReferenceable(response.toString(), true); + response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.GET_ENTITY, null, tableId._getId()); + LOG.info("Response = {}", response.toString()); + Referenceable getReferenceable = InstanceSerialization.fromJsonReferenceable(response.getString(AtlasClient.DEFINITION), true); List<Referenceable> refs = (List<Referenceable>) getReferenceable.get("columns"); Assert.assertEquals(refs.size(), 2); @@ -795,11 +803,11 @@ public class EntityJerseyResourceIT extends BaseResourceIT { Id db2Id = createInstance(db2); // Delete the database entities - Map<String, String> queryParams = new HashMap<>(); - queryParams.put(AtlasClient.GUID.toLowerCase(), db1Id._getId()); - queryParams.put(AtlasClient.GUID.toLowerCase(), db2Id._getId()); + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add(AtlasClient.GUID.toLowerCase(), db1Id._getId()); + queryParams.add(AtlasClient.GUID.toLowerCase(), db2Id._getId()); - JSONObject response = serviceClient.callAPI(AtlasClient.API.DELETE_ENTITIES, queryParams); + JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.DELETE_ENTITIES, queryParams); List<String> deletedGuidsList = AtlasClient.EntityResult.fromString(response.toString()).getDeletedEntities(); Assert.assertTrue(deletedGuidsList.contains(db1Id._getId())); Assert.assertTrue(deletedGuidsList.contains(db2Id._getId())); http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/webapp/src/test/java/org/apache/atlas/web/resources/EntityLineageJerseyResourceIT.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/EntityLineageJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/EntityLineageJerseyResourceIT.java index 2fb1517..c681a0f 100644 --- a/webapp/src/test/java/org/apache/atlas/web/resources/EntityLineageJerseyResourceIT.java +++ b/webapp/src/test/java/org/apache/atlas/web/resources/EntityLineageJerseyResourceIT.java @@ -20,6 +20,7 @@ package org.apache.atlas.web.resources; import com.google.common.collect.ImmutableList; import com.google.gson.Gson; +import com.sun.jersey.core.util.MultivaluedMapImpl; import org.apache.atlas.AtlasClient; import org.apache.atlas.model.instance.AtlasEntityHeader; import org.apache.atlas.model.lineage.AtlasLineageInfo; @@ -30,8 +31,8 @@ import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; +import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -42,7 +43,7 @@ import static org.apache.atlas.AtlasBaseClient.APIInfo; * Entity Lineage v2 Integration Tests. */ public class EntityLineageJerseyResourceIT extends DataSetLineageJerseyResourceIT { - private static final String BASE_URI = "api/atlas/v2/lineage/"; + private static final String BASE_URI = "api/atlas/v2/lineage"; private static final APIInfo LINEAGE_V2_API = new APIInfo(BASE_URI, "GET", Response.Status.OK); private static final String INPUT_DIRECTION = "INPUT"; private static final String OUTPUT_DIRECTION = "OUTPUT"; @@ -68,10 +69,10 @@ public class EntityLineageJerseyResourceIT extends DataSetLineageJerseyResourceI String tableId = serviceClient.getEntity(HIVE_TABLE_TYPE, AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, salesMonthlyTable).getId()._getId(); - Map<String, String> queryParams = new HashMap<>(); - queryParams.put(DIRECTION_PARAM, INPUT_DIRECTION); - queryParams.put(DEPTH_PARAM, "5"); - JSONObject response = serviceClient.callAPI(LINEAGE_V2_API, JSONObject.class, queryParams); + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add(DIRECTION_PARAM, INPUT_DIRECTION); + queryParams.add(DEPTH_PARAM, "5"); + JSONObject response = serviceClient.callAPI(LINEAGE_V2_API, JSONObject.class, queryParams, tableId); Assert.assertNotNull(response); System.out.println("input lineage info = " + response ); @@ -96,10 +97,10 @@ public class EntityLineageJerseyResourceIT extends DataSetLineageJerseyResourceI String tableId = serviceClient.getEntity(HIVE_TABLE_TYPE, AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, salesFactTable).getId()._getId(); - Map<String, String> queryParams = new HashMap<>(); - queryParams.put(DIRECTION_PARAM, OUTPUT_DIRECTION); - queryParams.put(DEPTH_PARAM, "5"); - JSONObject response = serviceClient.callAPI(LINEAGE_V2_API, JSONObject.class, queryParams); + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add(DIRECTION_PARAM, OUTPUT_DIRECTION); + queryParams.add(DEPTH_PARAM, "5"); + JSONObject response = serviceClient.callAPI(LINEAGE_V2_API, JSONObject.class, queryParams, tableId); Assert.assertNotNull(response); System.out.println("output lineage info = " + response); @@ -124,10 +125,10 @@ public class EntityLineageJerseyResourceIT extends DataSetLineageJerseyResourceI String tableId = serviceClient.getEntity(HIVE_TABLE_TYPE, AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, salesMonthlyTable).getId()._getId(); - Map<String, String> queryParams = new HashMap<>(); - queryParams.put(DIRECTION_PARAM, BOTH_DIRECTION); - queryParams.put(DEPTH_PARAM, "5"); - JSONObject response = serviceClient.callAPI(LINEAGE_V2_API, JSONObject.class, queryParams); + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add(DIRECTION_PARAM, BOTH_DIRECTION); + queryParams.add(DEPTH_PARAM, "5"); + JSONObject response = serviceClient.callAPI(LINEAGE_V2_API, JSONObject.class, queryParams, tableId); Assert.assertNotNull(response); System.out.println("both lineage info = " + response); http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/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 ee6d064..ed37c3a 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 @@ -21,6 +21,7 @@ package org.apache.atlas.web.resources; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.sun.jersey.api.client.ClientResponse; +import com.sun.jersey.core.util.MultivaluedMapImpl; import org.apache.atlas.AtlasBaseClient; import org.apache.atlas.AtlasClient; import org.apache.atlas.AtlasServiceException; @@ -41,10 +42,9 @@ import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; +import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; -import java.util.HashMap; import java.util.List; -import java.util.Map; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; @@ -73,9 +73,9 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT { @Test public void testSearchByDSL() throws Exception { String dslQuery = "from "+ DATABASE_TYPE + " qualifiedName=\"" + dbName + "\""; - Map<String, String> queryParams = new HashMap<>(); - queryParams.put("query", dslQuery); - JSONObject response = serviceClient.callAPI(AtlasClient.API.SEARCH_DSL, queryParams); + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add("query", dslQuery); + JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.SEARCH_DSL, queryParams); Assert.assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); @@ -96,9 +96,9 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT { //search without new parameters of limit and offset should work String dslQuery = "from "+ DATABASE_TYPE + " qualifiedName=\"" + dbName + "\""; - Map<String, String> queryParams = new HashMap<>(); - queryParams.put("query", dslQuery); - JSONObject response = serviceClient.callAPI(AtlasClient.API.SEARCH_DSL, queryParams); + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add("query", dslQuery); + JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.SEARCH_DSL, queryParams); assertNotNull(response); //higher limit, all results returned @@ -145,19 +145,19 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT { @Test(expectedExceptions = AtlasServiceException.class) public void testSearchByDSLForUnknownType() throws Exception { String dslQuery = "from blah"; - Map<String, String> queryParams = new HashMap<>(); - queryParams.put("query", dslQuery); - JSONObject response = serviceClient.callAPI(AtlasClient.API.SEARCH_DSL, queryParams); + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add("query", dslQuery); + JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.SEARCH_DSL, queryParams); } @Test public void testSearchUsingGremlin() throws Exception { String query = "g.V.has('type', 'hive_db').toList()"; - Map<String, String> queryParams = new HashMap<>(); - queryParams.put("query", query); + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add("query", query); - JSONObject response = serviceClient.callAPI(AtlasClient.API.GREMLIN_SEARCH, queryParams); + JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.GREMLIN_SEARCH, queryParams); assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); @@ -170,9 +170,9 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT { public void testSearchUsingDSL() throws Exception { //String query = "from dsl_test_type"; String query = "from "+ DATABASE_TYPE + " qualifiedName=\"" + dbName +"\""; - Map<String, String> queryParams = new HashMap<>(); - queryParams.put("query", query); - JSONObject response = serviceClient.callAPI(AtlasClient.API.SEARCH_DSL, queryParams); + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add("query", query); + JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.SEARCH, queryParams); Assert.assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); @@ -184,9 +184,9 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT { @Test public void testSearchFullTextOnDSLFailure() throws Exception { String query = "*"; - Map<String, String> queryParams = new HashMap<>(); - queryParams.put("query", query); - JSONObject response = serviceClient.callAPI(AtlasClient.API.SEARCH_DSL, queryParams); + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add("query", query); + JSONObject response = serviceClient.callAPIWithQueryParams(AtlasClient.API.SEARCH, queryParams); Assert.assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); @@ -216,9 +216,9 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT { //API works without limit and offset String query = dbName; - Map<String, String> queryParams = new HashMap<>(); - queryParams.put("query", query); - response = serviceClient.callAPI(AtlasClient.API.SEARCH_FULL_TEXT, queryParams); + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add("query", query); + response = serviceClient.callAPIWithQueryParams(AtlasClient.API.SEARCH_FULL_TEXT, queryParams); results = response.getJSONArray(AtlasClient.RESULTS); assertEquals(results.length(), 1); http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/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 8e8684f..8eacc73 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 @@ -19,7 +19,7 @@ package org.apache.atlas.web.resources; import com.google.common.collect.ImmutableSet; - +import com.sun.jersey.core.util.MultivaluedMapImpl; import org.apache.atlas.AtlasServiceException; import org.apache.atlas.AtlasTypedefClientV2; import org.apache.atlas.model.SearchFilter; @@ -41,19 +41,13 @@ import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - +import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; +import java.util.Collections; import static org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef.Cardinality; 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; +import static org.testng.Assert.*; /** * Integration test for types jersey resource. @@ -136,8 +130,8 @@ public class TypedefsJerseyResourceIT extends BaseResourceIT { assertEquals(updatedTypeDefs.getEntityDefs().size(), atlasTypesDef.getEntityDefs().size()); assertEquals(updatedTypeDefs.getEntityDefs().get(0).getName(), atlasTypesDef.getEntityDefs().get(0).getName()); - Map<String, String> filterParams = new HashMap<>(); - filterParams.put(SearchFilter.PARAM_TYPE, "ENTITY"); + MultivaluedMap<String, String> filterParams = new MultivaluedMapImpl(); + filterParams.add(SearchFilter.PARAM_TYPE, "ENTITY"); AtlasTypesDef allTypeDefs = clientV2.getAllTypeDefs(new SearchFilter(filterParams)); assertNotNull(allTypeDefs); Boolean entityDefFound = false; @@ -265,15 +259,15 @@ public class TypedefsJerseyResourceIT extends BaseResourceIT { assertNotNull(created); assertEquals(created.getEntityDefs().size(), atlasTypesDef.getEntityDefs().size()); - Map<String, String> searchParams = new HashMap<>(); - searchParams.put(SearchFilter.PARAM_TYPE, "CLASS"); - searchParams.put(SearchFilter.PARAM_SUPERTYPE, classDefA.getName()); + MultivaluedMap<String, String> searchParams = new MultivaluedMapImpl(); + searchParams.add(SearchFilter.PARAM_TYPE, "CLASS"); + searchParams.add(SearchFilter.PARAM_SUPERTYPE, classDefA.getName()); SearchFilter searchFilter = new SearchFilter(searchParams); AtlasTypesDef searchDefs = clientV2.getAllTypeDefs(searchFilter); assertNotNull(searchDefs); assertEquals(searchDefs.getEntityDefs().size(), 2); - searchParams.put(SearchFilter.PARAM_NOT_SUPERTYPE, classDefB.getName()); + searchParams.add(SearchFilter.PARAM_NOT_SUPERTYPE, classDefB.getName()); searchFilter = new SearchFilter(searchParams); searchDefs = clientV2.getAllTypeDefs(searchFilter); assertNotNull(searchDefs); http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/28410df5/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 4dd65e7..db89d21 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 @@ -81,7 +81,7 @@ public class TypesJerseyResourceIT extends BaseResourceIT { String typesAsJSON = TypesSerialization.toJson(typeDefinition, false); System.out.println("typesAsJSON = " + typesAsJSON); - JSONObject response = serviceClient.callAPI(AtlasClient.API.CREATE_TYPE, typesAsJSON); + JSONObject response = serviceClient.callAPIWithBody(AtlasClient.API.CREATE_TYPE, typesAsJSON); Assert.assertNotNull(response); @@ -142,7 +142,7 @@ public class TypesJerseyResourceIT extends BaseResourceIT { for (HierarchicalTypeDefinition typeDefinition : typeDefinitions) { System.out.println("typeName = " + typeDefinition.typeName); - JSONObject response = serviceClient.callAPI(AtlasClient.API.LIST_TYPES, null, typeDefinition.typeName); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.LIST_TYPES, null, typeDefinition.typeName); Assert.assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.DEFINITION)); @@ -164,12 +164,12 @@ public class TypesJerseyResourceIT extends BaseResourceIT { @Test(expectedExceptions = AtlasServiceException.class) public void testGetDefinitionForNonexistentType() throws Exception { - JSONObject response = serviceClient.callAPI(AtlasClient.API.LIST_TYPES, null, "blah"); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.LIST_TYPES, null, "blah"); } @Test(dependsOnMethods = "testSubmit") public void testGetTypeNames() throws Exception { - JSONObject response = serviceClient.callAPI(AtlasClient.API.LIST_TYPES, null, (String[]) null); + JSONObject response = serviceClient.callAPIWithBodyAndParams(AtlasClient.API.LIST_TYPES, null, (String[]) null); Assert.assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID)); @@ -190,7 +190,7 @@ public class TypesJerseyResourceIT extends BaseResourceIT { Map<String, String> queryParams = new HashMap<>(); queryParams.put("type", DataTypes.TypeCategory.TRAIT.name()); - JSONObject response = serviceClient.callAPI(AtlasClient.API.LIST_TYPES, queryParams); + JSONObject response = serviceClient.callAPIWithBody(AtlasClient.API.LIST_TYPES, queryParams); Assert.assertNotNull(response); Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
