Search in sources :

Example 26 with UriInfo

use of javax.ws.rs.core.UriInfo in project incubator-atlas by apache.

the class JsonSerializerTest method testSerialize.

@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);
}
Also used : URI(java.net.URI) UriInfo(javax.ws.rs.core.UriInfo) Test(org.testng.annotations.Test)

Example 27 with UriInfo

use of javax.ws.rs.core.UriInfo in project incubator-atlas by apache.

the class TaxonomyServiceTest method testGetTaxonomy.

@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);
}
Also used : HashMap(java.util.HashMap) Request(org.apache.atlas.catalog.Request) ArrayList(java.util.ArrayList) JsonSerializer(org.apache.atlas.catalog.JsonSerializer) MetadataService(org.apache.atlas.services.MetadataService) AtlasTypeDefStore(org.apache.atlas.store.AtlasTypeDefStore) Result(org.apache.atlas.catalog.Result) Response(javax.ws.rs.core.Response) TaxonomyResourceProvider(org.apache.atlas.catalog.TaxonomyResourceProvider) ResourceProvider(org.apache.atlas.catalog.ResourceProvider) HashMap(java.util.HashMap) Map(java.util.Map) UriInfo(javax.ws.rs.core.UriInfo) Test(org.testng.annotations.Test)

Example 28 with UriInfo

use of javax.ws.rs.core.UriInfo in project incubator-atlas by apache.

the class TaxonomyServiceTest method testCreateTerm.

@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);
}
Also used : Request(org.apache.atlas.catalog.Request) URI(java.net.URI) MetadataService(org.apache.atlas.services.MetadataService) AtlasTypeDefStore(org.apache.atlas.store.AtlasTypeDefStore) Response(javax.ws.rs.core.Response) TaxonomyResourceProvider(org.apache.atlas.catalog.TaxonomyResourceProvider) ResourceProvider(org.apache.atlas.catalog.ResourceProvider) TermPath(org.apache.atlas.catalog.TermPath) UriInfo(javax.ws.rs.core.UriInfo) Test(org.testng.annotations.Test)

Example 29 with UriInfo

use of javax.ws.rs.core.UriInfo in project incubator-atlas by apache.

the class TaxonomyServiceTest method testGetSubTerms_collection.

@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);
}
Also used : HashMap(java.util.HashMap) Request(org.apache.atlas.catalog.Request) ArrayList(java.util.ArrayList) JsonSerializer(org.apache.atlas.catalog.JsonSerializer) PathSegment(javax.ws.rs.core.PathSegment) URI(java.net.URI) MetadataService(org.apache.atlas.services.MetadataService) AtlasTypeDefStore(org.apache.atlas.store.AtlasTypeDefStore) Result(org.apache.atlas.catalog.Result) Response(javax.ws.rs.core.Response) TaxonomyResourceProvider(org.apache.atlas.catalog.TaxonomyResourceProvider) ResourceProvider(org.apache.atlas.catalog.ResourceProvider) TermPath(org.apache.atlas.catalog.TermPath) HashMap(java.util.HashMap) Map(java.util.Map) UriInfo(javax.ws.rs.core.UriInfo) Test(org.testng.annotations.Test)

Example 30 with UriInfo

use of javax.ws.rs.core.UriInfo in project incubator-atlas by apache.

the class TaxonomyServiceTest method testCreateSubTerm.

@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);
}
Also used : Request(org.apache.atlas.catalog.Request) URI(java.net.URI) MetadataService(org.apache.atlas.services.MetadataService) AtlasTypeDefStore(org.apache.atlas.store.AtlasTypeDefStore) Response(javax.ws.rs.core.Response) TaxonomyResourceProvider(org.apache.atlas.catalog.TaxonomyResourceProvider) ResourceProvider(org.apache.atlas.catalog.ResourceProvider) TermPath(org.apache.atlas.catalog.TermPath) UriInfo(javax.ws.rs.core.UriInfo) Test(org.testng.annotations.Test)

Aggregations

UriInfo (javax.ws.rs.core.UriInfo)86 Response (javax.ws.rs.core.Response)44 Test (org.junit.Test)43 URI (java.net.URI)31 Test (org.testng.annotations.Test)21 Request (org.apache.atlas.catalog.Request)12 ResourceProvider (org.apache.atlas.catalog.ResourceProvider)12 TaxonomyResourceProvider (org.apache.atlas.catalog.TaxonomyResourceProvider)12 MetadataService (org.apache.atlas.services.MetadataService)12 AtlasTypeDefStore (org.apache.atlas.store.AtlasTypeDefStore)12 HttpServletRequest (javax.servlet.http.HttpServletRequest)11 ArrayList (java.util.ArrayList)10 Map (java.util.Map)10 MediaType (javax.ws.rs.core.MediaType)10 Api (io.swagger.annotations.Api)8 ApiOperation (io.swagger.annotations.ApiOperation)8 ApiParam (io.swagger.annotations.ApiParam)8 ApiResponse (io.swagger.annotations.ApiResponse)8 ApiResponses (io.swagger.annotations.ApiResponses)8 InputStream (java.io.InputStream)8