Repository: atlas Updated Branches: refs/heads/master a9928f90e -> 96da2306d
http://git-wip-us.apache.org/repos/asf/atlas/blob/96da2306/webapp/src/test/java/org/apache/atlas/web/resources/TaxonomyServiceTest.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/TaxonomyServiceTest.java b/webapp/src/test/java/org/apache/atlas/web/resources/TaxonomyServiceTest.java deleted file mode 100644 index 54a9b9a..0000000 --- a/webapp/src/test/java/org/apache/atlas/web/resources/TaxonomyServiceTest.java +++ /dev/null @@ -1,569 +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.resources; - -import static org.easymock.EasyMock.capture; -import static org.easymock.EasyMock.createNiceMock; -import static org.easymock.EasyMock.createStrictMock; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.newCapture; -import static org.easymock.EasyMock.replay; -import static org.easymock.EasyMock.verify; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNull; -import static org.testng.Assert.assertTrue; - -import java.net.URI; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import javax.ws.rs.core.PathSegment; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriInfo; - -import org.apache.atlas.AtlasException; -import org.apache.atlas.catalog.AtlasTypeSystem; -import org.apache.atlas.catalog.JsonSerializer; -import org.apache.atlas.catalog.Request; -import org.apache.atlas.catalog.ResourceProvider; -import org.apache.atlas.catalog.Result; -import org.apache.atlas.catalog.TaxonomyResourceProvider; -import org.apache.atlas.catalog.TermPath; -import org.apache.atlas.exception.AtlasBaseException; -import org.apache.atlas.services.MetadataService; -import org.apache.atlas.store.AtlasTypeDefStore; -import org.easymock.Capture; -import org.testng.annotations.Test; - -/** - * Unit tests for TaxonomyService. - */ -public class TaxonomyServiceTest { - @Test - public void testGetTaxonomy() throws Exception { - String taxonomyName = "testTaxonomy"; - MetadataService metadataService = createStrictMock(MetadataService.class); - AtlasTypeDefStore typeDefStore = createStrictMock(AtlasTypeDefStore.class); - ResourceProvider taxonomyResourceProvider = createStrictMock(ResourceProvider.class); - ResourceProvider termResourceProvider = createStrictMock(ResourceProvider.class); - UriInfo uriInfo = createNiceMock(UriInfo.class); - JsonSerializer serializer = createStrictMock(JsonSerializer.class); - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> resultPropertyMaps = new ArrayList<>(); - Map<String, Object> propertyMap = new HashMap<>(); - propertyMap.put("name", "testTaxonomy"); - resultPropertyMaps.add(propertyMap); - Result result = new Result(resultPropertyMaps); - - expect(taxonomyResourceProvider.getResourceById(capture(requestCapture))).andReturn(result); - expect(metadataService.getTypeDefinition(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE)).andReturn(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE + "-definition"); - expect(serializer.serialize(result, uriInfo)).andReturn("Taxonomy Get Response"); - replay(uriInfo, metadataService, taxonomyResourceProvider, termResourceProvider, serializer); - - TestTaxonomyService service = new TestTaxonomyService( - metadataService, typeDefStore, taxonomyResourceProvider, termResourceProvider, serializer); - Response response = service.getTaxonomy(null, uriInfo, taxonomyName); - - Request request = requestCapture.getValue(); - Map<String, Object> requestProperties = request.getQueryProperties(); - assertEquals(requestProperties.size(), 1); - assertEquals(requestProperties.get("name"), taxonomyName); - - assertEquals(response.getStatus(), 200); - assertEquals(response.getEntity(), "Taxonomy Get Response"); - - verify(uriInfo, taxonomyResourceProvider, termResourceProvider, serializer); - } - - @Test - public void testGetTaxonomies() throws Exception { - MetadataService metadataService = createStrictMock(MetadataService.class); - AtlasTypeDefStore typeDefStore = createStrictMock(AtlasTypeDefStore.class); - ResourceProvider taxonomyResourceProvider = createStrictMock(ResourceProvider.class); - ResourceProvider termResourceProvider = createStrictMock(ResourceProvider.class); - UriInfo uriInfo = createNiceMock(UriInfo.class); - URI uri = new URI("http://localhost:21000/api/atlas/v1/taxonomies?name:testTaxonomy"); - JsonSerializer serializer = createStrictMock(JsonSerializer.class); - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> resultPropertyMaps = new ArrayList<>(); - Map<String, Object> propertyMap = new HashMap<>(); - propertyMap.put("name", "testTaxonomy"); - resultPropertyMaps.add(propertyMap); - Result result = new Result(resultPropertyMaps); - - // set mock expectations - expect(uriInfo.getRequestUri()).andReturn(uri); - expect(taxonomyResourceProvider.getResources(capture(requestCapture))).andReturn(result); - expect(serializer.serialize(result, uriInfo)).andReturn("Taxonomy Get Response"); - expect(metadataService.getTypeDefinition(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE)).andReturn(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE + "-definition"); - replay(uriInfo, metadataService, taxonomyResourceProvider, termResourceProvider, serializer); - - // instantiate service and invoke method being tested - TestTaxonomyService service = new TestTaxonomyService( - metadataService, typeDefStore, taxonomyResourceProvider, termResourceProvider, serializer); - Response response = service.getTaxonomies(null, uriInfo); - - Request request = requestCapture.getValue(); - assertTrue(request.getQueryProperties().isEmpty()); - assertEquals(request.getQueryString(), "name:testTaxonomy"); - - assertEquals(response.getStatus(), 200); - assertEquals(response.getEntity(), "Taxonomy Get Response"); - - verify(uriInfo, taxonomyResourceProvider, termResourceProvider, serializer); - } - - @Test - public void testCreateTaxonomy() throws Exception { - MetadataService metadataService = createStrictMock(MetadataService.class); - AtlasTypeDefStore typeDefStore = createStrictMock(AtlasTypeDefStore.class); - ResourceProvider taxonomyResourceProvider = createStrictMock(ResourceProvider.class); - ResourceProvider termResourceProvider = createStrictMock(ResourceProvider.class); - UriInfo uriInfo = createNiceMock(UriInfo.class); - URI uri = new URI("http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy"); - Capture<Request> requestCapture = newCapture(); - - String body = "{ \"description\" : \"test description\" } "; - // set mock expectations - expect(uriInfo.getRequestUri()).andReturn(uri); - expect(metadataService.getTypeDefinition(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE)).andReturn(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE + "-definition"); - taxonomyResourceProvider.createResource(capture(requestCapture)); - replay(uriInfo, metadataService, taxonomyResourceProvider, termResourceProvider); - - // instantiate service and invoke method being tested - TestTaxonomyService service = new TestTaxonomyService( - metadataService, typeDefStore, taxonomyResourceProvider, termResourceProvider, null); - Response response = service.createTaxonomy(body, null, uriInfo, "testTaxonomy"); - - Request request = requestCapture.getValue(); - assertEquals(request.getQueryProperties().size(), 2); - assertEquals(request.getQueryProperties().get("name"), "testTaxonomy"); - assertEquals(request.getQueryProperties().get("description"), "test description"); - assertNull(request.getQueryString()); - - assertEquals(response.getStatus(), 201); - BaseService.Results createResults = (BaseService.Results) response.getEntity(); - assertEquals(createResults.href, "http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy"); - assertEquals(createResults.status, 201); - - verify(uriInfo, taxonomyResourceProvider, termResourceProvider); - } - - @Test - public void testDeleteTaxonomy() throws Exception { - MetadataService metadataService = createStrictMock(MetadataService.class); - AtlasTypeDefStore typeDefStore = createStrictMock(AtlasTypeDefStore.class); - ResourceProvider taxonomyResourceProvider = createStrictMock(ResourceProvider.class); - ResourceProvider termResourceProvider = createStrictMock(ResourceProvider.class); - UriInfo uriInfo = createNiceMock(UriInfo.class); - URI uri = new URI("http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy"); - Capture<Request> requestCapture = newCapture(); - - // set mock expectations - expect(uriInfo.getRequestUri()).andReturn(uri); - taxonomyResourceProvider.deleteResourceById(capture(requestCapture)); - expect(metadataService.getTypeDefinition(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE)).andReturn(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE + "-definition"); - replay(uriInfo, metadataService, taxonomyResourceProvider, termResourceProvider); - - // instantiate service and invoke method being tested - TestTaxonomyService service = new TestTaxonomyService( - metadataService, typeDefStore, taxonomyResourceProvider, termResourceProvider, null); - Response response = service.deleteTaxonomy(null, uriInfo, "testTaxonomy"); - - Request request = requestCapture.getValue(); - assertEquals(request.getQueryProperties().size(), 1); - assertEquals(request.getQueryProperties().get("name"), "testTaxonomy"); - assertNull(request.getQueryString()); - - assertEquals(response.getStatus(), 200); - BaseService.Results createResults = (BaseService.Results) response.getEntity(); - assertEquals(createResults.href, "http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy"); - assertEquals(createResults.status, 200); - - verify(uriInfo, taxonomyResourceProvider, termResourceProvider); - } - - @Test - public void testGetTaxonomyTerm() throws Exception { - String taxonomyName = "testTaxonomy"; - String termName = "testTaxonomy.termName"; - MetadataService metadataService = createStrictMock(MetadataService.class); - AtlasTypeDefStore typeDefStore = createStrictMock(AtlasTypeDefStore.class); - ResourceProvider taxonomyResourceProvider = createStrictMock(ResourceProvider.class); - ResourceProvider termResourceProvider = createStrictMock(ResourceProvider.class); - UriInfo uriInfo = createNiceMock(UriInfo.class); - JsonSerializer serializer = createStrictMock(JsonSerializer.class); - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> resultPropertyMaps = new ArrayList<>(); - Map<String, Object> propertyMap = new HashMap<>(); - propertyMap.put("name", "testTaxonomy.termName"); - resultPropertyMaps.add(propertyMap); - Result result = new Result(resultPropertyMaps); - - expect(termResourceProvider.getResourceById(capture(requestCapture))).andReturn(result); - expect(serializer.serialize(result, uriInfo)).andReturn("Taxonomy Term Get Response"); - expect(metadataService.getTypeDefinition(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE)).andReturn(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE + "-definition"); - replay(uriInfo, metadataService, taxonomyResourceProvider, termResourceProvider, serializer); - - TestTaxonomyService service = new TestTaxonomyService( - metadataService, typeDefStore, taxonomyResourceProvider, termResourceProvider, serializer); - Response response = service.getTaxonomyTerm(null, uriInfo, taxonomyName, termName); - - Request request = requestCapture.getValue(); - Map<String, Object> requestProperties = request.getQueryProperties(); - assertEquals(requestProperties.size(), 1); - TermPath termPath = (TermPath) request.getQueryProperties().get("termPath"); - assertEquals(termPath.getFullyQualifiedName(), "testTaxonomy.testTaxonomy.termName"); - - assertEquals(response.getStatus(), 200); - assertEquals(response.getEntity(), "Taxonomy Term Get Response"); - - verify(uriInfo, taxonomyResourceProvider, termResourceProvider, serializer); - } - - @Test - public void testGetTaxonomyTerms() throws Exception { - MetadataService metadataService = createStrictMock(MetadataService.class); - AtlasTypeDefStore typeDefStore = createStrictMock(AtlasTypeDefStore.class); - ResourceProvider taxonomyResourceProvider = createStrictMock(ResourceProvider.class); - ResourceProvider termResourceProvider = createStrictMock(ResourceProvider.class); - UriInfo uriInfo = createNiceMock(UriInfo.class); - URI uri = new URI("http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy/terms?name:testTaxonomy.testTerm"); - JsonSerializer serializer = createStrictMock(JsonSerializer.class); - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> resultPropertyMaps = new ArrayList<>(); - Map<String, Object> propertyMap = new HashMap<>(); - propertyMap.put("name", "testTaxonomy.testTerm"); - resultPropertyMaps.add(propertyMap); - Result result = new Result(resultPropertyMaps); - - // set mock expectations - expect(uriInfo.getRequestUri()).andReturn(uri); - expect(termResourceProvider.getResources(capture(requestCapture))).andReturn(result); - expect(serializer.serialize(result, uriInfo)).andReturn("Taxonomy Term Get Response"); - expect(metadataService.getTypeDefinition(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE)).andReturn(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE + "-definition"); - replay(uriInfo, metadataService, taxonomyResourceProvider, termResourceProvider, serializer); - - // instantiate service and invoke method being tested - TestTaxonomyService service = new TestTaxonomyService( - metadataService, typeDefStore, taxonomyResourceProvider, termResourceProvider, serializer); - Response response = service.getTaxonomyTerms(null, uriInfo, "testTaxonomy"); - - Request request = requestCapture.getValue(); - assertEquals(request.getQueryProperties().size(), 1); - TermPath termPath = (TermPath) request.getQueryProperties().get("termPath"); - assertEquals(termPath.getFullyQualifiedName(), "testTaxonomy"); - assertEquals(request.getQueryString(), "name:testTaxonomy.testTerm"); - - assertEquals(response.getStatus(), 200); - assertEquals(response.getEntity(), "Taxonomy Term Get Response"); - - verify(uriInfo, taxonomyResourceProvider, termResourceProvider, serializer); - } - - @Test - public void testGetSubTerms_instance() throws Exception { - MetadataService metadataService = createStrictMock(MetadataService.class); - AtlasTypeDefStore typeDefStore = createStrictMock(AtlasTypeDefStore.class); - ResourceProvider taxonomyResourceProvider = createStrictMock(ResourceProvider.class); - ResourceProvider termResourceProvider = createStrictMock(ResourceProvider.class); - UriInfo uriInfo = createNiceMock(UriInfo.class); - URI uri = new URI("http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy/terms/testTerm/terms/testTerm2"); - JsonSerializer serializer = createStrictMock(JsonSerializer.class); - PathSegment segment1 = createNiceMock(PathSegment.class); - PathSegment segment2 = createNiceMock(PathSegment.class); - PathSegment segment3 = createNiceMock(PathSegment.class); - - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> resultPropertyMaps = new ArrayList<>(); - Map<String, Object> propertyMap = new HashMap<>(); - propertyMap.put("name", "testTaxonomy.testTerm.testTerm2"); - resultPropertyMaps.add(propertyMap); - Result result = new Result(resultPropertyMaps); - - // set mock expectations - expect(uriInfo.getRequestUri()).andReturn(uri); - expect(uriInfo.getPathSegments()).andReturn(Arrays.asList(segment1, segment2, segment3)); - expect(segment3.getPath()).andReturn("testTerm2"); - expect(termResourceProvider.getResourceById(capture(requestCapture))).andReturn(result); - expect(serializer.serialize(result, uriInfo)).andReturn("Taxonomy Term Get Response"); - expect(metadataService.getTypeDefinition(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE)).andReturn(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE + "-definition"); - replay(uriInfo, metadataService, taxonomyResourceProvider, termResourceProvider, serializer, - segment1, segment2, segment3); - - // instantiate service and invoke method being tested - TestTaxonomyService service = new TestTaxonomyService( - metadataService, typeDefStore, taxonomyResourceProvider, termResourceProvider, serializer); - Response response = service.getSubTerms(null, uriInfo, "testTaxonomy", "testTerm", "/terms/testTerm2"); - - Request request = requestCapture.getValue(); - assertEquals(request.getQueryProperties().size(), 1); - TermPath termPath = (TermPath) request.getQueryProperties().get("termPath"); - assertEquals(termPath.getFullyQualifiedName(), "testTaxonomy.testTerm.testTerm2"); - assertNull(request.getQueryString()); - - assertEquals(response.getStatus(), 200); - assertEquals(response.getEntity(), "Taxonomy Term Get Response"); - - verify(uriInfo, taxonomyResourceProvider, termResourceProvider, serializer, - segment1, segment2, segment3); - } - - @Test - public void testGetSubTerms_collection() throws Exception { - MetadataService metadataService = createStrictMock(MetadataService.class); - AtlasTypeDefStore typeDefStore = createStrictMock(AtlasTypeDefStore.class); - ResourceProvider taxonomyResourceProvider = createStrictMock(ResourceProvider.class); - ResourceProvider termResourceProvider = createStrictMock(ResourceProvider.class); - UriInfo uriInfo = createNiceMock(UriInfo.class); - URI uri = new URI("http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy/terms/testTerm/terms/testTerm2/terms?name:testTaxonomy.testTerm.testTerm2.testTerm3"); - JsonSerializer serializer = createStrictMock(JsonSerializer.class); - // would actually be more segments but at this time only the last segment is used - PathSegment segment1 = createNiceMock(PathSegment.class); - PathSegment segment2 = createNiceMock(PathSegment.class); - PathSegment segment3 = createNiceMock(PathSegment.class); - - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> resultPropertyMaps = new ArrayList<>(); - Map<String, Object> propertyMap = new HashMap<>(); - propertyMap.put("name", "testTaxonomy.testTerm.testTerm2.testTerm3"); - resultPropertyMaps.add(propertyMap); - Result result = new Result(resultPropertyMaps); - - // set mock expectations - expect(uriInfo.getRequestUri()).andReturn(uri); - expect(uriInfo.getPathSegments()).andReturn(Arrays.asList(segment1, segment2, segment3)); - expect(segment3.getPath()).andReturn("terms"); - - expect(termResourceProvider.getResources(capture(requestCapture))).andReturn(result); - expect(serializer.serialize(result, uriInfo)).andReturn("Taxonomy Term Get Response"); - expect(metadataService.getTypeDefinition(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE)).andReturn(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE + "-definition"); - replay(uriInfo, metadataService, taxonomyResourceProvider, termResourceProvider, serializer, - segment1, segment2, segment3); - - // instantiate service and invoke method being tested - TestTaxonomyService service = new TestTaxonomyService( - metadataService, typeDefStore, taxonomyResourceProvider, termResourceProvider, serializer); - Response response = service.getSubTerms(null, uriInfo, "testTaxonomy", "testTerm", "/terms/testTerm2/terms"); - - Request request = requestCapture.getValue(); - assertEquals(request.getQueryProperties().size(), 1); - TermPath termPath = (TermPath) request.getQueryProperties().get("termPath"); - assertEquals(termPath.getFullyQualifiedName(), "testTaxonomy.testTerm.testTerm2."); - assertEquals(request.getQueryString(), "name:testTaxonomy.testTerm.testTerm2.testTerm3"); - - assertEquals(response.getStatus(), 200); - assertEquals(response.getEntity(), "Taxonomy Term Get Response"); - - verify(uriInfo, taxonomyResourceProvider, termResourceProvider, serializer, - segment1, segment2, segment3); - } - - @Test - public void testCreateTerm() throws Exception { - String taxonomyName = "testTaxonomy"; - String termName = "testTerm"; - MetadataService metadataService = createStrictMock(MetadataService.class); - AtlasTypeDefStore typeDefStore = createStrictMock(AtlasTypeDefStore.class); - ResourceProvider taxonomyResourceProvider = createStrictMock(ResourceProvider.class); - ResourceProvider termResourceProvider = createStrictMock(ResourceProvider.class); - UriInfo uriInfo = createNiceMock(UriInfo.class); - URI uri = new URI("http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy/terms/testTerm"); - Capture<Request> requestCapture = newCapture(); - - String body = "{ \"description\" : \"test description\" } "; - // set mock expectations - expect(uriInfo.getRequestUri()).andReturn(uri); - expect(metadataService.getTypeDefinition(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE)).andReturn(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE + "-definition"); - termResourceProvider.createResource(capture(requestCapture)); - replay(uriInfo, metadataService, taxonomyResourceProvider, termResourceProvider); - - // instantiate service and invoke method being tested - TestTaxonomyService service = new TestTaxonomyService( - metadataService, typeDefStore, taxonomyResourceProvider, termResourceProvider, null); - Response response = service.createTerm(body, null, uriInfo, taxonomyName, termName); - - Request request = requestCapture.getValue(); - assertEquals(request.getQueryProperties().size(), 2); - assertEquals(request.getQueryProperties().get("description"), "test description"); - TermPath termPath = (TermPath) request.getQueryProperties().get("termPath"); - assertEquals(termPath.getFullyQualifiedName(), "testTaxonomy.testTerm"); - assertNull(request.getQueryString()); - - assertEquals(response.getStatus(), 201); - BaseService.Results createResults = (BaseService.Results) response.getEntity(); - assertEquals(createResults.href, "http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy/terms/testTerm"); - assertEquals(createResults.status, 201); - - verify(uriInfo, taxonomyResourceProvider, termResourceProvider); - } - - @Test - public void testCreateSubTerm() throws Exception { - String taxonomyName = "testTaxonomy"; - String termName = "testTerm"; - MetadataService metadataService = createStrictMock(MetadataService.class); - AtlasTypeDefStore typeDefStore = createStrictMock(AtlasTypeDefStore.class); - ResourceProvider taxonomyResourceProvider = createStrictMock(ResourceProvider.class); - ResourceProvider termResourceProvider = createStrictMock(ResourceProvider.class); - UriInfo uriInfo = createNiceMock(UriInfo.class); - URI uri = new URI("http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy/terms/testTerm/terms/testTerm2"); - Capture<Request> requestCapture = newCapture(); - - String body = "{ \"description\" : \"test description\" } "; - // set mock expectations - expect(uriInfo.getRequestUri()).andReturn(uri); - expect(metadataService.getTypeDefinition(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE)).andReturn(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE + "-definition"); - termResourceProvider.createResource(capture(requestCapture)); - replay(uriInfo, metadataService, taxonomyResourceProvider, termResourceProvider); - - // instantiate service and invoke method being tested - TestTaxonomyService service = new TestTaxonomyService( - metadataService, typeDefStore, taxonomyResourceProvider, termResourceProvider, null); - Response response = service.createSubTerm(body, null, uriInfo, taxonomyName, termName, "/terms/testTerm2"); - - Request request = requestCapture.getValue(); - assertEquals(request.getQueryProperties().size(), 2); - assertEquals(request.getQueryProperties().get("description"), "test description"); - TermPath termPath = (TermPath) request.getQueryProperties().get("termPath"); - assertEquals(termPath.getFullyQualifiedName(), "testTaxonomy.testTerm.testTerm2"); - assertNull(request.getQueryString()); - - assertEquals(response.getStatus(), 201); - BaseService.Results createResults = (BaseService.Results) response.getEntity(); - assertEquals(createResults.href, "http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy/terms/testTerm/terms/testTerm2"); - assertEquals(createResults.status, 201); - - verify(uriInfo, taxonomyResourceProvider, termResourceProvider); - } - - @Test - public void testDeleteTerm() throws Exception { - MetadataService metadataService = createStrictMock(MetadataService.class); - AtlasTypeDefStore typeDefStore = createStrictMock(AtlasTypeDefStore.class); - ResourceProvider taxonomyResourceProvider = createStrictMock(ResourceProvider.class); - ResourceProvider termResourceProvider = createStrictMock(ResourceProvider.class); - UriInfo uriInfo = createNiceMock(UriInfo.class); - URI uri = new URI("http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy/terms/testTerm"); - Capture<Request> requestCapture = newCapture(); - - // set mock expectations - expect(uriInfo.getRequestUri()).andReturn(uri); - termResourceProvider.deleteResourceById(capture(requestCapture)); - expect(metadataService.getTypeDefinition(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE)).andReturn(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE + "-definition"); - replay(uriInfo, metadataService, taxonomyResourceProvider, termResourceProvider); - - // instantiate service and invoke method being tested - TestTaxonomyService service = new TestTaxonomyService( - metadataService, typeDefStore, taxonomyResourceProvider, termResourceProvider, null); - Response response = service.deleteTerm(null, uriInfo, "testTaxonomy", "testTerm"); - - Request request = requestCapture.getValue(); - assertEquals(request.getQueryProperties().size(), 1); - TermPath termPath = (TermPath) request.getQueryProperties().get("termPath"); - assertEquals(termPath.getFullyQualifiedName(), "testTaxonomy.testTerm"); - assertNull(request.getQueryString()); - - assertEquals(response.getStatus(), 200); - BaseService.Results createResults = (BaseService.Results) response.getEntity(); - assertEquals(createResults.href, "http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy/terms/testTerm"); - assertEquals(createResults.status, 200); - - verify(uriInfo, taxonomyResourceProvider, termResourceProvider); - } - - @Test - public void testDeleteSubTerm() throws Exception { - MetadataService metadataService = createStrictMock(MetadataService.class); - AtlasTypeDefStore typeDefStore = createStrictMock(AtlasTypeDefStore.class); - ResourceProvider taxonomyResourceProvider = createStrictMock(ResourceProvider.class); - ResourceProvider termResourceProvider = createStrictMock(ResourceProvider.class); - UriInfo uriInfo = createNiceMock(UriInfo.class); - URI uri = new URI("http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy/terms/testTerm/terms/testTerm2"); - Capture<Request> requestCapture = newCapture(); - - // set mock expectations - expect(uriInfo.getRequestUri()).andReturn(uri); - termResourceProvider.deleteResourceById(capture(requestCapture)); - expect(metadataService.getTypeDefinition(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE)).andReturn(TaxonomyResourceProvider.TAXONOMY_TERM_TYPE + "-definition"); - replay(uriInfo, metadataService, taxonomyResourceProvider, termResourceProvider); - - // instantiate service and invoke method being tested - TestTaxonomyService service = new TestTaxonomyService( - metadataService, typeDefStore, taxonomyResourceProvider, termResourceProvider, null); - Response response = service.deleteSubTerm(null, uriInfo, "testTaxonomy", "testTerm", "terms/testTerm2"); - - Request request = requestCapture.getValue(); - assertEquals(request.getQueryProperties().size(), 1); - TermPath termPath = (TermPath) request.getQueryProperties().get("termPath"); - assertEquals(termPath.getFullyQualifiedName(), "testTaxonomy.testTerm.testTerm2"); - assertNull(request.getQueryString()); - - assertEquals(response.getStatus(), 200); - BaseService.Results createResults = (BaseService.Results) response.getEntity(); - assertEquals(createResults.href, "http://localhost:21000/api/atlas/v1/taxonomies/testTaxonomy/terms/testTerm/terms/testTerm2"); - assertEquals(createResults.status, 200); - - verify(uriInfo, taxonomyResourceProvider, termResourceProvider); - } - - private static class TestTaxonomyService extends TaxonomyService { - private final ResourceProvider testTaxonomyResourceProvider; - private final ResourceProvider testTermResourceProvider; - private final JsonSerializer testSerializer; - private boolean transactionInitialized = false; - - public TestTaxonomyService(MetadataService metadataService, - AtlasTypeDefStore typeDefStore, - ResourceProvider taxonomyProvider, - ResourceProvider termResourceProvider, - JsonSerializer serializer) throws AtlasBaseException { - - testTaxonomyResourceProvider = taxonomyProvider; - testTermResourceProvider = termResourceProvider; - testSerializer = serializer; - setMetadataService(metadataService, typeDefStore); - } - - @Override - protected ResourceProvider createTaxonomyResourceProvider(AtlasTypeSystem typeSystem) { - return testTaxonomyResourceProvider; - } - - @Override - protected ResourceProvider createTermResourceProvider(AtlasTypeSystem typeSystem) { - return testTermResourceProvider; - } - - @Override - protected JsonSerializer getSerializer() { - return testSerializer; - } - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/96da2306/webapp/src/test/java/org/apache/atlas/web/security/BaseSecurityTest.java ---------------------------------------------------------------------- diff --git a/webapp/src/test/java/org/apache/atlas/web/security/BaseSecurityTest.java b/webapp/src/test/java/org/apache/atlas/web/security/BaseSecurityTest.java index ad87025..55709c4 100644 --- a/webapp/src/test/java/org/apache/atlas/web/security/BaseSecurityTest.java +++ b/webapp/src/test/java/org/apache/atlas/web/security/BaseSecurityTest.java @@ -186,7 +186,7 @@ public class BaseSecurityTest { public static void setUpPolicyStore(String tmpDir) throws Exception { StringBuilder policyStr = new StringBuilder(1024); policyStr.append("adminPolicy;;admin:rwud;;ROLE_ADMIN:rwud;;type:*,entity:*,operation:*\n"); - policyStr.append("dataStewardPolicy;;testuser:rwud;;DATA_STEWARD:rwu;;type:*,entity:*,taxonomy:*,term:*\n"); + policyStr.append("dataStewardPolicy;;testuser:rwud;;DATA_STEWARD:rwu;;type:*,entity:*\n"); File policyFile = new File(tmpDir, "policy-store.txt"); FileUtils.write(policyFile, policyStr.toString());
