From 00df9bdc49a2dea63059b1a5c54d73ff62334e94 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Wed, 12 Jul 2023 14:29:48 -0700 Subject: [PATCH] SHIBUI-2596 Fixing unit tests and startup without a default value for beacon cron. Renamed property for beacon cron frmo code review feedback --- backend/src/main/app-resources/default.yml | 3 ++- .../ui/configuration/CoreShibUiConfiguration.java | 2 +- backend/src/main/resources/application.properties | 2 +- ...esUiDefinitionControllerIntegrationTests.groovy | 7 +------ ...ntrollerSchemaValidationIntegrationTests.groovy | 14 +------------- ...esUiDefinitionControllerIntegrationTests.groovy | 13 +------------ ...etadataFiltersControllerIntegrationTests.groovy | 4 +--- ...ntrollerSchemaValidationIntegrationTests.groovy | 13 +------------ ...sPositionOrderControllerIntegrationTests.groovy | 14 +------------- ...ntrollerSchemaValidationIntegrationTests.groovy | 14 +------------- 10 files changed, 11 insertions(+), 75 deletions(-) diff --git a/backend/src/main/app-resources/default.yml b/backend/src/main/app-resources/default.yml index aa73f8627..9ea447808 100644 --- a/backend/src/main/app-resources/default.yml +++ b/backend/src/main/app-resources/default.yml @@ -30,7 +30,8 @@ # installationID: [user-defined value] # urls: http://collector.testbed.tier.internet2.edu:5001 # productName: ShibUI -# cron: 0 59 3 * * ? +# send: +# cron: 0 59 3 * * ? # pac4j-enabled: true # pac4j: diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/CoreShibUiConfiguration.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/CoreShibUiConfiguration.java index 8e746bbf1..6e839b0df 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/CoreShibUiConfiguration.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/CoreShibUiConfiguration.java @@ -277,7 +277,7 @@ public LockProvider lockProvider(DataSource dataSource) { } @Bean - public String getBeaconCronValue(BeaconConfigurationRepository repo, @Value("${shibui.beacon.cron}") String valueFromConfig) + public String getBeaconCronValue(BeaconConfigurationRepository repo, @Value("${shibui.beacon.send.cron:nodefault}") String valueFromConfig) { Optional obc = repo.findById(1); BeaconConfiguration bc; diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties index e46938360..f61974456 100644 --- a/backend/src/main/resources/application.properties +++ b/backend/src/main/resources/application.properties @@ -123,7 +123,7 @@ shibui.beacon.enabled=true shibui.beacon.productName=ShibUi shibui.beacon.installationID=UNICON-SHIBUI-TESTING shibui.beacon.url=http://collector.testbed.tier.internet2.edu:5001 -#shibui.beacon.cron=0 59 3 * * ? +#shibui.beacon.send.cron=0 59 3 * * ? ### Swagger/Springdoc patterns springdoc.use-management-port=true diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/BadJSONMetadataSourcesUiDefinitionControllerIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/BadJSONMetadataSourcesUiDefinitionControllerIntegrationTests.groovy index 1acd0a080..d1a31e703 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/BadJSONMetadataSourcesUiDefinitionControllerIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/BadJSONMetadataSourcesUiDefinitionControllerIntegrationTests.groovy @@ -26,7 +26,7 @@ import static edu.internet2.tier.shibboleth.admin.ui.jsonschema.JsonSchemaResour /** * @author Dmitriy Kopylenko */ -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", "shibui.beacon.productName=shibuiProdName", "shibui.beacon.cron=0 3 3 * * ?"]) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", "shibui.beacon.productName=shibuiProdName"]) @ActiveProfiles(["no-auth", "badjson"]) class BadJSONMetadataSourcesUiDefinitionControllerIntegrationTests extends Specification { @@ -48,11 +48,6 @@ class BadJSONMetadataSourcesUiDefinitionControllerIntegrationTests extends Speci @TestConfiguration @Profile('badjson') static class Config { - @Bean - public String getBeaconCronValue() { - return "0 3 3 * * ?"; - } - @Bean JsonSchemaResourceLocationRegistry jsonSchemaResourceLocationRegistry(ResourceLoader resourceLoader, ObjectMapper jacksonMapper) { diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerSchemaValidationIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerSchemaValidationIntegrationTests.groovy index f7d38f69b..3dc9fee6e 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerSchemaValidationIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerSchemaValidationIntegrationTests.groovy @@ -3,15 +3,12 @@ package edu.internet2.tier.shibboleth.admin.ui.controller import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.web.client.TestRestTemplate -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Import import org.springframework.http.HttpEntity import org.springframework.http.HttpHeaders import org.springframework.test.context.ActiveProfiles import spock.lang.Specification -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", "shibui.beacon.productName=shibuiProdName", "shibui.beacon.cron=0 3 3 * * ?"]) -@Import([LocalConfig.class]) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", "shibui.beacon.productName=shibuiProdName"]) @ActiveProfiles(["no-auth", "dev"]) class EntityDescriptorControllerSchemaValidationIntegrationTests extends Specification { @@ -54,13 +51,4 @@ class EntityDescriptorControllerSchemaValidationIntegrationTests extends Specifi private static HttpEntity createRequestHttpEntityFor(Closure jsonBodySupplier) { new HttpEntity(jsonBodySupplier(), ['Content-Type': 'application/json'] as HttpHeaders) } - - @org.springframework.boot.test.context.TestConfiguration - private static class LocalConfig { - @Bean - public String getBeaconCronValue() { - return "0 3 3 * * ?"; - } - } - } \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/GoodJSONMetadataSourcesUiDefinitionControllerIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/GoodJSONMetadataSourcesUiDefinitionControllerIntegrationTests.groovy index 0fa1b3545..07bcefff5 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/GoodJSONMetadataSourcesUiDefinitionControllerIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/GoodJSONMetadataSourcesUiDefinitionControllerIntegrationTests.groovy @@ -3,16 +3,13 @@ package edu.internet2.tier.shibboleth.admin.ui.controller import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.web.client.TestRestTemplate -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Import import org.springframework.test.context.ActiveProfiles import spock.lang.Specification /** * @author Dmitriy Kopylenko */ -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", "shibui.beacon.productName=shibuiProdName", "shibui.beacon.cron=0 3 3 * * ?"]) -@Import([LocalConfig.class]) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", "shibui.beacon.productName=shibuiProdName"]) @ActiveProfiles("no-auth") class GoodJSONMetadataSourcesUiDefinitionControllerIntegrationTests extends Specification { @@ -29,12 +26,4 @@ class GoodJSONMetadataSourcesUiDefinitionControllerIntegrationTests extends Spec result.statusCodeValue == 200 result.body.properties.entityId.title == 'label.entity-id' } - - @org.springframework.boot.test.context.TestConfiguration - private static class LocalConfig { - @Bean - public String getBeaconCronValue() { - return "0 3 3 * * ?"; - } - } } \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerIntegrationTests.groovy index 176dd946f..de2cbd8fa 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerIntegrationTests.groovy @@ -35,9 +35,7 @@ import static org.springframework.http.HttpMethod.PUT /** * @author Dmitriy Kopylenko */ -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", - "shibui.beacon.productName=shibuiProdName", - "shibui.beacon.cron=0 3 3 * * ?"]) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", "shibui.beacon.productName=shibuiProdName"]) @ActiveProfiles(["no-auth", "mfci-test"]) class MetadataFiltersControllerIntegrationTests extends Specification { diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerSchemaValidationIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerSchemaValidationIntegrationTests.groovy index 5e1849c72..5dbc39d64 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerSchemaValidationIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerSchemaValidationIntegrationTests.groovy @@ -6,15 +6,12 @@ import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverReposit import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.web.client.TestRestTemplate -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Import import org.springframework.http.HttpEntity import org.springframework.http.HttpHeaders import org.springframework.test.context.ActiveProfiles import spock.lang.Specification -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", "shibui.beacon.productName=shibuiProdName", "shibui.beacon.cron=0 3 3 * * ?"]) -@Import([LocalConfig.class]) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", "shibui.beacon.productName=shibuiProdName"]) @ActiveProfiles(["no-auth", "dev"]) class MetadataFiltersControllerSchemaValidationIntegrationTests extends Specification { @@ -102,12 +99,4 @@ class MetadataFiltersControllerSchemaValidationIntegrationTests extends Specific private static resourceUriFor(String uriTemplate, String resourceId) { String.format(uriTemplate, resourceId) } - - @org.springframework.boot.test.context.TestConfiguration - private static class LocalConfig { - @Bean - public String getBeaconCronValue() { - return "0 3 3 * * ?"; - } - } } \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersPositionOrderControllerIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersPositionOrderControllerIntegrationTests.groovy index 365e22e45..e1ed71aa4 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersPositionOrderControllerIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersPositionOrderControllerIntegrationTests.groovy @@ -1,22 +1,18 @@ package edu.internet2.tier.shibboleth.admin.ui.controller - import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator import edu.internet2.tier.shibboleth.admin.util.AttributeUtility import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.web.client.TestRestTemplate -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Import import org.springframework.test.context.ActiveProfiles import spock.lang.Specification /** * @author Dmitriy Kopylenko */ -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", "shibui.beacon.productName=shibuiProdName", "shibui.beacon.cron=0 3 3 * * ?"]) -@Import([LocalConfig.class]) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", "shibui.beacon.productName=shibuiProdName"]) @ActiveProfiles("no-auth") class MetadataFiltersPositionOrderControllerIntegrationTests extends Specification { @@ -149,12 +145,4 @@ class MetadataFiltersPositionOrderControllerIntegrationTests extends Specificati private static resourceUriFor(String resolverResourceId) { String.format(RESOURCE_URI, resolverResourceId) } - - @org.springframework.boot.test.context.TestConfiguration - private static class LocalConfig { - @Bean - public String getBeaconCronValue() { - return "0 3 3 * * ?"; - } - } } \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverControllerSchemaValidationIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverControllerSchemaValidationIntegrationTests.groovy index bc9759d64..b08a19f9c 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverControllerSchemaValidationIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverControllerSchemaValidationIntegrationTests.groovy @@ -3,17 +3,13 @@ package edu.internet2.tier.shibboleth.admin.ui.controller import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.web.client.TestRestTemplate -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Import import org.springframework.http.HttpEntity import org.springframework.http.HttpHeaders import org.springframework.test.context.ActiveProfiles import spock.lang.Specification @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = ["management.endpoints.web.exposure.include=info, health", - "shibui.beacon.productName=shibuiProdName", - "shibui.beacon.cron=0 3 3 * * ?"]) -@Import([LocalConfig.class]) + "shibui.beacon.productName=shibuiProdName"]) @ActiveProfiles(["no-auth", "dev"]) class MetadataResolverControllerSchemaValidationIntegrationTests extends Specification { @@ -151,12 +147,4 @@ class MetadataResolverControllerSchemaValidationIntegrationTests extends Specifi private static HttpEntity createRequestHttpEntityFor(String jsonBody) { new HttpEntity(jsonBody, ['Content-Type': 'application/json'] as HttpHeaders) } - - @org.springframework.boot.test.context.TestConfiguration - private static class LocalConfig { - @Bean - public String getBeaconCronValue() { - return "0 3 3 * * ?"; - } - } } \ No newline at end of file