http://git-wip-us.apache.org/repos/asf/atlas/blob/96da2306/catalog/src/test/java/org/apache/atlas/catalog/DefaultPropertyMapperTest.java ---------------------------------------------------------------------- diff --git a/catalog/src/test/java/org/apache/atlas/catalog/DefaultPropertyMapperTest.java b/catalog/src/test/java/org/apache/atlas/catalog/DefaultPropertyMapperTest.java deleted file mode 100644 index d37c041..0000000 --- a/catalog/src/test/java/org/apache/atlas/catalog/DefaultPropertyMapperTest.java +++ /dev/null @@ -1,177 +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.catalog; - -import org.apache.atlas.typesystem.types.AttributeInfo; -import org.apache.atlas.typesystem.types.FieldMapping; -import org.apache.atlas.typesystem.types.HierarchicalType; -import org.testng.annotations.Test; - -import java.util.HashMap; -import java.util.Map; - -import static org.easymock.EasyMock.*; -import static org.testng.Assert.assertEquals; - -/** - * Unit tests for DefaultPropertyMapper. - */ -public class DefaultPropertyMapperTest { - @Test - public void testToCleanName_defaultMappings() { - String typeName = "testType"; - HierarchicalType dataType = createNiceMock(HierarchicalType.class); - - // currently only use key in map - Map<String, AttributeInfo> fields = new HashMap<>(); - fields.put("foo", null); - fields.put("prop", null); - // can't mock FieldMapping due to direct access to final instance var 'fields' - FieldMapping fieldMapping = new FieldMapping(fields, null, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - - // mock expectations - expect(dataType.fieldMapping()).andReturn(fieldMapping).anyTimes(); - replay(dataType); - - PropertyMapper propertyMapper = new TestDefaultPropertyMapper(dataType); - assertEquals(propertyMapper.toCleanName("Prefix.prop", typeName), "prop"); - assertEquals(propertyMapper.toCleanName("foo", typeName), "foo"); - assertEquals(propertyMapper.toCleanName("other", typeName), "other"); - assertEquals(propertyMapper.toCleanName("Prefix.other", typeName), "Prefix.other"); - - verify(dataType); - } - - @Test - public void testToQualifiedName_defaultMappings() throws Exception { - String typeName = "testType"; - HierarchicalType dataType = createNiceMock(HierarchicalType.class); - - // currently only use key in map - Map<String, AttributeInfo> fields = new HashMap<>(); - fields.put("foo", null); - fields.put("prop", null); - // can't mock FieldMapping due to direct access to final instance var 'fields' - FieldMapping fieldMapping = new FieldMapping(fields, null, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - - // mock expectations - expect(dataType.fieldMapping()).andReturn(fieldMapping).anyTimes(); - expect(dataType.getQualifiedName("foo")).andReturn("foo"); - expect(dataType.getQualifiedName("prop")).andReturn("Prefix.prop"); - replay(dataType); - - PropertyMapper propertyMapper = new TestDefaultPropertyMapper(dataType); - assertEquals(propertyMapper.toFullyQualifiedName("foo", typeName), "foo"); - assertEquals(propertyMapper.toFullyQualifiedName("prop", typeName), "Prefix.prop"); - assertEquals(propertyMapper.toFullyQualifiedName("other", typeName), "other"); - assertEquals(propertyMapper.toFullyQualifiedName("Prefix.other", typeName), "Prefix.other"); - - verify(dataType); - } - - @Test - public void testToCleanName_specifiedMappings() { - String typeName = "testType"; - HierarchicalType dataType = createNiceMock(HierarchicalType.class); - - // currently only use key in map - Map<String, AttributeInfo> fields = new HashMap<>(); - fields.put("foo", null); - fields.put("prop", null); - // can't mock FieldMapping due to direct access to final instance var 'fields' - FieldMapping fieldMapping = new FieldMapping(fields, null, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - - // mock expectations - expect(dataType.fieldMapping()).andReturn(fieldMapping).anyTimes(); - replay(dataType); - - Map<String, String> cleanToQualifiedMap = new HashMap<>(); - cleanToQualifiedMap.put("prop1", "property_1"); - Map<String, String> qualifiedToCleanMap = new HashMap<>(); - qualifiedToCleanMap.put("property_1", "prop1"); - - PropertyMapper propertyMapper = new TestDefaultPropertyMapper( - typeName, qualifiedToCleanMap, cleanToQualifiedMap, dataType); - - assertEquals(propertyMapper.toCleanName("property_1", typeName), "prop1"); - assertEquals(propertyMapper.toCleanName("Prefix.prop", typeName), "prop"); - assertEquals(propertyMapper.toCleanName("foo", typeName), "foo"); - assertEquals(propertyMapper.toCleanName("other", typeName), "other"); - assertEquals(propertyMapper.toCleanName("Prefix.other", typeName), "Prefix.other"); - - verify(dataType); - } - - @Test - public void testToQualifiedName_specifiedMappings() throws Exception { - String typeName = "testType"; - HierarchicalType dataType = createNiceMock(HierarchicalType.class); - - // currently only use key in map - Map<String, AttributeInfo> fields = new HashMap<>(); - fields.put("foo", null); - fields.put("prop", null); - // can't mock FieldMapping due to direct access to final instance var 'fields' - FieldMapping fieldMapping = new FieldMapping(fields, null, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - - // mock expectations - expect(dataType.fieldMapping()).andReturn(fieldMapping).anyTimes(); - expect(dataType.getQualifiedName("foo")).andReturn("foo"); - expect(dataType.getQualifiedName("prop")).andReturn("Prefix.prop"); - replay(dataType); - - Map<String, String> cleanToQualifiedMap = new HashMap<>(); - cleanToQualifiedMap.put("prop1", "property_1"); - Map<String, String> qualifiedToCleanMap = new HashMap<>(); - qualifiedToCleanMap.put("property_1", "prop1"); - - PropertyMapper propertyMapper = new TestDefaultPropertyMapper( - typeName, qualifiedToCleanMap, cleanToQualifiedMap, dataType); - - assertEquals(propertyMapper.toFullyQualifiedName("prop1", typeName), "property_1"); - assertEquals(propertyMapper.toFullyQualifiedName("foo", typeName), "foo"); - assertEquals(propertyMapper.toFullyQualifiedName("prop", typeName), "Prefix.prop"); - assertEquals(propertyMapper.toFullyQualifiedName("other", typeName), "other"); - assertEquals(propertyMapper.toFullyQualifiedName("Prefix.other", typeName), "Prefix.other"); - - verify(dataType); - } - - private static class TestDefaultPropertyMapper extends DefaultPropertyMapper { - private HierarchicalType dataType; - public TestDefaultPropertyMapper(HierarchicalType dataType) { - super(); - this.dataType = dataType; - } - - public TestDefaultPropertyMapper(String type, - Map<String, String> qualifiedToCleanMap, - Map<String, String> cleanToQualifiedMap, - HierarchicalType dataType) { - - super(qualifiedToCleanMap, cleanToQualifiedMap); - this.dataType = dataType; - } - - @Override - protected HierarchicalType createDataType(String type) { - return dataType; - } - } -}
http://git-wip-us.apache.org/repos/asf/atlas/blob/96da2306/catalog/src/test/java/org/apache/atlas/catalog/EntityResourceProviderTest.java ---------------------------------------------------------------------- diff --git a/catalog/src/test/java/org/apache/atlas/catalog/EntityResourceProviderTest.java b/catalog/src/test/java/org/apache/atlas/catalog/EntityResourceProviderTest.java deleted file mode 100644 index 67af409..0000000 --- a/catalog/src/test/java/org/apache/atlas/catalog/EntityResourceProviderTest.java +++ /dev/null @@ -1,215 +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.catalog; - -import org.apache.atlas.catalog.exception.ResourceNotFoundException; -import org.apache.atlas.catalog.query.AtlasQuery; -import org.apache.atlas.catalog.query.QueryFactory; -import org.easymock.Capture; -import org.testng.annotations.Test; - -import java.util.*; - -import static org.easymock.EasyMock.*; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNull; -import static org.testng.Assert.assertTrue; - -/** - * Unit Tests for EntityResourceProvider. - */ -public class EntityResourceProviderTest { - @Test - public void testGetResource() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - Map<String, Object> queryResultRow = new HashMap<>(); - queryResult.add(queryResultRow); - queryResultRow.put("id", "1"); - queryResultRow.put("creation_time", "04/20/2016"); - - // mock expectations - expect(queryFactory.createEntityQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - EntityResourceProvider provider = new EntityResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("id", "1"); - Request userRequest = new InstanceRequest(requestProperties); - - Result result = provider.getResourceById(userRequest); - - assertEquals(1, result.getPropertyMaps().size()); - assertEquals(queryResultRow, result.getPropertyMaps().iterator().next()); - - Request request = requestCapture.getValue(); - assertNull(request.getQueryString()); - assertEquals(0, request.getAdditionalSelectProperties().size()); - assertEquals(requestProperties, request.getQueryProperties()); - - verify(typeSystem, queryFactory, query); - } - - @Test(expectedExceptions = ResourceNotFoundException.class) - public void testGetResource_404() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - // empty response should result in a ResourceNotFoundException - Collection<Map<String, Object>> emptyResponse = new ArrayList<>(); - - // mock expectations - expect(queryFactory.createEntityQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(emptyResponse); - replay(typeSystem, queryFactory, query); - - EntityResourceProvider provider = new EntityResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("id", "1"); - Request request = new InstanceRequest(requestProperties); - - provider.getResourceById(request); - - verify(typeSystem, queryFactory, query); - } - - @Test - public void testGetResources() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - Map<String, Object> queryResultRow1 = new HashMap<>(); - queryResult.add(queryResultRow1); - queryResultRow1.put("mame", "entity1"); - queryResultRow1.put("description", "test entity description"); - queryResultRow1.put("creation_time", "04/20/2016"); - - Map<String, Object> queryResultRow2 = new HashMap<>(); - queryResult.add(queryResultRow2); - queryResultRow2.put("mame", "entity2"); - queryResultRow2.put("description", "test entity description 2"); - queryResultRow2.put("creation_time", "04/21/2016"); - - // mock expectations - expect(queryFactory.createEntityQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - EntityResourceProvider provider = new EntityResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - Request userRequest = new CollectionRequest(Collections.<String, Object>emptyMap(), "name:entity*"); - Result result = provider.getResources(userRequest); - - assertEquals(2, result.getPropertyMaps().size()); - assertTrue(result.getPropertyMaps().contains(queryResultRow1)); - assertTrue(result.getPropertyMaps().contains(queryResultRow2)); - - Request request = requestCapture.getValue(); - assertEquals("name:entity*", request.getQueryString()); - assertEquals(0, request.getAdditionalSelectProperties().size()); - assertEquals(0, request.getQueryProperties().size()); - - verify(typeSystem, queryFactory, query); - } - - @Test - public void testGetResources_noResults() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - // empty result shouldn't result in exception for collection query - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - - // mock expectations - expect(queryFactory.createEntityQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - EntityResourceProvider provider = new EntityResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - Request userRequest = new CollectionRequest(Collections.<String, Object>emptyMap(), "name:entity*"); - Result result = provider.getResources(userRequest); - - assertEquals(0, result.getPropertyMaps().size()); - - Request request = requestCapture.getValue(); - assertEquals("name:entity*", request.getQueryString()); - assertEquals(0, request.getAdditionalSelectProperties().size()); - assertEquals(0, request.getQueryProperties().size()); - - verify(typeSystem, queryFactory, query); - } - - @Test(expectedExceptions = UnsupportedOperationException.class) - public void testCreateResource() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - - // mock expectations - replay(typeSystem, queryFactory, query); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("id", "1"); - Request userRequest = new InstanceRequest(requestProperties); - - EntityResourceProvider provider = new EntityResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - provider.createResource(userRequest); - } - - @Test(expectedExceptions = UnsupportedOperationException.class) - public void testCreateResources() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - - // mock expectations - replay(typeSystem, queryFactory, query); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("id", "1"); - Request userRequest = new InstanceRequest(requestProperties); - - EntityResourceProvider provider = new EntityResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - provider.createResources(userRequest); - } - -} http://git-wip-us.apache.org/repos/asf/atlas/blob/96da2306/catalog/src/test/java/org/apache/atlas/catalog/EntityTagResourceProviderTest.java ---------------------------------------------------------------------- diff --git a/catalog/src/test/java/org/apache/atlas/catalog/EntityTagResourceProviderTest.java b/catalog/src/test/java/org/apache/atlas/catalog/EntityTagResourceProviderTest.java deleted file mode 100644 index 96cb523..0000000 --- a/catalog/src/test/java/org/apache/atlas/catalog/EntityTagResourceProviderTest.java +++ /dev/null @@ -1,463 +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.catalog; - -import org.apache.atlas.catalog.exception.CatalogException; -import org.apache.atlas.catalog.exception.InvalidPayloadException; -import org.apache.atlas.catalog.exception.ResourceAlreadyExistsException; -import org.apache.atlas.catalog.exception.ResourceNotFoundException; -import org.apache.atlas.catalog.query.AtlasQuery; -import org.apache.atlas.catalog.query.QueryFactory; -import org.easymock.Capture; -import org.testng.annotations.Test; - -import java.util.*; - -import static org.easymock.EasyMock.*; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNull; -import static org.testng.Assert.assertTrue; - -/** - * Unit tests for EntityTagResourceProvider. - */ -public class EntityTagResourceProviderTest { - @Test - public void testGetResource() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - Map<String, Object> queryResultRow = new HashMap<>(); - queryResult.add(queryResultRow); - queryResultRow.put("name", "taxonomyName.termName"); - queryResultRow.put("description", "test term description"); - - // mock expectations - expect(queryFactory.createEntityTagQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - EntityTagResourceProvider provider = new EntityTagResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "taxonomyName.termName"); - requestProperties.put("id", "1"); - Request userRequest = new InstanceRequest(requestProperties); - - Result result = provider.getResourceById(userRequest); - - assertEquals(1, result.getPropertyMaps().size()); - assertEquals(queryResultRow, result.getPropertyMaps().iterator().next()); - - Request request = requestCapture.getValue(); - assertNull(request.getQueryString()); - assertEquals(0, request.getAdditionalSelectProperties().size()); - assertEquals(2, request.getQueryProperties().size()); - assertEquals("taxonomyName.termName", request.getQueryProperties().get("name")); - assertEquals(Request.Cardinality.INSTANCE, request.getCardinality()); - - verify(typeSystem, queryFactory, query); - } - - @Test(expectedExceptions = ResourceNotFoundException.class) - public void testGetResource_404() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - // empty response should result in a ResourceNotFoundException - Collection<Map<String, Object>> emptyResponse = new ArrayList<>(); - - // mock expectations - expect(queryFactory.createEntityTagQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(emptyResponse); - replay(typeSystem, queryFactory, query); - - EntityTagResourceProvider provider = new EntityTagResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "taxonomyName.termName"); - requestProperties.put("id", "1"); - Request request = new InstanceRequest(requestProperties); - - provider.getResourceById(request); - } - - @Test - public void testGetResources() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - Map<String, Object> queryResultRow1 = new HashMap<>(); - queryResult.add(queryResultRow1); - queryResultRow1.put("name", "testTaxonomy.termName"); - queryResultRow1.put("description", "test term description"); - - Map<String, Object> queryResultRow2 = new HashMap<>(); - queryResult.add(queryResultRow2); - queryResultRow2.put("name", "testTaxonomy.termName2"); - queryResultRow2.put("description", "test term 2 description"); - // mock expectations - expect(queryFactory.createEntityTagQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - EntityTagResourceProvider provider = new EntityTagResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("id", "1"); - Request userRequest = new CollectionRequest(requestProperties, "name:testTaxonomy.*"); - // invoke test method - Result result = provider.getResources(userRequest); - - assertEquals(2, result.getPropertyMaps().size()); - assertTrue(result.getPropertyMaps().contains(queryResultRow1)); - assertTrue(result.getPropertyMaps().contains(queryResultRow2)); - - Request request = requestCapture.getValue(); - assertEquals("name:testTaxonomy.*", request.getQueryString()); - assertEquals(0, request.getAdditionalSelectProperties().size()); - - verify(typeSystem, queryFactory, query); - } - - @Test - public void testGetResources_noResults() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - - // mock expectations - expect(queryFactory.createEntityTagQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - EntityTagResourceProvider provider = new EntityTagResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("id", "1"); - Request userRequest = new CollectionRequest(requestProperties, "name:testTaxonomy.*"); - // invoke test method - Result result = provider.getResources(userRequest); - - assertEquals(0, result.getPropertyMaps().size()); - - Request request = requestCapture.getValue(); - assertEquals("name:testTaxonomy.*", request.getQueryString()); - assertEquals(0, request.getAdditionalSelectProperties().size()); - - verify(typeSystem, queryFactory, query); - } - - @Test(expectedExceptions = InvalidPayloadException.class) - public void testCreateResource_invalidRequest__noName() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - - replay(typeSystem, queryFactory, query); - - Map<String, Object> requestProperties = new HashMap<>(); - // missing name name should result in InvalidPayloadException - requestProperties.put("description", "description"); - Request userRequest = new InstanceRequest(requestProperties); - - EntityTagResourceProvider provider = new EntityTagResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - provider.createResource(userRequest); - } - - @Test - public void testCreateResource() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - ResourceProvider termResourceProvider = createStrictMock(TermResourceProvider.class); - Capture<Request> termRequestCapture = newCapture(); - - Collection<Map<String, Object>> termQueryResult = new ArrayList<>(); - Map<String, Object> termQueryResultRow = new HashMap<>(); - termQueryResult.add(termQueryResultRow); - termQueryResultRow.put("name", "testTaxonomy.termName"); - termQueryResultRow.put("type", "testTaxonomy.termName"); - termQueryResultRow.put("available_as_tag", true); - termQueryResultRow.put("description", "term description"); - Result termResult = new Result(termQueryResult); - - // mock expectations - expect(termResourceProvider.getResourceById(capture(termRequestCapture))).andReturn(termResult); - Map<String, Object> tagProperties = new HashMap<>(); - tagProperties.put("name", "testTaxonomy.termName"); - tagProperties.put("description", "term description"); - typeSystem.createTraitInstance("11-22-33", "testTaxonomy.termName", tagProperties); - replay(typeSystem, queryFactory, query, termResourceProvider); - - EntityTagResourceProvider provider = new TestEntityTagResourceProvider(typeSystem, termResourceProvider); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "testTaxonomy.termName"); - requestProperties.put("id", "11-22-33"); - Request userRequest = new InstanceRequest(requestProperties); - - provider.createResource(userRequest); - - Request termRequest = termRequestCapture.getValue(); - Map<String, Object> termRequestProps = termRequest.getQueryProperties(); - assertEquals(1, termRequestProps.size()); - TermPath termPath = (TermPath) termRequestProps.get("termPath"); - assertEquals("testTaxonomy.termName", termPath.getFullyQualifiedName()); - assertEquals(1, termRequest.getAdditionalSelectProperties().size()); - assertEquals("type", termRequest.getAdditionalSelectProperties().iterator().next()); - assertNull(termRequest.getQueryString()); - - verify(typeSystem, queryFactory, query, termResourceProvider); - } - - @Test(expectedExceptions = CatalogException.class) - public void testCreateResource_invalidRequest__termNotAvailableForTagging() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - ResourceProvider termResourceProvider = createStrictMock(TermResourceProvider.class); - Capture<Request> termRequestCapture = newCapture(); - - Collection<Map<String, Object>> termQueryResult = new ArrayList<>(); - Map<String, Object> termQueryResultRow = new HashMap<>(); - termQueryResult.add(termQueryResultRow); - termQueryResultRow.put("name", "testTaxonomy.termName"); - termQueryResultRow.put("type", "testTaxonomy.termName"); - // false value for 'available_as_tag' should result in an exception - termQueryResultRow.put("available_as_tag", false); - termQueryResultRow.put("description", "term description"); - Result termResult = new Result(termQueryResult); - - // mock expectations - expect(termResourceProvider.getResourceById(capture(termRequestCapture))).andReturn(termResult); - replay(typeSystem, queryFactory, query, termResourceProvider); - - EntityTagResourceProvider provider = new TestEntityTagResourceProvider(typeSystem, termResourceProvider); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "testTaxonomy.termName"); - requestProperties.put("id", "11-22-33"); - Request userRequest = new InstanceRequest(requestProperties); - - provider.createResource(userRequest); - } - - @Test(expectedExceptions = ResourceAlreadyExistsException.class) - public void testCreateResource_invalidRequest__alreadyExists() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - ResourceProvider termResourceProvider = createStrictMock(TermResourceProvider.class); - Capture<Request> termRequestCapture = newCapture(); - - Collection<Map<String, Object>> termQueryResult = new ArrayList<>(); - Map<String, Object> termQueryResultRow = new HashMap<>(); - termQueryResult.add(termQueryResultRow); - termQueryResultRow.put("name", "testTaxonomy.termName"); - termQueryResultRow.put("type", "testTaxonomy.termName"); - termQueryResultRow.put("available_as_tag", true); - termQueryResultRow.put("description", "term description"); - Result termResult = new Result(termQueryResult); - - // mock expectations - expect(termResourceProvider.getResourceById(capture(termRequestCapture))).andReturn(termResult); - Map<String, Object> tagProperties = new HashMap<>(); - tagProperties.put("name", "testTaxonomy.termName"); - tagProperties.put("description", "term description"); - typeSystem.createTraitInstance("11-22-33", "testTaxonomy.termName", tagProperties); - expectLastCall().andThrow(new ResourceAlreadyExistsException("")); - replay(typeSystem, queryFactory, query, termResourceProvider); - - EntityTagResourceProvider provider = new TestEntityTagResourceProvider(typeSystem, termResourceProvider); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "testTaxonomy.termName"); - requestProperties.put("id", "11-22-33"); - Request userRequest = new InstanceRequest(requestProperties); - - provider.createResource(userRequest); - } - - @Test - public void testCreateResources() throws Exception { - AtlasTypeSystem typeSystem = createMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery entityQuery = createMock(AtlasQuery.class); - ResourceProvider termResourceProvider = createMock(TermResourceProvider.class); - Capture<Request> entityRequestCapture = newCapture(); - Capture<Request> termRequestCapture1 = newCapture(); - Capture<Request> termRequestCapture2 = newCapture(); - - Collection<Map<String, Object>> entityQueryResult = new ArrayList<>(); - Map<String, Object> entityQueryResultRow = new HashMap<>(); - entityQueryResultRow.put("id", "1"); - entityQueryResult.add(entityQueryResultRow); - - Map<String, Object> entityQueryResultRow2 = new HashMap<>(); - entityQueryResultRow2.put("id", "2"); - entityQueryResult.add(entityQueryResultRow2); - - Collection<Map<String, Object>> termQueryResult1 = new ArrayList<>(); - Map<String, Object> termQueryResultRow1 = new HashMap<>(); - termQueryResult1.add(termQueryResultRow1); - termQueryResultRow1.put("name", "testTaxonomy.termName1"); - termQueryResultRow1.put("type", "testTaxonomy.termName1"); - termQueryResultRow1.put("available_as_tag", true); - termQueryResultRow1.put("description", "term description"); - Result termResult1 = new Result(termQueryResult1); - - Collection<Map<String, Object>> termQueryResult2 = new ArrayList<>(); - Map<String, Object> termQueryResultRow2 = new HashMap<>(); - termQueryResult2.add(termQueryResultRow2); - termQueryResultRow2.put("name", "testTaxonomy.termName2"); - termQueryResultRow2.put("type", "testTaxonomy.termName2"); - termQueryResultRow2.put("available_as_tag", true); - termQueryResultRow2.put("description", "term 2 description"); - Result termResult2 = new Result(termQueryResult2); - - // mock expectations - expect(queryFactory.createEntityQuery(capture(entityRequestCapture))).andReturn(entityQuery); - expect(entityQuery.execute()).andReturn(entityQueryResult); - - expect(termResourceProvider.getResourceById(capture(termRequestCapture1))).andReturn(termResult1); - expect(termResourceProvider.getResourceById(capture(termRequestCapture2))).andReturn(termResult2); - - Map<String, Object> tagProperties1 = new HashMap<>(); - tagProperties1.put("name", "testTaxonomy.termName1"); - tagProperties1.put("description", "term description"); - // each tag is associated with each entity - typeSystem.createTraitInstance("1", "testTaxonomy.termName1", tagProperties1); - typeSystem.createTraitInstance("2", "testTaxonomy.termName1", tagProperties1); - - Map<String, Object> tagProperties2 = new HashMap<>(); - tagProperties2.put("name", "testTaxonomy.termName2"); - tagProperties2.put("description", "term 2 description"); - // each tag is associated with each entity - typeSystem.createTraitInstance("1", "testTaxonomy.termName2", tagProperties2); - typeSystem.createTraitInstance("2", "testTaxonomy.termName2", tagProperties2); - - replay(typeSystem, queryFactory, entityQuery, termResourceProvider); - // end mock expectations - - EntityTagResourceProvider provider = new TestEntityTagResourceProvider(typeSystem, termResourceProvider); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProps = new HashMap<>(); - Collection<Map<String, String>> tagMaps = new ArrayList<>(); - requestProps.put("tags", tagMaps); - Map<String, String> tagMap1 = new HashMap<>(); - tagMap1.put("name", "testTaxonomy.termName1"); - tagMaps.add(tagMap1); - Map<String, String> tagMap2 = new HashMap<>(); - tagMap2.put("name", "testTaxonomy.termName2"); - tagMaps.add(tagMap2); - - Request userRequest = new CollectionRequest(requestProps, "name:foo*"); - // invoke method being tested - Collection<String> createResult = provider.createResources(userRequest); - - assertEquals(4, createResult.size()); - assertTrue(createResult.contains("v1/entities/1/tags/testTaxonomy.termName1")); - assertTrue(createResult.contains("v1/entities/1/tags/testTaxonomy.termName2")); - assertTrue(createResult.contains("v1/entities/2/tags/testTaxonomy.termName1")); - assertTrue(createResult.contains("v1/entities/2/tags/testTaxonomy.termName2")); - - Request entityRequest = entityRequestCapture.getValue(); - assertEquals("name:foo*", entityRequest.getQueryString()); - assertEquals(Request.Cardinality.COLLECTION, entityRequest.getCardinality()); - - Request termRequest1 = termRequestCapture1.getValue(); - assertNull(termRequest1.getQueryString()); - assertEquals(Request.Cardinality.INSTANCE, termRequest1.getCardinality()); - Map<String, Object> termRequestProps = termRequest1.getQueryProperties(); - assertEquals(1, termRequestProps.size()); - TermPath termPath = (TermPath) termRequestProps.get("termPath"); - assertEquals("testTaxonomy.termName1", termPath.getFullyQualifiedName()); - - Request termRequest2 = termRequestCapture2.getValue(); - assertNull(termRequest2.getQueryString()); - assertEquals(Request.Cardinality.INSTANCE, termRequest2.getCardinality()); - Map<String, Object> termRequestProps2 = termRequest2.getQueryProperties(); - assertEquals(1, termRequestProps2.size()); - TermPath termPath2 = (TermPath) termRequestProps2.get("termPath"); - assertEquals("testTaxonomy.termName2", termPath2.getFullyQualifiedName()); - - verify(typeSystem, queryFactory, entityQuery, termResourceProvider); - } - - @Test - public void testDeleteResourceById() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - - // mock expectations - typeSystem.deleteTag("1", "taxonomyName.termName"); - replay(typeSystem); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "taxonomyName.termName"); - requestProperties.put("id", "1"); - Request userRequest = new InstanceRequest(requestProperties); - - // instantiate EntityTagResourceProvider and invoke method being tested - EntityTagResourceProvider provider = new EntityTagResourceProvider(typeSystem); - provider.setQueryFactory(null); - provider.deleteResourceById(userRequest); - - verify(typeSystem); - } - - //todo: test behavior of createResources in case of partial success after behavior is defined - - - private static class TestEntityTagResourceProvider extends EntityTagResourceProvider { - - private ResourceProvider testTermResourceProvider; - - public TestEntityTagResourceProvider(AtlasTypeSystem typeSystem, ResourceProvider termResourceProvider) { - super(typeSystem); - testTermResourceProvider = termResourceProvider; - } - - @Override - protected synchronized ResourceProvider getTermResourceProvider() { - return testTermResourceProvider; - } - } -} http://git-wip-us.apache.org/repos/asf/atlas/blob/96da2306/catalog/src/test/java/org/apache/atlas/catalog/InstanceRequestTest.java ---------------------------------------------------------------------- diff --git a/catalog/src/test/java/org/apache/atlas/catalog/InstanceRequestTest.java b/catalog/src/test/java/org/apache/atlas/catalog/InstanceRequestTest.java deleted file mode 100644 index d716296..0000000 --- a/catalog/src/test/java/org/apache/atlas/catalog/InstanceRequestTest.java +++ /dev/null @@ -1,67 +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.catalog; - -import org.testng.annotations.Test; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNull; -import static org.testng.Assert.assertTrue; - -/** - * Unit tests for InstanceRequest. - */ -public class InstanceRequestTest { - @Test - public void testRequestProperties() { - Map<String, Object> properties = new HashMap<>(); - properties.put("foo", "fooValue"); - properties.put("someBoolean", true); - Request request = new InstanceRequest(properties); - - assertEquals(Request.Cardinality.INSTANCE, request.getCardinality()); - assertEquals(properties, request.getQueryProperties()); - assertEquals("fooValue", request.getProperty("foo")); - assertTrue(request.<Boolean>getProperty("someBoolean")); - assertNull(request.getProperty("other")); - assertTrue(request.getAdditionalSelectProperties().isEmpty()); - } - - @Test - public void testSelectProperties() { - Map<String, Object> properties = new HashMap<>(); - properties.put("foo", "fooValue"); - properties.put("someBoolean", true); - Request request = new InstanceRequest(properties); - - Collection<String> additionalSelectProps = new ArrayList<>(); - additionalSelectProps.add("prop1"); - additionalSelectProps.add("prop2"); - request.addAdditionalSelectProperties(additionalSelectProps); - Collection<String> requestAdditionalSelectProps = request.getAdditionalSelectProperties(); - assertEquals(2, requestAdditionalSelectProps.size()); - assertTrue(requestAdditionalSelectProps.contains("prop1")); - assertTrue(requestAdditionalSelectProps.contains("prop2")); - } -} http://git-wip-us.apache.org/repos/asf/atlas/blob/96da2306/catalog/src/test/java/org/apache/atlas/catalog/JsonSerializerTest.java ---------------------------------------------------------------------- diff --git a/catalog/src/test/java/org/apache/atlas/catalog/JsonSerializerTest.java b/catalog/src/test/java/org/apache/atlas/catalog/JsonSerializerTest.java deleted file mode 100644 index 60cc210..0000000 --- a/catalog/src/test/java/org/apache/atlas/catalog/JsonSerializerTest.java +++ /dev/null @@ -1,120 +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.catalog; - -import org.testng.annotations.Test; - -import javax.ws.rs.core.UriInfo; - -import java.net.URI; -import java.util.*; - -import static org.easymock.EasyMock.createStrictMock; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.replay; -import static org.testng.Assert.assertEquals; - -/** - * Unit tests for JsonSerializer. - */ -public class JsonSerializerTest { - @Test - public void testSerialize() throws Exception { - UriInfo uriInfo = createStrictMock(UriInfo.class); - URI uri = new URI("http://test.com:8080/"); - expect(uriInfo.getBaseUri()).andReturn(uri); - - replay(uriInfo); - - Collection<Map<String, Object>> resultMaps = new ArrayList<>(); - // result map 1 - ResourceComparator resourceComparator = new ResourceComparator(); - Map<String, Object> resultMap1 = new TreeMap<>(resourceComparator); - resultMaps.add(resultMap1); - - resultMap1.put("prop1", "property 1 value"); - resultMap1.put("booleanProp", true); - resultMap1.put("numberProp", 100); - resultMap1.put("href", "v1/testResources/foo"); - - ArrayList<String> listProp = new ArrayList<>(); - listProp.add("one"); - listProp.add("two"); - resultMap1.put("listProp", listProp); - - Map<String, Object> mapProp = new TreeMap<>(resourceComparator); - mapProp.put("mapProp1", "mapProp1Value"); - ArrayList<String> mapListProp = new ArrayList<>(); - mapListProp.add("mapListOne"); - mapListProp.add("mapListTwo"); - mapProp.put("mapListProp", mapListProp); - mapProp.put("href", "v1/testResources/foobar"); - resultMap1.put("mapProp", mapProp); - - // result map 2 - Map<String, Object> resultMap2 = new TreeMap<>(resourceComparator); - resultMaps.add(resultMap2); - - resultMap2.put("nullProp", null); - resultMap2.put("href", "v1/testResources/bar"); - - ArrayList<Map<String, Object>> listProp2 = new ArrayList<>(); - listProp2.add(Collections.<String, Object>singletonMap("listMapProp", "listMapPropValue")); - resultMap2.put("listProp", listProp2); - - Result result = new Result(resultMaps); - - JsonSerializer serializer = new JsonSerializer(); - String resultJson = serializer.serialize(result, uriInfo); - - assertEquals(resultJson, EXPECTED_JSON); - } - - private static final String EXPECTED_JSON = - "[\n" + - " {\n" + - " \"href\": \"http://test.com:8080/v1/testResources/foo\",\n" + - " \"booleanProp\": true,\n" + - " \"numberProp\": 100,\n" + - " \"prop1\": \"property 1 value\",\n" + - " \"listProp\": [\n" + - " \"one\",\n" + - " \"two\"\n" + - " ],\n" + - " \"mapProp\": {\n" + - " \"href\": \"http://test.com:8080/v1/testResources/foobar\",\n" + - " \"mapProp1\": \"mapProp1Value\",\n" + - " \"mapListProp\": [\n" + - " \"mapListOne\",\n" + - " \"mapListTwo\"\n" + - " ]\n" + - " }\n" + - " },\n" + - " {\n" + - " \"href\": \"http://test.com:8080/v1/testResources/bar\",\n" + - " \"nullProp\": null,\n" + - " \"listProp\": [\n" + - " {\n" + - " \"listMapProp\": \"listMapPropValue\"\n" + - " }\n" + - " ]\n" + - " }\n" + - "]"; - -} http://git-wip-us.apache.org/repos/asf/atlas/blob/96da2306/catalog/src/test/java/org/apache/atlas/catalog/ResourceComparatorTest.java ---------------------------------------------------------------------- diff --git a/catalog/src/test/java/org/apache/atlas/catalog/ResourceComparatorTest.java b/catalog/src/test/java/org/apache/atlas/catalog/ResourceComparatorTest.java deleted file mode 100644 index 146ca0c..0000000 --- a/catalog/src/test/java/org/apache/atlas/catalog/ResourceComparatorTest.java +++ /dev/null @@ -1,61 +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.catalog; - -import org.testng.annotations.Test; - -import java.util.*; - -import static org.testng.Assert.assertEquals; - -/** - * Unit tests for ResourceComparator. - */ -public class ResourceComparatorTest { - @Test - public void testCompare() { - Map<String, Object> map = new TreeMap<>(new ResourceComparator()); - map.put("a", "zzzzz"); - map.put("name", 1); - map.put("z", "fdsfdsds"); - map.put("d", new ArrayList<>()); - map.put("id", 1); - map.put("e", false); - map.put("c", 1); - map.put("href", "dfdfgdf"); - map.put("b", new HashMap<>()); - map.put("description", 1); - map.put("f", 20); - map.put("type", 1); - - Iterator<String> iter = map.keySet().iterator(); - assertEquals(iter.next(), "href"); - assertEquals(iter.next(), "name"); - assertEquals(iter.next(), "id"); - assertEquals(iter.next(), "description"); - assertEquals(iter.next(), "type"); - assertEquals(iter.next(), "a"); - assertEquals(iter.next(), "b"); - assertEquals(iter.next(), "c"); - assertEquals(iter.next(), "d"); - assertEquals(iter.next(), "e"); - assertEquals(iter.next(), "f"); - assertEquals(iter.next(), "z"); - } -} http://git-wip-us.apache.org/repos/asf/atlas/blob/96da2306/catalog/src/test/java/org/apache/atlas/catalog/TaxonomyResourceProviderTest.java ---------------------------------------------------------------------- diff --git a/catalog/src/test/java/org/apache/atlas/catalog/TaxonomyResourceProviderTest.java b/catalog/src/test/java/org/apache/atlas/catalog/TaxonomyResourceProviderTest.java deleted file mode 100644 index 8dfce5e..0000000 --- a/catalog/src/test/java/org/apache/atlas/catalog/TaxonomyResourceProviderTest.java +++ /dev/null @@ -1,591 +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.catalog; - -import org.apache.atlas.catalog.definition.ResourceDefinition; -import org.apache.atlas.catalog.definition.TaxonomyResourceDefinition; -import org.apache.atlas.catalog.exception.InvalidPayloadException; -import org.apache.atlas.catalog.exception.ResourceAlreadyExistsException; -import org.apache.atlas.catalog.exception.ResourceNotFoundException; -import org.apache.atlas.catalog.query.AtlasQuery; -import org.apache.atlas.catalog.query.QueryFactory; -import org.easymock.Capture; -import org.testng.annotations.Test; - -import java.util.*; - -import static org.easymock.EasyMock.*; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNull; -import static org.testng.Assert.assertTrue; - -/** - * Unit tests for TaxonomyResourceProvider. - */ -public class TaxonomyResourceProviderTest { - @Test - public void testGetResourceById() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - Map<String, Object> queryResultRow = new HashMap<>(); - queryResult.add(queryResultRow); - queryResultRow.put("name", "taxonomyName"); - queryResultRow.put("description", "test taxonomy description"); - queryResultRow.put("creation_time", "04/20/2016"); - - // mock expectations - expect(queryFactory.createTaxonomyQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "taxonomyName"); - Request userRequest = new InstanceRequest(requestProperties); - - Result result = provider.getResourceById(userRequest); - - assertEquals(1, result.getPropertyMaps().size()); - assertEquals(queryResultRow, result.getPropertyMaps().iterator().next()); - - Request request = requestCapture.getValue(); - assertNull(request.getQueryString()); - assertEquals(0, request.getAdditionalSelectProperties().size()); - assertEquals(requestProperties, request.getQueryProperties()); - - verify(typeSystem, queryFactory, query); - } - - @Test - public void testGetResourceById_notInitialized_createDefaultTaxonomy() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> checkForAnyTaxonomiesCapture = newCapture(); - Capture<Request> createDefaultTaxonomyRequestCapture = newCapture(); - Capture<Request> requestCapture = newCapture(); - Capture<ResourceDefinition> resourceDefinitionCapture = newCapture(); - - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - Map<String, Object> queryResultRow = new HashMap<>(); - queryResult.add(queryResultRow); - queryResultRow.put("name", "taxonomyName"); - queryResultRow.put("description", "test taxonomy description"); - queryResultRow.put("creation_time", "04/20/2016"); - - // mock expectations - expect(queryFactory.createTaxonomyQuery(capture(checkForAnyTaxonomiesCapture))).andReturn(query); - expect(query.execute()).andReturn(Collections.<Map<String, Object>>emptySet()); - expect(typeSystem.createEntity(capture(resourceDefinitionCapture), capture(createDefaultTaxonomyRequestCapture))).andReturn("testGuid"); - expect(queryFactory.createTaxonomyQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - TestTaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setInitialized(false); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "taxonomyName"); - Request userRequest = new InstanceRequest(requestProperties); - - Result result = provider.getResourceById(userRequest); - - assertEquals(1, result.getPropertyMaps().size()); - assertEquals(queryResultRow, result.getPropertyMaps().iterator().next()); - - Request request = requestCapture.getValue(); - assertNull(request.getQueryString()); - assertEquals(0, request.getAdditionalSelectProperties().size()); - assertEquals(requestProperties, request.getQueryProperties()); - - Request checkForAnyTaxonomiesRequest = checkForAnyTaxonomiesCapture.getValue(); - assertNull(checkForAnyTaxonomiesRequest.getQueryString()); - assertEquals(checkForAnyTaxonomiesRequest.getAdditionalSelectProperties().size(), 0); - assertEquals(checkForAnyTaxonomiesRequest.getQueryProperties().size(), 0); - - Request createDefaultTaxonomyRequest = createDefaultTaxonomyRequestCapture.getValue(); - assertNull(createDefaultTaxonomyRequest.getQueryString()); - assertEquals(createDefaultTaxonomyRequest.getAdditionalSelectProperties().size(), 0); - assertEquals(createDefaultTaxonomyRequest.getQueryProperties().size(), 2); - assertEquals(createDefaultTaxonomyRequest.getQueryProperties().get("name"), - TaxonomyResourceProvider.DEFAULT_TAXONOMY_NAME); - assertEquals(createDefaultTaxonomyRequest.getQueryProperties().get("description"), - TaxonomyResourceProvider.DEFAULT_TAXONOMY_DESCRIPTION); - - verify(typeSystem, queryFactory, query); - } - - @Test - public void testGetResourceById_notInitialized_taxonomyAlreadyExists() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> checkForAnyTaxonomiesCapture = newCapture(); - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - Map<String, Object> queryResultRow = new HashMap<>(); - queryResult.add(queryResultRow); - queryResultRow.put("name", "taxonomyName"); - queryResultRow.put("description", "test taxonomy description"); - queryResultRow.put("creation_time", "04/20/2016"); - - // mock expectations - expect(queryFactory.createTaxonomyQuery(capture(checkForAnyTaxonomiesCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - expect(queryFactory.createTaxonomyQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - TestTaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setInitialized(false); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "taxonomyName"); - Request userRequest = new InstanceRequest(requestProperties); - - Result result = provider.getResourceById(userRequest); - - assertEquals(1, result.getPropertyMaps().size()); - assertEquals(queryResultRow, result.getPropertyMaps().iterator().next()); - - Request request = requestCapture.getValue(); - assertNull(request.getQueryString()); - assertEquals(0, request.getAdditionalSelectProperties().size()); - assertEquals(requestProperties, request.getQueryProperties()); - - verify(typeSystem, queryFactory, query); - } - - @Test(expectedExceptions = ResourceNotFoundException.class) - public void testGetResourceById_404() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - // empty response should result in a ResourceNotFoundException - Collection<Map<String, Object>> emptyResponse = new ArrayList<>(); - - // mock expectations - expect(queryFactory.createTaxonomyQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(emptyResponse); - replay(typeSystem, queryFactory, query); - - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "taxonomyName"); - Request request = new InstanceRequest(requestProperties); - - provider.getResourceById(request); - - verify(typeSystem, queryFactory, query); - } - - @Test - public void testGetResources() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - Map<String, Object> queryResultRow1 = new HashMap<>(); - queryResult.add(queryResultRow1); - queryResultRow1.put("mame", "taxonomyName1"); - queryResultRow1.put("description", "test taxonomy description"); - queryResultRow1.put("creation_time", "04/20/2016"); - - Map<String, Object> queryResultRow2 = new HashMap<>(); - queryResult.add(queryResultRow2); - queryResultRow2.put("mame", "taxonomyName2"); - queryResultRow2.put("description", "test taxonomy description 2"); - queryResultRow2.put("creation_time", "04/21/2016"); - - // mock expectations - expect(queryFactory.createTaxonomyQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - Request userRequest = new CollectionRequest(Collections.<String, Object>emptyMap(), "name:taxonomy*"); - Result result = provider.getResources(userRequest); - - assertEquals(2, result.getPropertyMaps().size()); - assertTrue(result.getPropertyMaps().contains(queryResultRow1)); - assertTrue(result.getPropertyMaps().contains(queryResultRow2)); - - Request request = requestCapture.getValue(); - assertEquals("name:taxonomy*", request.getQueryString()); - assertEquals(0, request.getAdditionalSelectProperties().size()); - assertEquals(0, request.getQueryProperties().size()); - - verify(typeSystem, queryFactory, query); - } - - @Test - public void testGetResources_noResults() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - // empty result shouldn't result in exception for collection query - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - - // mock expectations - expect(queryFactory.createTaxonomyQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - Request userRequest = new CollectionRequest(Collections.<String, Object>emptyMap(), "name:taxonomy*"); - Result result = provider.getResources(userRequest); - - assertEquals(0, result.getPropertyMaps().size()); - - Request request = requestCapture.getValue(); - assertEquals("name:taxonomy*", request.getQueryString()); - assertEquals(0, request.getAdditionalSelectProperties().size()); - assertEquals(0, request.getQueryProperties().size()); - - verify(typeSystem, queryFactory, query); - } - - @Test(expectedExceptions = InvalidPayloadException.class) - public void testCreateResource_invalidRequest__noName() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - - // mock expectations - replay(typeSystem, queryFactory, query); - - // taxonomy create request must contain 'name' property - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("description", "test"); - Request userRequest = new InstanceRequest(requestProperties); - - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - provider.createResource(userRequest); - } - - @Test(expectedExceptions = ResourceAlreadyExistsException.class) - public void testCreateResource_invalidRequest__alreadyExists() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> requestCapture = newCapture(); - - // query is executed to see if resource already exists - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - Map<String, Object> queryResultRow = new HashMap<>(); - queryResult.add(queryResultRow); - queryResultRow.put("mame", "taxonomyName"); - queryResultRow.put("description", "test taxonomy description"); - queryResultRow.put("creation_time", "04/20/2016"); - - // mock expectations - expect(queryFactory.createTaxonomyQuery(capture(requestCapture))).andReturn(query); - // returning result for query should result in ResourceAlreadyExistsException - expect(query.execute()).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - // taxonomy create request must contain 'name' property - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "taxonomyName"); - Request userRequest = new InstanceRequest(requestProperties); - - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - provider.createResource(userRequest); - } - - @Test - public void testCreateResource() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<ResourceDefinition> resourceDefinitionCapture = newCapture(); - Capture<Request> requestCapture = newCapture(); - - // empty response indicates that resource doesn't already exist - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - - // mock expectations - expect(queryFactory.createTaxonomyQuery(capture(requestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - expect(typeSystem.createEntity(capture(resourceDefinitionCapture), capture(requestCapture))).andReturn("testGuid"); - replay(typeSystem, queryFactory, query); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "taxonomyName"); - Request userRequest = new InstanceRequest(requestProperties); - - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - provider.createResource(userRequest); - - assertEquals(new TaxonomyResourceDefinition().getTypeName(), - resourceDefinitionCapture.getValue().getTypeName()); - - Request request = requestCapture.getValue(); - assertNull(request.getQueryString()); - assertEquals(requestProperties, request.getQueryProperties()); - - verify(typeSystem, queryFactory, query); - } - - @Test(expectedExceptions = UnsupportedOperationException.class) - public void testCreateResources() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - - // mock expectations - replay(typeSystem, queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "taxonomyName"); - Request userRequest = new InstanceRequest(requestProperties); - - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - - provider.createResources(userRequest); - } - - @Test - public void testDeleteResourceById() throws Exception { - TermResourceProvider termResourceProvider = createStrictMock(TermResourceProvider.class); - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> getRequestCapture = newCapture(); - Capture<TermPath> termPathCapture = newCapture(); - Capture<ResourceDefinition> resourceDefinitionCapture = newCapture(); - Capture<Request> deleteRequestCapture = newCapture(); - - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - Map<String, Object> queryResultRow = new HashMap<>(); - queryResult.add(queryResultRow); - queryResultRow.put("name", "testTaxonomy"); - queryResultRow.put("id", "111-222-333"); - - // mock expectations - expect(queryFactory.createTaxonomyQuery(capture(getRequestCapture))).andReturn(query); - expect(query.execute()).andReturn(queryResult); - termResourceProvider.deleteChildren(eq("111-222-333"), capture(termPathCapture)); - typeSystem.deleteEntity(capture(resourceDefinitionCapture), capture(deleteRequestCapture)); - replay(termResourceProvider, typeSystem, queryFactory, query); - - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem, termResourceProvider); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "testTaxonomy"); - Request userRequest = new InstanceRequest(requestProperties); - - // invoke method being tested - provider.deleteResourceById(userRequest); - - Request getRequest = getRequestCapture.getValue(); - assertNull(getRequest.getQueryString()); - assertEquals(getRequest.getAdditionalSelectProperties().size(), 1); - assertTrue(getRequest.getAdditionalSelectProperties().contains("id")); - assertEquals(getRequest.getQueryProperties().get("name"), "testTaxonomy"); - - Request deleteRequest = deleteRequestCapture.getValue(); - assertNull(deleteRequest.getQueryString()); - assertEquals(deleteRequest.getAdditionalSelectProperties().size(), 1); - assertTrue(deleteRequest.getAdditionalSelectProperties().contains("id")); - assertEquals(deleteRequest.getQueryProperties().get("name"), "testTaxonomy"); - - ResourceDefinition resourceDefinition = resourceDefinitionCapture.getValue(); - assertTrue(resourceDefinition instanceof TaxonomyResourceDefinition); - - verify(termResourceProvider, typeSystem, queryFactory, query); - } - - @Test(expectedExceptions = ResourceNotFoundException.class) - public void testDeleteResourceById_404() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> getRequestCapture = newCapture(); - // mock expectations - expect(queryFactory.createTaxonomyQuery(capture(getRequestCapture))).andReturn(query); - expect(query.execute()).andThrow(new ResourceNotFoundException("test msg")); - - replay(typeSystem, queryFactory, query); - - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem, null); - provider.setQueryFactory(queryFactory); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "badName"); - Request userRequest = new InstanceRequest(requestProperties); - - // invoke method being tested - provider.deleteResourceById(userRequest); - } - - @Test - public void testUpdateResourceById() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> taxonomyRequestCapture = newCapture(); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "testTaxonomy"); - Map<String, Object> requestUpdateProperties = new HashMap<>(); - requestUpdateProperties.put("description", "updatedValue"); - Request userRequest = new InstanceRequest(requestProperties, requestUpdateProperties); - - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - Map<String, Object> queryResultRow = new HashMap<>(); - queryResult.add(queryResultRow); - queryResultRow.put("name", "testTaxonomy"); - - // mock expectations - // term update - expect(queryFactory.createTaxonomyQuery(capture(taxonomyRequestCapture))).andReturn(query); - expect(query.execute(requestUpdateProperties)).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - // instantiate resource provider and invoke method being tested - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - provider.updateResourceById(userRequest); - - Request request = taxonomyRequestCapture.getValue(); - assertNull(request.getQueryString()); - assertEquals(request.getQueryProperties().size(), 1); - assertEquals(request.getQueryProperties().get("name"), "testTaxonomy"); - assertEquals(request.getUpdateProperties().size(), 1); - assertEquals(request.getUpdateProperties().get("description"), "updatedValue"); - - verify(typeSystem, queryFactory, query); - } - - @Test(expectedExceptions = InvalidPayloadException.class) - public void testUpdateResourceById_attemptNameChange() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> taxonomyRequestCapture = newCapture(); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "testTaxonomy"); - Map<String, Object> requestUpdateProperties = new HashMap<>(); - requestUpdateProperties.put("name", "notCurrentlySupported"); - Request userRequest = new InstanceRequest(requestProperties, requestUpdateProperties); - - Collection<Map<String, Object>> queryResult = new ArrayList<>(); - Map<String, Object> queryResultRow = new HashMap<>(); - queryResult.add(queryResultRow); - queryResultRow.put("name", "testTaxonomy"); - - // mock expectations - // term update - expect(queryFactory.createTaxonomyQuery(capture(taxonomyRequestCapture))).andReturn(query); - expect(query.execute(requestUpdateProperties)).andReturn(queryResult); - replay(typeSystem, queryFactory, query); - - // instantiate resource provider and invoke method being tested - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - provider.updateResourceById(userRequest); - - verify(typeSystem, queryFactory, query); - } - - @Test(expectedExceptions = ResourceNotFoundException.class) - public void testUpdateResourceById_404() throws Exception { - AtlasTypeSystem typeSystem = createStrictMock(AtlasTypeSystem.class); - QueryFactory queryFactory = createStrictMock(QueryFactory.class); - AtlasQuery query = createStrictMock(AtlasQuery.class); - Capture<Request> taxonomyRequestCapture = newCapture(); - - Map<String, Object> requestProperties = new HashMap<>(); - requestProperties.put("name", "testTaxonomy"); - Map<String, Object> requestUpdateProperties = new HashMap<>(); - requestUpdateProperties.put("description", "updated"); - Request userRequest = new InstanceRequest(requestProperties, requestUpdateProperties); - // mock expectations - // term update - expect(queryFactory.createTaxonomyQuery(capture(taxonomyRequestCapture))).andReturn(query); - expect(query.execute(requestUpdateProperties)).andReturn(Collections.<Map<String, Object>>emptyList()); - replay(typeSystem, queryFactory, query); - - // instantiate resource provider and invoke method being tested - TaxonomyResourceProvider provider = new TestTaxonomyResourceProvider(typeSystem); - provider.setQueryFactory(queryFactory); - provider.updateResourceById(userRequest); - - verify(typeSystem, queryFactory, query); - } - - private static class TestTaxonomyResourceProvider extends TaxonomyResourceProvider { - private final TermResourceProvider termResourceProvider; - private boolean isInitialized = true; - - public TestTaxonomyResourceProvider(AtlasTypeSystem typeSystem) { - super(typeSystem); - this.termResourceProvider = null; - } - - public TestTaxonomyResourceProvider(AtlasTypeSystem typeSystem, TermResourceProvider termResourceProvider) { - super(typeSystem); - this.termResourceProvider = termResourceProvider; - } - - public void setInitialized(boolean isInitialized) { - this.isInitialized = isInitialized; - } - - @Override - protected synchronized TermResourceProvider getTermResourceProvider() { - return termResourceProvider; - } - - @Override - protected boolean autoInitializationChecked() { - return isInitialized; - } - } -}
