From 6fa70fc6310028314d459c41ea5b28afbd23e2da Mon Sep 17 00:00:00 2001 From: Dmitriy Kopylenko Date: Fri, 1 Jun 2018 09:17:03 -0400 Subject: [PATCH] SHIBUI-522: refactoring REST controller for polymorphic filters endpoints --- .../admin/ui/controller/MetadataFiltersController.java | 6 ++---- .../controller/MetadataFiltersControllerTests.groovy | 10 +++++----- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersController.java index d8a8e0325..af370ccc6 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersController.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersController.java @@ -43,11 +43,9 @@ public class MetadataFiltersController { @GetMapping("/Filters") @Transactional(readOnly = true) - public Iterable getAll(@PathVariable String metadataResolverId) { + public Iterable getAll(@PathVariable String metadataResolverId) { // TODO: implement lookup based on metadataResolverId once we have more than one - return repository.findAll().iterator().next().getMetadataFilters().stream() - .map(eaf -> filterService.createRepresentationFromFilter((EntityAttributesFilter) eaf)) - .collect(Collectors.toList()); + return repository.findAll().iterator().next().getMetadataFilters(); } @GetMapping("/Filter/{resourceId}") diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerTests.groovy index 01f3dca31..8986d0346 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerTests.groovy @@ -1,6 +1,7 @@ package edu.internet2.tier.shibboleth.admin.ui.controller import com.fasterxml.jackson.databind.ObjectMapper +import com.fasterxml.jackson.databind.SerializationFeature import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration import edu.internet2.tier.shibboleth.admin.ui.configuration.MetadataResolverConfiguration import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration @@ -60,6 +61,7 @@ class MetadataFiltersControllerTests extends Specification { randomGenerator = new RandomGenerator() testObjectGenerator = new TestObjectGenerator(attributeUtility) mapper = new ObjectMapper() + mapper.enable(SerializationFeature.INDENT_OUTPUT) controller = new MetadataFiltersController ( repository: metadataResolverRepository, @@ -83,19 +85,17 @@ class MetadataFiltersControllerTests extends Specification { def "FilterController.getAll gets all filters"() { given: def metadataResolver = new MetadataResolver() - metadataResolver.setMetadataFilters(testObjectGenerator.buildFilterList()) + def expectedContent = testObjectGenerator.buildFilterList() + metadataResolver.setMetadataFilters(expectedContent) List metadataResolverList = [metadataResolver] 1 * metadataResolverRepository.findAll() >> metadataResolverList - def expectedContent = [] - metadataResolver.getMetadataFilters().each { - expectedContent.add(filterService.createRepresentationFromFilter(it)) - } def expectedHttpResponseStatus = status().isOk() def expectedResponseContentType = APPLICATION_JSON_UTF8 when: def result = mockMvc.perform(get('/api/MetadataResolver/foo/Filters')) + println(mapper.writeValueAsString(expectedContent)) then: result.andExpect(expectedHttpResponseStatus)