diff --git a/.gitignore b/.gitignore index 3d9ba1c8d..050e01025 100644 --- a/.gitignore +++ b/.gitignore @@ -385,3 +385,13 @@ gradle-app.setting # pac4j pac4j-module/out/ + +#Local run shell script wrapper +r + +#Local integration test run shell script wrapper +rinteg + +#Local run with durable H2 shell script wrapper +**/application-h2durable.properties +rdurable \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index 56a4ea3f5..3ae5f4595 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -38,7 +38,7 @@ pipeline { steps { sh ''' docker stop shibui || true && docker rm shibui || true - docker run -d --restart always --name shibui -p 8080:8080 -v /etc/shibui:/conf -v /etc/shibui/application.yml:/application.yml -m 4GB --memory-swap=4GB unicon/shibui-pac4j:latest /usr/bin/java -Xmx3G -jar app.jar + docker run -d --restart always --name shibui -p 8080:8080 -v /etc/shibui:/conf -v /etc/shibui/application.yml:/application.yml -m 2GB --memory-swap=4GB --entrypoint /usr/bin/java unicon/shibui:latest -Xmx1G -jar app.war ''' } } diff --git a/Jenkinsfile-Selenium b/Jenkinsfile-Selenium new file mode 100644 index 000000000..8940315d4 --- /dev/null +++ b/Jenkinsfile-Selenium @@ -0,0 +1,32 @@ +pipeline { + agent any + options { + disableConcurrentBuilds() + buildDiscarder(logRotator(numToKeepStr: '10', artifactNumToKeepStr: '10')) + } + stages { + stage('Run Selenium tests') { + steps { + sh ''' + ./gradlew integrationTest -Dselenium.host=jenkins + ''' + } + post { + always { + junit 'backend/build/test-results/integrationTest/**/*.xml' + } + } + } + } + post { + failure { + step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: emailextrecipients([[$class: 'CulpritsRecipientProvider'], [$class: 'RequesterRecipientProvider']])]) + } + success { + emailext body: '''${SCRIPT, template="groovy-text.template"}''', recipientProviders: [[$class: 'DevelopersRecipientProvider'], [$class: 'RequesterRecipientProvider']], subject: '[SHIBUI] Build Success' + } + always { + cleanWs() + } + } +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..541e15825 --- /dev/null +++ b/LICENSE @@ -0,0 +1,14 @@ +Licensed to the University Corporation for Advanced Internet Development, +Inc. (UCAID) under one or more contributor license agreements. See the +NOTICE file distributed with this work for additional information regarding +copyright ownership. The UCAID 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 + + http://www.apache.org/licenses/LICENSE-2.0 + +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. diff --git a/README.md b/README.md index 4ec4f8196..bb1ede559 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ # shibui -For more information, see `docs` - -## Requirements +## Requirements_ * Java 8 (note that ONLY Java 8 is supported at this time; other later versions might work) @@ -39,7 +37,7 @@ For complete information on overriding default configuration, see [https://docs. ### Deploying as a WAR -The application can be deployed as a WAR file in a Java Servlet 3.0 container. Currently, the application must be run in the root context. +The application can be deployed as a WAR file in a Java Servlet 3.0 container. To override default configuration, see [https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html]. The easiest way to do this in a servlet container is through the use of system properties diff --git a/backend/Dockerfile b/backend/Dockerfile index 08c66d341..1c5c805a4 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -2,9 +2,9 @@ FROM gcr.io/distroless/java ARG JAR_FILE -COPY ${JAR_FILE} app.jar COPY loader.properties loader.properties +COPY ${JAR_FILE} app.war EXPOSE 8080 -ENTRYPOINT ["/usr/bin/java", "-jar", "app.jar"] +ENTRYPOINT ["/usr/bin/java", "-jar", "app.war"] diff --git a/backend/build.gradle b/backend/build.gradle index 805bc841b..a6c3f2dc8 100644 --- a/backend/build.gradle +++ b/backend/build.gradle @@ -26,7 +26,7 @@ repositories { configurations.all { resolutionStrategy { force 'org.cryptacular:cryptacular:1.1.3' - + eachDependency { details -> if (details.requested.group == 'org.seleniumhq.selenium' && details.requested.name != 'htmlunit-driver') { details.useVersion '3.141.59' @@ -38,7 +38,7 @@ configurations.all { configurations { integrationTestCompile { extendsFrom compile - + } integrationTestRuntime { extendsFrom runtime @@ -96,29 +96,14 @@ bootWar { ) } from(tasks.findByPath(':ui:npm_run_buildProd').outputs) { - // into '/' - into '/public' + //Copying into this particular classpath location due too + //deployment to external Tomcat would not work with /public location + //This way, it works with both embedded and external Tomcat + into 'WEB-INF/classes/resources' } archiveName = "${baseName}-${version}.war" } -bootJar.dependsOn ':ui:npm_run_buildProd' -bootJar.baseName = 'shibui' -bootJar { - manifest { - attributes( - "Manifest-Version" : "1.0", - "Implementation-Version" : "${project.version}", - 'Main-Class': 'org.springframework.boot.loader.PropertiesLauncher' - ) - } - from(tasks.findByPath(':ui:npm_run_buildProd').outputs) { - // into '/' - into '/public' - } - archiveName = "${baseName}-${version}.jar" -} - springBoot { mainClassName = 'edu.internet2.tier.shibboleth.admin.ui.ShibbolethUiApplication' buildInfo() @@ -174,10 +159,10 @@ dependencies { // runtime libraries for later java versions runtimeOnly 'org.glassfish.jaxb:jaxb-runtime:2.3.0' - // TODO: these will likely only be runtimeOnly or test scope, unless we want to ship the libraries with the final product compile "com.h2database:h2" runtimeOnly "org.postgresql:postgresql" runtimeOnly 'org.mariadb.jdbc:mariadb-java-client:2.2.0' + runtimeOnly 'mysql:mysql-connector-java:5.1.48' //Swagger compile 'io.springfox:springfox-swagger2:2.9.2' @@ -195,7 +180,7 @@ dependencies { //JSON schema generator testCompile 'com.kjetland:mbknor-jackson-jsonschema_2.12:1.0.29' testCompile 'javax.validation:validation-api:2.0.1.Final' - + //JSON schema validator compile 'org.sharegov:mjson:1.4.1' @@ -208,7 +193,7 @@ dependencies { integrationTestCompile "org.springframework.security:spring-security-test" integrationTestCompile "org.spockframework:spock-core:1.1-groovy-2.4" integrationTestCompile "org.spockframework:spock-spring:1.1-groovy-2.4" - + // CSV file support compile 'com.opencsv:opencsv:4.4' @@ -217,6 +202,12 @@ dependencies { // Envers for persistent entities versioning compile 'org.hibernate:hibernate-envers' + //Pacj4 sub-project + runtimeOnly project(':pac4j-module') + + //Beacon + runtimeOnly project(':beacon:spring') + enversTestCompile sourceSets.main.output enversTestCompile sourceSets.test.output enversTestCompile configurations.compile @@ -342,15 +333,15 @@ jacocoTestReport { } } -tasks.docker.dependsOn tasks.bootJar +tasks.docker.dependsOn tasks.bootWar docker { name 'unicon/shibui' tags 'latest' pull true noCache true - files tasks.bootJar.outputs + files tasks.bootWar.outputs files 'src/main/docker-files/loader.properties' - buildArgs(['JAR_FILE': "shibui-${version}.jar"]) + buildArgs(['JAR_FILE': "shibui-${version}.war"]) } tasks.dockerRun.dependsOn tasks.docker diff --git a/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverControllerVersionEndpointsIntegrationTests.groovy b/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverControllerVersionEndpointsIntegrationTests.groovy index 2c02ee4b4..8cb3df104 100644 --- a/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverControllerVersionEndpointsIntegrationTests.groovy +++ b/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverControllerVersionEndpointsIntegrationTests.groovy @@ -1,19 +1,41 @@ package edu.internet2.tier.shibboleth.admin.ui.controller +import com.fasterxml.jackson.databind.ObjectMapper +import com.fasterxml.jackson.databind.SerializationFeature +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule +import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilterTarget import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityRoleWhiteListFilter +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.NameIdFormatFilter +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.NameIdFormatFilterTarget +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.SignatureValidationFilter import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FilesystemMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.LocalDynamicMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataQueryProtocolScheme import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.RegexScheme +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.TemplateScheme import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository + +import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolverVersionService +import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator +import edu.internet2.tier.shibboleth.admin.util.AttributeUtility + +import org.apache.commons.lang3.RandomStringUtils + 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.test.context.ActiveProfiles +import org.springframework.transaction.PlatformTransactionManager import spock.lang.Specification +import spock.lang.Unroll + +import static edu.internet2.tier.shibboleth.admin.ui.domain.filters.NameIdFormatFilterTarget.NameIdFormatFilterTargetType.ENTITY +import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic /** * @author Dmitriy Kopylenko @@ -28,12 +50,34 @@ class MetadataResolverControllerVersionEndpointsIntegrationTests extends Specifi @Autowired MetadataResolverRepository repository + @Autowired + AttributeUtility attributeUtility + + @Autowired + CustomPropertiesConfiguration customPropertiesConfiguration + + ObjectMapper mapper + TestObjectGenerator generator + + @Autowired + PlatformTransactionManager txMgr + + @Autowired + MetadataResolverVersionService metadataResolverVersionService + static BASE_URI = '/api/MetadataResolvers' static ALL_VERSIONS_URI = "$BASE_URI/%s/Versions" static SPECIFIC_VERSION_URI = "$BASE_URI/%s/Versions/%s" + def setup() { + generator = new TestObjectGenerator(attributeUtility, customPropertiesConfiguration) + mapper = new ObjectMapper() + mapper.enable(SerializationFeature.INDENT_OUTPUT) + mapper.registerModule(new JavaTimeModule()) + } + def "GET /api/MetadataResolvers/{resourceId}/Versions with non-existent resolver"() { when: def result = getAllMetadataResolverVersions('non-existent-resolver-id', String) @@ -107,6 +151,7 @@ class MetadataResolverControllerVersionEndpointsIntegrationTests extends Specifi } def "SHIBUI-1386"() { + given: MetadataResolver mr = new FileBackedHttpMetadataResolver(name: 'testme') mr = repository.save(mr) @@ -138,6 +183,7 @@ class MetadataResolverControllerVersionEndpointsIntegrationTests extends Specifi } def "SHIBUI-1500"() { + given: MetadataResolver mr = new FileBackedHttpMetadataResolver(name: 'shibui-1500') mr = repository.save(mr) @@ -154,6 +200,73 @@ class MetadataResolverControllerVersionEndpointsIntegrationTests extends Specifi (mrv1.getBody() as MetadataResolver).modifiedDate < (mrv2.getBody() as MetadataResolver).modifiedDate } + def "SHIBUI-1499"() { + given: + MetadataResolver mr = new FileBackedHttpMetadataResolver(name: 'shibui-1499') + mr = repository.save(mr) + + when: 'add a name id filter' + def filter = new NameIdFormatFilter(name: 'nameIDFilter').with { + it.nameIdFormatFilterTarget = new NameIdFormatFilterTarget().with { + it.nameIdFormatFilterTargetType = ENTITY + it.value = ['https://testme/sp'] + it + } + it + } + mr.addFilter(filter) + mr = repository.save(mr) + + def allVersions = getAllMetadataResolverVersions(mr.resourceId, List) + def mrv1 = getMetadataResolverForVersion(mr.resourceId, allVersions.body[0].id, MetadataResolver) + def mrv2 = getMetadataResolverForVersion(mr.resourceId, allVersions.body[1].id, MetadataResolver) + + then: + noExceptionThrown() + } + + def "SHIBUI-1501"() { + given: + def mr = new FileBackedHttpMetadataResolver(name: 'shibui-1501') + mr = repository.save(mr) + + when: 'add a filter' + EntityAttributesFilter filter = this.generator.entityAttributesFilter() + mr.addFilter(filter) + def resolver = (repository.save(mr) as MetadataResolver).withTraits AttributeReleaseAndOverrides + resolver.entityAttributesFilterIntoTransientRepresentation() + + def allVersions = getAllMetadataResolverVersions(mr.resourceId, List) + def mrv2 = getMetadataResolverForVersion(mr.resourceId, allVersions.body[1].id, MetadataResolver) + .body.withTraits AttributeReleaseAndOverrides + + then: + mrv2.metadataFilters.size() == 1 + mrv2.attributesRelease(0).size() == resolver.attributesRelease(0).size() + mrv2.overrides(0).size() == resolver.overrides(0).size() + mrv2.attributesRelease(0) == resolver.attributesRelease(0) + mrv2.overrides(0) == resolver.overrides(0) + } + + @Unroll + def "SHIBUI-1509 with #urlConstructionScheme"() { + MetadataResolver mr = new DynamicHttpMetadataResolver(name: randomAlphabetic(8)).with { + it.metadataRequestURLConstructionScheme = urlConstructionScheme + it + } + mr = repository.save(mr) + + when: + def allVersions = getAllMetadataResolverVersions(mr.resourceId, List) + def mrv1 = getMetadataResolverForVersion(mr.resourceId, allVersions.body[0].id, MetadataResolver) + + then: + noExceptionThrown() + + where: + urlConstructionScheme << [new RegexScheme(match: ".*"), new MetadataQueryProtocolScheme(), new TemplateScheme()] + } + private getAllMetadataResolverVersions(String resourceId, responseType) { this.restTemplate.getForEntity(resourceUriFor(ALL_VERSIONS_URI, resourceId), responseType) } @@ -170,3 +283,13 @@ class MetadataResolverControllerVersionEndpointsIntegrationTests extends Specifi String.format(uriTemplate, resourceId) } } + +trait AttributeReleaseAndOverrides { + List attributesRelease(int filterIndex) { + (this.metadataFilters[filterIndex] as EntityAttributesFilter).attributeRelease + } + + Map overrides(int filterIndex) { + (this.metadataFilters[filterIndex] as EntityAttributesFilter).relyingPartyOverrides + } +} diff --git a/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/MetadataFilterEnversVersioningTests.groovy b/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/MetadataFilterEnversVersioningTests.groovy index fe1e5eee4..6df7da461 100644 --- a/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/MetadataFilterEnversVersioningTests.groovy +++ b/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/MetadataFilterEnversVersioningTests.groovy @@ -1,6 +1,10 @@ package edu.internet2.tier.shibboleth.admin.ui.repository.envers +import com.fasterxml.jackson.databind.ObjectMapper +import com.fasterxml.jackson.databind.SerializationFeature +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration import edu.internet2.tier.shibboleth.admin.ui.configuration.EntitiesVersioningConfiguration import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration @@ -19,6 +23,8 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ResourceBackedMet import edu.internet2.tier.shibboleth.admin.ui.repository.FilterRepository import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolverVersionService +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.autoconfigure.domain.EntityScan import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest @@ -49,6 +55,22 @@ class MetadataFilterEnversVersioningTests extends Specification { @Autowired PlatformTransactionManager txMgr + @Autowired + AttributeUtility attributeUtility + + @Autowired + CustomPropertiesConfiguration customPropertiesConfiguration + + ObjectMapper mapper + TestObjectGenerator generator + + def setup() { + generator = new TestObjectGenerator(attributeUtility, customPropertiesConfiguration) + mapper = new ObjectMapper() + mapper.enable(SerializationFeature.INDENT_OUTPUT) + mapper.registerModule(new JavaTimeModule()) + } + def "test versioning of MetadataResolver with EntityRoleWhiteListFilter"() { when: 'Add initial filter' diff --git a/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/MetadataResolverEnversVersioningTests.groovy b/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/MetadataResolverEnversVersioningTests.groovy index 2ba81bcdf..b468a2ffa 100644 --- a/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/MetadataResolverEnversVersioningTests.groovy +++ b/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/MetadataResolverEnversVersioningTests.groovy @@ -54,7 +54,7 @@ class MetadataResolverEnversVersioningTests extends Specification { when: LocalDynamicMetadataResolver resolver = new LocalDynamicMetadataResolver(name: 'ldmr').with { - it.dynamicMetadataResolverAttributes = new DynamicMetadataResolverAttributes() + it.dynamicMetadataResolverAttributes = new DynamicMetadataResolverAttributes(refreshDelayFactor: 0.75) it } def resolverHistory = updateAndGetRevisionHistoryOfMetadataResolver(resolver, diff --git a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy index 51b35a461..75167259a 100644 --- a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy +++ b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy @@ -29,6 +29,9 @@ class SeleniumSIDETest extends Specification { def config = new DefaultConfig([] as String[]).with { if (System.properties.getProperty('webdriver.driver')) { it.driver = System.properties.getProperty('webdriver.driver') + if (it.driver == "chrome") { + it.addCliArgs('--disable-extensions') + } } else { it.driver = 'remote' it.remoteUrl = 'http://selenium-hub:4444/wd/hub' @@ -39,10 +42,14 @@ class SeleniumSIDETest extends Specification { } else { it.baseurl = "http://localhost:${this.randomPort}" } + if (System.properties.getProperty('webdriver.headless')) { + it.addCliArgs('--headless') + } it } def runner = new Runner() runner.varsMap.put('xmlUpload', Paths.get(this.class.getResource('/TestUpload.xml').toURI()).toString()) + runner.varsMap.put('SHIBUI950', Paths.get(this.class.getResource('/SHIBUI-950.xml').toURI()).toString()) main.setupRunner(runner, config, [] as String[]) expect: @@ -59,6 +66,9 @@ class SeleniumSIDETest extends Specification { def config = new DefaultConfig([] as String[]).with { if (System.properties.getProperty('webdriver.driver')) { it.driver = System.properties.getProperty('webdriver.driver') + if (it.driver == "chrome") { + it.addCliArgs('--disable-extensions') + } } else { it.driver = 'remote' it.remoteUrl = 'http://selenium-hub:4444/wd/hub' @@ -85,8 +95,16 @@ class SeleniumSIDETest extends Specification { assert result.level.exitCode == 0 + cleanup: + runner.getWrappedDriver().quit() + + // TODO: Uncomment the below commented tests once they've been updated to use the new configuration screen where: name | file + 'SHIBUI-1364: Compare FBHTTPMP with filters' | '/SHIBUI-1364-1.side' + 'SHIBUI-1364: Compare FSMP with filters' | '/SHIBUI-1364-2.side' + 'SHIBUI-1364: Compare LDMP with filters' | '/SHIBUI-1364-3.side' + 'SHIBUI-1364: Compare DHTTPMP with filters' | '/SHIBUI-1364-4.side' 'SHIBUI-1281: Metadata Source Dashboard' | '/SHIBUI-1281.side' 'SHIBUI-1311: Metadata Provider Dashboard' | '/SHIBUI-1311.side' 'SHIBUI-950: Metadata Source from XML w/ digest' | '/SHIBUI-950.side' @@ -104,6 +122,11 @@ class SeleniumSIDETest extends Specification { 'SHIBUI-1385: Restore a metadata source version' | '/SHIBUI-1385-1.side' 'SHIBUI-1385: Restore a metadata provider version' | '/SHIBUI-1385-2.side' 'SHIBUI-1391: Regex Validation' | '/SHIBUI-1391.side' + 'SHIBUI-1407: Metadata source comparison highlights' | '/SHIBUI-1407-1.side' + 'SHIBUI-1407: Metadata provider comparison highlights' | '/SHIBUI-1407-2.side' + 'SHIBUI-1503: Non-admin can create metadata source' | '/SHIBUI-1503-1.side' + 'SHIBUI-1503: User can be deleted' | '/SHIBUI-1503-2.side' + 'SHIBUI-1503: User can be enabled' | '/SHIBUI-1503-3.side' } } diff --git a/backend/src/integration/resources/SHIBUI-1281.side b/backend/src/integration/resources/SHIBUI-1281.side index 00502648f..7b66e3fd1 100644 --- a/backend/src/integration/resources/SHIBUI-1281.side +++ b/backend/src/integration/resources/SHIBUI-1281.side @@ -1768,10 +1768,11 @@ "id": "3baa7bd3-55c0-4d10-8aa3-c0daa63ec4d4", "comment": "", "command": "assertText", - "target": "css=.px-3 > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", "targets": [ - ["css=.px-3 > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", "css:finder"], - ["xpath=//summary-property/div/span", "xpath:position"], + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -1779,34 +1780,35 @@ "id": "0d355ff0-0449-49a7-ae75-14d7c405b97c", "comment": "", "command": "assertText", - "target": "css=.px-3:nth-child(2) > summary-property:nth-child(2) tr:nth-child(2) > td:nth-child(1)", + "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "targets": [ - ["css=.px-3:nth-child(2) > summary-property:nth-child(2) tr:nth-child(2) > td:nth-child(1)", "css:finder"], - ["xpath=//div[2]/section[2]/summary-property/div/table/tbody/tr[2]/td", "xpath:position"], - ["xpath=//td[contains(.,'http://test.org/assert2')]", "xpath:innerText"] + ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] ], "value": "http://test.org/assert2" }, { "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=summary-property:nth-child(2) > .mb-3 > .list-unstyled > li:nth-child(5)", + "target": "css=array-property:nth-child(8) .border-0", "targets": [ - ["css=summary-property:nth-child(2) > .mb-3 > .list-unstyled > li:nth-child(5)", "css:finder"], - ["xpath=//li[5]", "xpath:position"], - ["xpath=//li[contains(.,'somethingElse')]", "xpath:innerText"] + ["css=array-property:nth-child(8) .border-0", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:idRelative"], + ["xpath=//section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:position"] ], "value": "somethingElse" }, { "id": "18636780-2feb-458f-97be-cf4a625b22e1", "comment": "", "command": "assertText", - "target": "css=summary-property:nth-child(10) .d-block:nth-child(2)", + "target": "css=.d-flex:nth-child(5) > .py-2 > span", "targets": [ - ["css=summary-property:nth-child(10) .d-block:nth-child(2)", "css:finder"], - ["xpath=//summary-property[10]/div/span", "xpath:position"] + ["css=.d-flex:nth-child(5) > .py-2 > span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[9]/div/div[2]/object-property/array-property/div/div[5]/div/span", "xpath:idRelative"], + ["xpath=//div/div[5]/div/span", "xpath:position"] ], - "value": "true" + "value": "True" }, { "id": "1406d7e4-907d-4359-8de8-a40206f0993e", "comment": "", @@ -1942,6 +1944,13 @@ "target": "css=td:nth-child(2)", "targets": [], "value": "" + }, { + "id": "3e7de570-9ff8-4dfe-9eaa-3417f3172d49", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1311.side b/backend/src/integration/resources/SHIBUI-1311.side index fac8ba2d2..f02c49782 100644 --- a/backend/src/integration/resources/SHIBUI-1311.side +++ b/backend/src/integration/resources/SHIBUI-1311.side @@ -546,10 +546,11 @@ "id": "52f5680c-c63d-411e-8332-52901f12ea3b", "comment": "", "command": "assertText", - "target": "css=.px-3:nth-child(1) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "targets": [ - ["css=.px-3:nth-child(1) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", "css:finder"], - ["xpath=//summary-property/div/span", "xpath:position"], + ["css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], "value": "Test Metadata Provider" @@ -557,10 +558,11 @@ "id": "67ff44aa-1efd-4b13-a0e9-3648a09911dd", "comment": "", "command": "assertText", - "target": "css=.px-3:nth-child(2) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "targets": [ - ["css=.px-3:nth-child(2) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[2]/summary-property/div/span", "xpath:position"], + ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123')]", "xpath:innerText"] ], "value": "123" @@ -575,27 +577,56 @@ ], "value": "" }, { - "id": "1067b0b4-8aff-4972-b6f5-e4479eca9150", + "id": "563d35c7-65c9-4d10-9e0f-87d8fa31a036", "comment": "", - "command": "waitForElementPresent", - "target": "css=.badge-success", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "8ae5598c-a4b0-4816-859a-d30f38029f65", + "comment": "", + "command": "click", + "target": "linkText=Dashboard", + "targets": [ + ["linkText=Dashboard", "linkText"], + ["css=.nav-item > .nav-link", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], + ["xpath=//li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "dcc49d9d-c0c6-41e0-9683-8e5d6271b3e9", + "comment": "", + "command": "click", + "target": "linkText=Metadata Providers", "targets": [ - ["css=.badge > span", "css:finder"], - ["xpath=//span/span", "xpath:position"] + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] ], + "value": "" + }, { + "id": "c0acbec5-58ad-43de-837c-c40c2769fdd6", + "comment": "", + "command": "waitForElementVisible", + "target": "css=td:nth-child(2)", + "targets": [], "value": "10000" }, { "id": "f48dd1b5-607a-485b-b1d5-03301f99b9ce", "comment": "", "command": "assertText", - "target": "linkText=Test Metadata Provider", + "target": "css=td:nth-child(2)", "targets": [ - ["linkText=Test Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/4cc9924f-fd9e-4ef3-bf57-3b24eec9f27f/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] + ["css=td:nth-child(2)", "css:finder"], + ["xpath=//td[2]", "xpath:position"], + ["xpath=//td[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], "value": "Test Metadata Provider" }, { @@ -624,11 +655,14 @@ "id": "211711a2-0af5-4f5e-a427-812c2de0264d", "comment": "", "command": "click", - "target": "css=.fa-plus-circle", + "target": "id=addNewDropdown", "targets": [ - ["css=.fa-plus-circle", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/i", "xpath:idRelative"], - ["xpath=//i", "xpath:position"] + ["id=addNewDropdown", "id"], + ["css=#addNewDropdown", "css:finder"], + ["xpath=//button[@id='addNewDropdown']", "xpath:attributes"], + ["xpath=//div[@id='navbar']/ul/li/button", "xpath:idRelative"], + ["xpath=//li/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { @@ -645,25 +679,19 @@ ], "value": "" }, { - "id": "664722f5-86a5-49a8-b60e-fac67544fbea", + "id": "6b776e7b-87ec-4a61-bb51-face4b5b8c97", "comment": "", - "command": "waitForElementVisible", - "target": "id=/name", + "command": "pause", + "target": "2000", "targets": [], - "value": "10000" + "value": "" }, { - "id": "6437379e-d34f-479e-82f1-bf52654a95cb", + "id": "664722f5-86a5-49a8-b60e-fac67544fbea", "comment": "", - "command": "click", + "command": "waitForElementEditable", "target": "id=/name", - "targets": [ - ["id=/name", "id"], - ["name=field37", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "" + "targets": [], + "value": "10000" }, { "id": "79471f9f-e04f-4d98-8e78-f8f554d36821", "comment": "", @@ -707,19 +735,6 @@ "target": "id=/xmlId", "targets": [], "value": "10000" - }, { - "id": "5795f70f-79e1-4b45-9c38-ef96d5197e70", - "comment": "", - "command": "click", - "target": "id=/xmlId", - "targets": [ - ["id=/xmlId", "id"], - ["name=field43", "name"], - ["css=#\\/xmlId", "css:finder"], - ["xpath=//input[@id='/xmlId']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "" }, { "id": "88a910a8-1e02-400a-9875-c76d0095aa57", "comment": "", @@ -916,6 +931,48 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" + }, { + "id": "8b702597-90a0-464d-90e6-99c0f0de3c3d", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "c8b7c426-9afc-4fb0-8c09-211ae9ba0a62", + "comment": "", + "command": "click", + "target": "linkText=Dashboard", + "targets": [ + ["linkText=Dashboard", "linkText"], + ["css=.nav-item > .nav-link", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], + ["xpath=//li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "0ddad000-2e43-46f6-9558-6cb001a465dc", + "comment": "", + "command": "click", + "target": "linkText=Metadata Providers", + "targets": [ + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "25583134-24c4-4fab-9a11-7e4cf0c05f1a", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" }, { "id": "1675c12e-8951-4d07-87b1-15e280699d66", "comment": "", @@ -991,6 +1048,13 @@ ["xpath=//tr[2]/td[6]/span/span", "xpath:position"] ], "value": "Disabled" + }, { + "id": "57d0e204-6c28-4be5-9888-28f8d7738508", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1333.side b/backend/src/integration/resources/SHIBUI-1333.side index 78143b150..2b2cde739 100644 --- a/backend/src/integration/resources/SHIBUI-1333.side +++ b/backend/src/integration/resources/SHIBUI-1333.side @@ -1768,10 +1768,11 @@ "id": "3baa7bd3-55c0-4d10-8aa3-c0daa63ec4d4", "comment": "", "command": "assertText", - "target": "css=.px-3 > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", "targets": [ - ["css=.px-3 > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", "css:finder"], - ["xpath=//summary-property/div/span", "xpath:position"], + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -1779,34 +1780,35 @@ "id": "0d355ff0-0449-49a7-ae75-14d7c405b97c", "comment": "", "command": "assertText", - "target": "css=.px-3:nth-child(2) > summary-property:nth-child(2) tr:nth-child(2) > td:nth-child(1)", + "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "targets": [ - ["css=.px-3:nth-child(2) > summary-property:nth-child(2) tr:nth-child(2) > td:nth-child(1)", "css:finder"], - ["xpath=//div[2]/section[2]/summary-property/div/table/tbody/tr[2]/td", "xpath:position"], - ["xpath=//td[contains(.,'http://test.org/assert2')]", "xpath:innerText"] + ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] ], "value": "http://test.org/assert2" }, { "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=summary-property:nth-child(2) > .mb-3 > .list-unstyled > li:nth-child(5)", + "target": "css=array-property:nth-child(8) .border-0", "targets": [ - ["css=summary-property:nth-child(2) > .mb-3 > .list-unstyled > li:nth-child(5)", "css:finder"], - ["xpath=//li[5]", "xpath:position"], - ["xpath=//li[contains(.,'somethingElse')]", "xpath:innerText"] + ["css=array-property:nth-child(8) .border-0", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:idRelative"], + ["xpath=//section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:position"] ], "value": "somethingElse" }, { "id": "18636780-2feb-458f-97be-cf4a625b22e1", "comment": "", "command": "assertText", - "target": "css=summary-property:nth-child(10) .d-block:nth-child(2)", + "target": "css=.d-flex:nth-child(5) > .py-2 > span", "targets": [ - ["css=summary-property:nth-child(10) .d-block:nth-child(2)", "css:finder"], - ["xpath=//summary-property[10]/div/span", "xpath:position"] + ["css=.d-flex:nth-child(5) > .py-2 > span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[9]/div/div[2]/object-property/array-property/div/div[5]/div/span", "xpath:idRelative"], + ["xpath=//div/div[5]/div/span", "xpath:position"] ], - "value": "true" + "value": "True" }, { "id": "1406d7e4-907d-4359-8de8-a40206f0993e", "comment": "", @@ -2091,16 +2093,11 @@ ], "value": "True" }, { - "id": "cf6660cb-2086-452f-a5e5-ad64db784d92", + "id": "8872eadd-b15a-48d3-8334-a54a3fa14e6d", "comment": "", - "command": "click", - "target": "css=.btn:nth-child(4) > translate-i18n", - "targets": [ - ["css=.btn:nth-child(4) > translate-i18n", "css:finder"], - ["xpath=//div[@id='header']/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Back to Top')]", "xpath:innerText"] - ], + "command": "close", + "target": "", + "targets": [], "value": "" }] }], diff --git a/backend/src/integration/resources/SHIBUI-1334-1.side b/backend/src/integration/resources/SHIBUI-1334-1.side index 7ffb79675..80869679b 100644 --- a/backend/src/integration/resources/SHIBUI-1334-1.side +++ b/backend/src/integration/resources/SHIBUI-1334-1.side @@ -1768,10 +1768,11 @@ "id": "3baa7bd3-55c0-4d10-8aa3-c0daa63ec4d4", "comment": "", "command": "assertText", - "target": "css=.px-3 > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", "targets": [ - ["css=.px-3 > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", "css:finder"], - ["xpath=//summary-property/div/span", "xpath:position"], + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -1779,34 +1780,35 @@ "id": "0d355ff0-0449-49a7-ae75-14d7c405b97c", "comment": "", "command": "assertText", - "target": "css=.px-3:nth-child(2) > summary-property:nth-child(2) tr:nth-child(2) > td:nth-child(1)", + "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "targets": [ - ["css=.px-3:nth-child(2) > summary-property:nth-child(2) tr:nth-child(2) > td:nth-child(1)", "css:finder"], - ["xpath=//div[2]/section[2]/summary-property/div/table/tbody/tr[2]/td", "xpath:position"], - ["xpath=//td[contains(.,'http://test.org/assert2')]", "xpath:innerText"] + ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] ], "value": "http://test.org/assert2" }, { "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=summary-property:nth-child(2) > .mb-3 > .list-unstyled > li:nth-child(5)", + "target": "css=array-property:nth-child(8) .border-0", "targets": [ - ["css=summary-property:nth-child(2) > .mb-3 > .list-unstyled > li:nth-child(5)", "css:finder"], - ["xpath=//li[5]", "xpath:position"], - ["xpath=//li[contains(.,'somethingElse')]", "xpath:innerText"] + ["css=array-property:nth-child(8) .border-0", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:idRelative"], + ["xpath=//section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:position"] ], "value": "somethingElse" }, { "id": "18636780-2feb-458f-97be-cf4a625b22e1", "comment": "", "command": "assertText", - "target": "css=summary-property:nth-child(10) .d-block:nth-child(2)", + "target": "css=.d-flex:nth-child(5) > .py-2 > span", "targets": [ - ["css=summary-property:nth-child(10) .d-block:nth-child(2)", "css:finder"], - ["xpath=//summary-property[10]/div/span", "xpath:position"] + ["css=.d-flex:nth-child(5) > .py-2 > span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[9]/div/div[2]/object-property/array-property/div/div[5]/div/span", "xpath:idRelative"], + ["xpath=//div/div[5]/div/span", "xpath:position"] ], - "value": "true" + "value": "True" }, { "id": "1406d7e4-907d-4359-8de8-a40206f0993e", "comment": "", @@ -2090,56 +2092,6 @@ ["xpath=//section[8]/div/div[2]/object-property/array-property/div/div/div[3]/div/span", "xpath:position"] ], "value": "True" - }, { - "id": "cf6660cb-2086-452f-a5e5-ad64db784d92", - "comment": "", - "command": "click", - "target": "css=.btn:nth-child(4) > translate-i18n", - "targets": [ - ["css=.btn:nth-child(4) > translate-i18n", "css:finder"], - ["xpath=//div[@id='header']/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Back to Top')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "6a183f25-1a9c-4774-a2cc-975a641ecef7", - "comment": "", - "command": "click", - "target": "css=.btn-link:nth-child(1) > translate-i18n", - "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "c0c0f9e1-af95-47b0-8aa8-ed141735d83b", - "comment": "", - "command": "click", - "target": "css=.breadcrumb-item > a", - "targets": [ - ["css=.breadcrumb-item > a", "css:finder"], - ["xpath=//a[contains(text(),'Dashboard')]", "xpath:link"], - ["xpath=(//a[contains(@href, '/dashboard')])[2]", "xpath:href"], - ["xpath=//ol/li/a", "xpath:position"] - ], - "value": "" - }, { - "id": "2536386b-315e-4b39-b9a7-badcfd0dfbb1", - "comment": "", - "command": "click", - "target": "linkText=Test Provider", - "targets": [ - ["linkText=Test Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/resolver/5916c370-370b-4fae-94c2-a9a9675ae95b/configuration/options')]", "xpath:href"], - ["xpath=//td/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Provider')]", "xpath:innerText"] - ], - "value": "" }, { "id": "2c46cdcd-d5a5-47fe-aa7b-0120fd2fcfc9", "comment": "", @@ -2155,16 +2107,10 @@ }, { "id": "762e5039-7e5b-4a90-9db5-887b4ee8b625", "comment": "", - "command": "waitForElementEditable", - "target": "id=/serviceProviderName", - "targets": [ - ["id=/serviceProviderName", "id"], - ["name=field93", "name"], - ["css=#\\/serviceProviderName", "css:finder"], - ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "10000" + "command": "pause", + "target": "5000", + "targets": [], + "value": "" }, { "id": "99731068-2016-4a7f-8a38-febfb711d027", "comment": "", @@ -2445,6 +2391,13 @@ ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property/div/span[3]", "xpath:position"] ], "value": "Display Name" + }, { + "id": "c88d3154-c810-47cd-b8d8-48e705bad0f4", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1334-2.side b/backend/src/integration/resources/SHIBUI-1334-2.side index 943053225..b9d3d60fb 100644 --- a/backend/src/integration/resources/SHIBUI-1334-2.side +++ b/backend/src/integration/resources/SHIBUI-1334-2.side @@ -539,10 +539,11 @@ "id": "52f5680c-c63d-411e-8332-52901f12ea3b", "comment": "", "command": "assertText", - "target": "css=.px-3:nth-child(1) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "targets": [ - ["css=.px-3:nth-child(1) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", "css:finder"], - ["xpath=//summary-property/div/span", "xpath:position"], + ["css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], "value": "Test Metadata Provider" @@ -550,10 +551,11 @@ "id": "67ff44aa-1efd-4b13-a0e9-3648a09911dd", "comment": "", "command": "assertText", - "target": "css=.px-3:nth-child(2) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "targets": [ - ["css=.px-3:nth-child(2) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[2]/summary-property/div/span", "xpath:position"], + ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123')]", "xpath:innerText"] ], "value": "123" @@ -567,11 +569,53 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" + }, { + "id": "f72d07d6-e123-4698-a303-62a522ca45a1", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "debd4893-7551-4a7b-9e49-15aa89bf487f", + "comment": "", + "command": "click", + "target": "linkText=Dashboard", + "targets": [ + ["linkText=Dashboard", "linkText"], + ["css=.nav-item > .nav-link", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], + ["xpath=//li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "650390b8-3dac-46fe-b4f3-fbe3784afac9", + "comment": "", + "command": "click", + "target": "linkText=Metadata Providers", + "targets": [ + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5886b5f7-440e-4430-910c-9e1c4e4a353f", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" }, { "id": "1067b0b4-8aff-4972-b6f5-e4479eca9150", "comment": "", "command": "waitForElementPresent", - "target": "css=.badge-success", + "target": "linkText=Test Metadata Provider", "targets": [ ["css=.badge > span", "css:finder"], ["xpath=//span/span", "xpath:position"] @@ -700,28 +744,23 @@ "id": "cf005a45-74ae-4f7a-a53c-ed59d63f7114", "comment": "", "command": "click", - "target": "linkText=Test Metadata Provider", + "target": "linkText=Version History", "targets": [ - ["linkText=Test Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/ae086029-5871-4951-bcf0-8903d7a1a1f7/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/2cfd9632-9f59-42fc-9ee8-e75dde48fcf9/configuration/history')]", "xpath:href"], + ["xpath=//div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'  Version History')]", "xpath:innerText"] ], "value": "" }, { "id": "ea880e6a-498a-427a-bc08-8058137d62e0", "comment": "", - "command": "click", - "target": "css=.btn-link:nth-child(1)", - "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] - ], - "value": "" + "command": "waitForElementVisible", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [], + "value": "30000" }, { "id": "c223e329-733c-41eb-9e85-c6f69a840179", "comment": "", @@ -1005,35 +1044,37 @@ "id": "c3ad6c24-736a-492a-8952-b368e123d8e1", "comment": "", "command": "waitForElementVisible", - "target": "linkText=Test Metadata Provider", - "targets": [], + "target": "linkText=Version History", + "targets": [ + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/2cfd9632-9f59-42fc-9ee8-e75dde48fcf9/configuration/history')]", "xpath:href"], + ["xpath=//div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'  Version History')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "8868c054-2e6a-403e-ba2b-499a56730d71", "comment": "", "command": "click", - "target": "linkText=Test Metadata Provider", + "target": "linkText=Version History", "targets": [ - ["linkText=Test Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/eb0ee617-33e2-4a31-83a5-7c42515c3b4f/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/2cfd9632-9f59-42fc-9ee8-e75dde48fcf9/configuration/history')]", "xpath:href"], + ["xpath=//div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'  Version History')]", "xpath:innerText"] ], "value": "" }, { "id": "0092cd5c-a885-4a48-a233-b3af447b02bc", "comment": "", - "command": "click", - "target": "css=.btn-link:nth-child(1)", - "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] - ], - "value": "" + "command": "waitForElementVisible", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [], + "value": "30000" }, { "id": "2cfe222d-a506-4f2b-8840-4b4a76cf2bfb", "comment": "", @@ -1114,6 +1155,13 @@ ["xpath=//object-property/object-property/primitive-property[5]/div/span[2]", "xpath:position"] ], "value": "false" + }, { + "id": "a77b2cf6-c88d-458b-9421-2745634180a7", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1335-1.side b/backend/src/integration/resources/SHIBUI-1335-1.side index 68908b777..db15623ec 100644 --- a/backend/src/integration/resources/SHIBUI-1335-1.side +++ b/backend/src/integration/resources/SHIBUI-1335-1.side @@ -571,20 +571,6 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "12673aa7-fc4e-4877-9842-a9d88dbc2d97", - "comment": "", - "command": "click", - "target": "linkText=File Backed HTTP Metadata Provider", - "targets": [ - ["linkText=File Backed HTTP Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'File Backed HTTP Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/da22a0b7-40d7-418c-bbe9-7ba4c37d3905/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'File Backed HTTP Metadata Provider')]", "xpath:innerText"] - ], - "value": "" }, { "id": "daa2d46a-d238-4a48-aca7-0f34c9b93d5f", "comment": "", @@ -1630,21 +1616,23 @@ "id": "100902ee-6d6e-4148-a69b-b37746a4ad6e", "comment": "", "command": "assertText", - "target": "css=tr:nth-child(1) > .td-lg:nth-child(3)", + "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "targets": [ - ["css=tr:nth-child(1) > .td-lg:nth-child(3)", "css:finder"], - ["xpath=//td[3]", "xpath:position"], - ["xpath=//td[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] + ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] ], "value": "Entity Attributes Filter" }, { "id": "9cc5dbab-bb39-455d-9338-6bdd054841e0", "comment": "", "command": "click", - "target": "css=tr:nth-child(1) .fa-arrow-circle-down", + "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", "targets": [ - ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], - ["xpath=//button[2]/i", "xpath:position"] + ["css=.list-group-item:nth-child(1) .btn:nth-child(2)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/div/button[2]", "xpath:idRelative"], + ["xpath=//button[2]", "xpath:position"] ], "value": "" }, { @@ -1658,7 +1646,7 @@ "id": "c9d498da-9f59-40ae-b5d4-cae397a13766", "comment": "", "command": "assertText", - "target": "css=tr:nth-child(1) > .td-lg:nth-child(3)", + "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "targets": [ ["css=tr:nth-child(1) > .td-lg:nth-child(3)", "css:finder"], ["xpath=//td[3]", "xpath:position"], @@ -1669,7 +1657,7 @@ "id": "1b05bac6-3412-4f4d-b168-0f7fb124e5d0", "comment": "", "command": "click", - "target": "css=tr:nth-child(1) .fa-arrow-circle-down", + "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", "targets": [ ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], ["xpath=//button[2]/i", "xpath:position"] @@ -1686,13 +1674,20 @@ "id": "441608df-24a3-4a60-bfce-50a90ff0ee16", "comment": "", "command": "assertText", - "target": "css=tr:nth-child(1) > .td-lg:nth-child(3)", + "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "targets": [ ["css=tr:nth-child(1) > .td-lg:nth-child(3)", "css:finder"], ["xpath=//td[3]", "xpath:position"], ["xpath=//td[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] ], "value": "Entity Attributes Filter" + }, { + "id": "13133548-1a88-4cc0-a861-7481794c65e0", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1335-2.side b/backend/src/integration/resources/SHIBUI-1335-2.side index a91a6a6d9..abc25a75c 100644 --- a/backend/src/integration/resources/SHIBUI-1335-2.side +++ b/backend/src/integration/resources/SHIBUI-1335-2.side @@ -302,34 +302,21 @@ "id": "27c0717e-f477-448b-8091-3bb2f3e6080f", "comment": "", "command": "waitForElementVisible", - "target": "css=td:nth-child(3)", + "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", "targets": [], "value": "10000" }, { "id": "20f7b832-ec52-450a-8224-399f0d4de0a0", "comment": "", "command": "assertText", - "target": "css=td:nth-child(3)", + "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", "targets": [ - ["css=td:nth-child(3)", "css:finder"], - ["xpath=//td[3]", "xpath:position"], - ["xpath=//td[contains(.,'FilesystemMetadataResolver')]", "xpath:innerText"] + ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'FilesystemMetadataResolver')]", "xpath:innerText"] ], "value": "FilesystemMetadataResolver" - }, { - "id": "7548f260-d328-4b47-97ed-cf6df394b6bc", - "comment": "", - "command": "click", - "target": "linkText=Filesystem Metadata Provider", - "targets": [ - ["linkText=Filesystem Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Filesystem Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/5ddf2624-1a30-4709-8873-35bbba4a372f/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Filesystem Metadata Provider')]", "xpath:innerText"] - ], - "value": "" }, { "id": "11d71ffb-3372-41cb-9832-72755ef298b5", "comment": "", @@ -580,6 +567,13 @@ ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] ], "value": "" + }, { + "id": "32c13864-5b11-4316-a27b-fd0042328924", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" }, { "id": "094ce013-936c-4479-9c5b-ba26db4d05c9", "comment": "", @@ -599,6 +593,13 @@ "target": "name=type", "targets": [], "value": "label=NameIDFormat" + }, { + "id": "c2598572-19aa-49d9-b336-f486a73e2579", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" }, { "id": "471c00e2-52d8-4cf7-a071-00b50c98bf9e", "comment": "", @@ -619,6 +620,13 @@ ["xpath=//input", "xpath:position"] ], "value": "Name ID Filter" + }, { + "id": "4cc11ab2-b8e3-4669-ad58-9c8e9664a8de", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" }, { "id": "ec49b089-a390-4cff-904f-363d3a57cb76", "comment": "", @@ -632,11 +640,18 @@ ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] ], "value": "" + }, { + "id": "7f746a0d-6006-4749-aa61-56b08b48c4fd", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" }, { "id": "56abaabc-0c96-428c-9070-62a79ba90c6c", "comment": "", "command": "click", - "target": "linkText=Entity ID", + "target": "css=.show > .dropdown-item:nth-child(1)", "targets": [ ["linkText=Entity ID", "linkText"], ["css=.show > .dropdown-item:nth-child(1)", "css:finder"], @@ -755,21 +770,23 @@ "id": "d722902b-5c10-45dc-99df-d96f46e78313", "comment": "", "command": "assertText", - "target": "css=tr:nth-child(1) > .td-lg:nth-child(4)", + "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", "targets": [ - ["css=tr:nth-child(1) > .td-lg:nth-child(4)", "css:finder"], - ["xpath=//td[4]", "xpath:position"], - ["xpath=//td[contains(.,'EntityAttributes')]", "xpath:innerText"] + ["css=.list-group-item:nth-child(1) span:nth-child(4)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] ], "value": "EntityAttributes" }, { "id": "c8d9bc5a-4b7e-4178-8aba-8b8280506c20", "comment": "", "command": "click", - "target": "css=tr:nth-child(1) .fa-arrow-circle-down", + "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", "targets": [ - ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], - ["xpath=//button[2]/i", "xpath:position"] + ["css=.list-group-item:nth-child(1) .btn:nth-child(2)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/div/button[2]", "xpath:idRelative"], + ["xpath=//button[2]", "xpath:position"] ], "value": "" }, { @@ -783,13 +800,20 @@ "id": "d7909094-96ce-4532-98b4-446cc013c9c8", "comment": "", "command": "assertText", - "target": "css=tr:nth-child(1) > .td-lg:nth-child(4)", + "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", "targets": [ ["css=tr:nth-child(1) > .td-lg:nth-child(4)", "css:finder"], ["xpath=//td[4]", "xpath:position"], ["xpath=//td[contains(.,'NameIDFormat')]", "xpath:innerText"] ], "value": "NameIDFormat" + }, { + "id": "d4c36d2c-c90e-45e6-ae49-a46b3c64a629", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1335-3.side b/backend/src/integration/resources/SHIBUI-1335-3.side index b45dde65e..90ac4f016 100644 --- a/backend/src/integration/resources/SHIBUI-1335-3.side +++ b/backend/src/integration/resources/SHIBUI-1335-3.side @@ -379,34 +379,21 @@ "id": "02e53e75-003b-42ce-8522-817d52ad16a3", "comment": "", "command": "waitForElementVisible", - "target": "css=td:nth-child(3)", + "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", "targets": [], "value": "10000" }, { "id": "7d059a57-60f7-4729-95af-b36619b98694", "comment": "", "command": "assertText", - "target": "css=td:nth-child(3)", + "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", "targets": [ - ["css=td:nth-child(3)", "css:finder"], - ["xpath=//td[3]", "xpath:position"], - ["xpath=//td[contains(.,'LocalDynamicMetadataResolver')]", "xpath:innerText"] + ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'LocalDynamicMetadataResolver')]", "xpath:innerText"] ], "value": "LocalDynamicMetadataResolver" - }, { - "id": "15912a4b-c036-4886-9577-312bf6816943", - "comment": "", - "command": "click", - "target": "linkText=Local Dynamic Metadata Provider", - "targets": [ - ["linkText=Local Dynamic Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Local Dynamic Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/dff5232d-66fb-4623-b25e-85c24df5ede4/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Local Dynamic Metadata Provider')]", "xpath:innerText"] - ], - "value": "" }, { "id": "feb08e76-e553-4505-bffe-07f3e77206d0", "comment": "", @@ -652,18 +639,19 @@ "id": "af17a3a7-f292-4c22-8f2f-3d3bf1938fc1", "comment": "", "command": "waitForElementVisible", - "target": "css=.td-lg:nth-child(4)", + "target": "css=span:nth-child(4)", "targets": [], "value": "10000" }, { "id": "2b9c0a43-fd7a-4ffa-bfef-a7fc41746e16", "comment": "", "command": "assertText", - "target": "css=.td-lg:nth-child(4)", + "target": "css=span:nth-child(4)", "targets": [ - ["css=.td-lg:nth-child(4)", "css:finder"], - ["xpath=//td[4]", "xpath:position"], - ["xpath=//td[contains(.,'EntityAttributes')]", "xpath:innerText"] + ["css=span:nth-child(4)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] ], "value": "EntityAttributes" }, { @@ -884,10 +872,11 @@ "id": "9f7e95cf-4dd5-415f-8577-a6f1bc54a85d", "comment": "", "command": "click", - "target": "css=tr:nth-child(1) .fa-arrow-circle-down", + "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", "targets": [ - ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], - ["xpath=//button[2]/i", "xpath:position"] + ["css=.list-group-item:nth-child(1) .btn:nth-child(2)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/div/button[2]", "xpath:idRelative"], + ["xpath=//button[2]", "xpath:position"] ], "value": "" }, { @@ -901,18 +890,19 @@ "id": "4a73b268-7d33-4e8c-8fa4-cb059be9768f", "comment": "", "command": "assertText", - "target": "css=tr:nth-child(1) > .td-lg:nth-child(4)", + "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", "targets": [ - ["css=tr:nth-child(1) > .td-lg:nth-child(4)", "css:finder"], - ["xpath=//td[4]", "xpath:position"], - ["xpath=//td[contains(.,'NameIDFormat')]", "xpath:innerText"] + ["css=.list-group-item:nth-child(1) span:nth-child(4)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] ], "value": "NameIDFormat" }, { "id": "63ac7307-0538-4c0d-8e98-2f05c767baaf", "comment": "", "command": "click", - "target": "css=tr:nth-child(1) .fa-arrow-circle-down", + "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", "targets": [ ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], ["xpath=//button[2]/i", "xpath:position"] @@ -929,13 +919,20 @@ "id": "ed8e07ff-0dce-47d6-8310-f1920bfe1367", "comment": "", "command": "assertText", - "target": "css=tr:nth-child(1) > .td-lg:nth-child(4)", + "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", "targets": [ ["css=tr:nth-child(1) > .td-lg:nth-child(4)", "css:finder"], ["xpath=//td[4]", "xpath:position"], ["xpath=//td[contains(.,'EntityAttributes')]", "xpath:innerText"] ], "value": "EntityAttributes" + }, { + "id": "3c9a53c4-b56a-4a4b-9fef-12951d198754", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1335-4.side b/backend/src/integration/resources/SHIBUI-1335-4.side index 5a633603f..bb7a0d9be 100644 --- a/backend/src/integration/resources/SHIBUI-1335-4.side +++ b/backend/src/integration/resources/SHIBUI-1335-4.side @@ -606,35 +606,22 @@ }, { "id": "ae27b108-a2f4-4d4b-b375-b582ccc0ef56", "comment": "", - "command": "waitForElementVisible", - "target": "css=td:nth-child(3)", + "command": "pause", + "target": "5000", "targets": [], - "value": "10000" + "value": "" }, { "id": "8c52471a-70f5-43aa-b670-6f8d22e18668", "comment": "", "command": "assertText", - "target": "css=td:nth-child(3)", + "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", "targets": [ - ["css=td:nth-child(3)", "css:finder"], - ["xpath=//td[3]", "xpath:position"], - ["xpath=//td[contains(.,'DynamicHttpMetadataResolver')]", "xpath:innerText"] + ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'DynamicHttpMetadataResolver')]", "xpath:innerText"] ], "value": "DynamicHttpMetadataResolver" - }, { - "id": "76629f3d-b0a3-40ac-b848-da22b0933c31", - "comment": "", - "command": "click", - "target": "linkText=Dynamic Http Metadata Provider", - "targets": [ - ["linkText=Dynamic Http Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Dynamic Http Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/f5bb61ac-54fe-427e-8b6b-2fcdd66ba175/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Dynamic Http Metadata Provider')]", "xpath:innerText"] - ], - "value": "" }, { "id": "31a8587f-8ac0-4512-98ec-6cd230dfb0b6", "comment": "", @@ -884,29 +871,33 @@ "id": "772bafa8-7089-4895-a66b-0d3c333c7245", "comment": "", "command": "waitForElementVisible", - "target": "css=.td-lg:nth-child(4)", + "target": "css=span:nth-child(4)", "targets": [], "value": "10000" }, { "id": "e9f4ddf4-db8a-4bda-88cc-66173717986c", "comment": "", "command": "assertText", - "target": "css=.td-lg:nth-child(4)", + "target": "css=span:nth-child(4)", "targets": [ - ["css=.td-lg:nth-child(4)", "css:finder"], - ["xpath=//td[4]", "xpath:position"], - ["xpath=//td[contains(.,'EntityAttributes')]", "xpath:innerText"] + ["css=span:nth-child(4)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] ], "value": "EntityAttributes" }, { "id": "9a99cc7c-55e1-4f62-bf18-e5936e8a98a7", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "linkText=Add Filter", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div[2]/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add Filter')]", "xpath:innerText"] + ["linkText=Add Filter", "linkText"], + ["css=#filters > .numbered-header .btn", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/e8eb0242-5291-4a51-86d6-43a1ef018981/filter/new')]", "xpath:href"], + ["xpath=//div[2]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'  Add Filter')]", "xpath:innerText"] ], "value": "" }, { @@ -1030,10 +1021,11 @@ "id": "a8ed628c-53f7-4551-9ce8-fef976cc96ce", "comment": "", "command": "click", - "target": "css=tr:nth-child(1) .fa-arrow-circle-down", + "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", "targets": [ - ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], - ["xpath=//button[2]/i", "xpath:position"] + ["css=.list-group-item:nth-child(1) .btn:nth-child(2)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/div/button[2]", "xpath:idRelative"], + ["xpath=//button[2]", "xpath:position"] ], "value": "" }, { @@ -1047,18 +1039,19 @@ "id": "be805934-2692-4a1c-a28f-afb3cc4eb5f4", "comment": "", "command": "assertText", - "target": "css=tr:nth-child(1) > .td-lg:nth-child(4)", + "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", "targets": [ - ["css=tr:nth-child(1) > .td-lg:nth-child(4)", "css:finder"], - ["xpath=//td[4]", "xpath:position"], - ["xpath=//td[contains(.,'NameIDFormat')]", "xpath:innerText"] + ["css=.list-group-item:nth-child(1) span:nth-child(4)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] ], "value": "NameIDFormat" }, { "id": "039aff93-c0de-40fb-a1c9-e22ffbf7e1da", "comment": "", "command": "click", - "target": "css=tr:nth-child(1) .fa-arrow-circle-down", + "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", "targets": [ ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], ["xpath=//button[2]/i", "xpath:position"] @@ -1075,13 +1068,20 @@ "id": "8f2da627-e8ad-473a-a71a-bec5dd1f0999", "comment": "", "command": "assertText", - "target": "css=tr:nth-child(1) > .td-lg:nth-child(4)", + "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", "targets": [ ["css=tr:nth-child(1) > .td-lg:nth-child(4)", "css:finder"], ["xpath=//td[4]", "xpath:position"], ["xpath=//td[contains(.,'EntityAttributes')]", "xpath:innerText"] ], "value": "EntityAttributes" + }, { + "id": "f81a35eb-de1b-49ac-a9bb-b528393e9f9e", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1352-1.side b/backend/src/integration/resources/SHIBUI-1352-1.side index bc65110d2..f59c15872 100644 --- a/backend/src/integration/resources/SHIBUI-1352-1.side +++ b/backend/src/integration/resources/SHIBUI-1352-1.side @@ -413,41 +413,42 @@ ], "value": "" }, { - "id": "4bd514f1-9dbf-431f-b797-c8666c7c0889", + "id": "6a002ac9-ba5c-4d57-bb87-05c3a5812469", "comment": "", "command": "waitForElementVisible", - "target": "css=tr > .text-right", - "targets": [ - ["css=tr > .text-right", "css:finder"], - ["xpath=//td[6]", "xpath:position"], - ["xpath=//td[contains(.,'Enabled')]", "xpath:innerText"] - ], - "value": "10000" + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "targets": [], + "value": "30000" }, { "id": "f0232386-eb88-4f6c-98fa-b9065ed422b7", "comment": "", "command": "assertText", - "target": "linkText=Test Local Dynamic Provider", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", "targets": [ - ["linkText=Test Local Dynamic Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Local Dynamic Provider')]", "xpath:link"], - ["xpath=(//a[contains(@href, '')])[10]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Local Dynamic Provider')]", "xpath:innerText"] + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] ], "value": "Test Local Dynamic Provider" }, { "id": "5e8993ae-47ee-4e65-b667-b291d7c934ec", "comment": "", "command": "assertText", - "target": "css=td:nth-child(3)", + "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", "targets": [ - ["css=td:nth-child(3)", "css:finder"], - ["xpath=//td[3]", "xpath:position"], - ["xpath=//td[contains(.,'LocalDynamicMetadataResolver')]", "xpath:innerText"] + ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'LocalDynamicMetadataResolver')]", "xpath:innerText"] ], "value": "LocalDynamicMetadataResolver" + }, { + "id": "0da0b69c-a807-4961-ad8d-ef5eb1ba667e", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1352-2.side b/backend/src/integration/resources/SHIBUI-1352-2.side index d3cfbd098..a6b4b2593 100644 --- a/backend/src/integration/resources/SHIBUI-1352-2.side +++ b/backend/src/integration/resources/SHIBUI-1352-2.side @@ -338,38 +338,43 @@ "id": "3718c9f8-edb3-412a-9819-f3adc27f1226", "comment": "", "command": "waitForElementVisible", - "target": "css=tr > .text-right", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", "targets": [ - ["css=tr > .text-right", "css:finder"], - ["xpath=//td[6]", "xpath:position"], - ["xpath=//td[contains(.,'Enabled')]", "xpath:innerText"] + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] ], "value": "10000" }, { "id": "44749988-e30f-4328-9f78-dc9eaafa891a", "comment": "", "command": "assertText", - "target": "linkText=Test File System Provider", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", "targets": [ - ["linkText=Test File System Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test File System Provider')]", "xpath:link"], - ["xpath=(//a[contains(@href, '')])[10]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test File System Provider')]", "xpath:innerText"] + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] ], "value": "Test File System Provider" }, { "id": "6ddcb09b-9d3b-4a13-bb95-1b79028ba2af", "comment": "", "command": "assertText", - "target": "css=td:nth-child(3)", + "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", "targets": [ - ["css=td:nth-child(3)", "css:finder"], - ["xpath=//td[3]", "xpath:position"], - ["xpath=//td[contains(.,'FilesystemMetadataResolver')]", "xpath:innerText"] + ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'FilesystemMetadataResolver')]", "xpath:innerText"] ], "value": "FilesystemMetadataResolver" + }, { + "id": "4ff97235-563b-4d71-80b7-a8b263aeb90b", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1361.side b/backend/src/integration/resources/SHIBUI-1361.side index a406e46d7..86f1b4bc4 100644 --- a/backend/src/integration/resources/SHIBUI-1361.side +++ b/backend/src/integration/resources/SHIBUI-1361.side @@ -81,9 +81,9 @@ ], "value": "" }, { - "id": "b49d6ed7-75ea-4be8-9a79-c7fd83287aa0", + "id": "55a876d6-70b7-46f6-aab1-7efacb79156f", "comment": "", - "command": "click", + "command": "waitForElementEditable", "target": "id=/name", "targets": [ ["id=/name", "id"], @@ -92,7 +92,7 @@ ["xpath=//input[@id='/name']", "xpath:attributes"], ["xpath=//input", "xpath:position"] ], - "value": "" + "value": "30000" }, { "id": "54dc29f7-bbe0-4c2b-a76e-e67a61f57a96", "comment": "", @@ -545,15 +545,25 @@ "id": "52f5680c-c63d-411e-8332-52901f12ea3b", "comment": "", "command": "assertText", - "target": "css=.px-3:nth-child(1) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", - "targets": [], + "target": "css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", + "targets": [ + ["css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'Test Metadata Provider')]", "xpath:innerText"] + ], "value": "Test Metadata Provider" }, { "id": "67ff44aa-1efd-4b13-a0e9-3648a09911dd", "comment": "", "command": "assertText", - "target": "css=.px-3:nth-child(2) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", - "targets": [], + "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", + "targets": [ + ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123')]", "xpath:innerText"] + ], "value": "123" }, { "id": "f5197d46-41a7-4ef2-ac40-19f80c953929", @@ -565,11 +575,18 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" + }, { + "id": "5cee98ef-08bf-4eea-940d-9c29ebb241ef", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" }, { "id": "1067b0b4-8aff-4972-b6f5-e4479eca9150", "comment": "", "command": "waitForElementPresent", - "target": "css=.badge-success", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", "targets": [ ["css=.badge > span", "css:finder"], ["xpath=//span/span", "xpath:position"] @@ -579,44 +596,37 @@ "id": "f48dd1b5-607a-485b-b1d5-03301f99b9ce", "comment": "", "command": "assertText", - "target": "linkText=Test Metadata Provider", - "targets": [], + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "targets": [ + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] + ], "value": "Test Metadata Provider" }, { "id": "5eccd4e9-a451-4ec8-a9e1-1e1f8e771677", "comment": "", "command": "assertText", - "target": "css=td:nth-child(3)", - "targets": [], + "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "targets": [ + ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'FileBackedHttpMetadataResolver')]", "xpath:innerText"] + ], "value": "FileBackedHttpMetadataResolver" }, { "id": "c768c2c1-09d4-46fe-8007-42fb4b3f4aaa", "comment": "", "command": "assertText", - "target": "css=td:nth-child(4)", - "targets": [], - "value": "admin" - }, { - "id": "8283ffc5-d46c-4a07-b95e-1534dfd34c02", - "comment": "", - "command": "click", - "target": "linkText=Test Metadata Provider", + "target": "css=.author", "targets": [ - ["linkText=Test Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/ae086029-5871-4951-bcf0-8903d7a1a1f7/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] + ["css=.author", "css:finder"], + ["xpath=//div[@id='header']/metadata-header/div/div/h5/span[2]", "xpath:idRelative"], + ["xpath=//span[2]", "xpath:position"], + ["xpath=//span[contains(.,'admin')]", "xpath:innerText"] ], - "value": "" - }, { - "id": "7a479ab7-f57d-426d-88ce-f11654733f45", - "comment": "", - "command": "waitForElementVisible", - "target": "css=.save-date", - "targets": [], - "value": "10000" + "value": "admin" }, { "id": "fe1e9381-048e-4948-8a9a-f58d8afba258", "comment": "", @@ -721,27 +731,6 @@ "target": "2000", "targets": [], "value": "" - }, { - "id": "cf005a45-74ae-4f7a-a53c-ed59d63f7114", - "comment": "", - "command": "click", - "target": "linkText=Test Metadata Provider", - "targets": [ - ["linkText=Test Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/ae086029-5871-4951-bcf0-8903d7a1a1f7/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "8e00ca0d-61e3-413d-8422-a09232049bab", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "ea880e6a-498a-427a-bc08-8058137d62e0", "comment": "", @@ -1042,14 +1031,18 @@ "id": "4e2831c6-d1ba-409d-a0cc-7a25dad75421", "comment": "", "command": "waitForElementVisible", - "target": "linkText=Test Metadata Provider", - "targets": [], + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "targets": [ + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] + ], "value": "10000" }, { "id": "8868c054-2e6a-403e-ba2b-499a56730d71", "comment": "", "command": "click", - "target": "linkText=Test Metadata Provider", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", "targets": [ ["linkText=Test Metadata Provider", "linkText"], ["css=td > a", "css:finder"], @@ -1287,6 +1280,13 @@ "target": "rightDateIsDate", "targets": [], "value": "true" + }, { + "id": "bc352f8a-9212-4985-80b8-19a3814b5bfd", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1364-1.side b/backend/src/integration/resources/SHIBUI-1364-1.side new file mode 100644 index 000000000..04508d504 --- /dev/null +++ b/backend/src/integration/resources/SHIBUI-1364-1.side @@ -0,0 +1,2234 @@ +{ + "id": "57bde36d-15e6-4364-b117-4fb36e1e4941", + "version": "2.0", + "name": "SHIBUI-1364-1", + "url": "http://localhost:10101", + "tests": [{ + "id": "d87336f9-5279-422f-bf4d-73403f34fc85", + "name": "SHIBUI-1364-1", + "commands": [{ + "id": "2f6aa07a-6a16-439f-8c16-9822163c7b61", + "comment": "", + "command": "open", + "target": "/login", + "targets": [], + "value": "" + }, { + "id": "f1c7d7be-3f12-43f3-8646-ba7294416beb", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "f293afde-ce8a-4b85-9a19-fb77f21df988", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "adminpass" + }, { + "id": "358c31ea-fab8-4709-9b25-d9e5e82e123c", + "comment": "", + "command": "click", + "target": "name=submit", + "targets": [ + ["name=submit", "name"], + ["css=td:nth-child(1) > input", "css:finder"], + ["xpath=//input[@name='submit']", "xpath:attributes"], + ["xpath=//tr[3]/td/input", "xpath:position"] + ], + "value": "" + }, { + "id": "fdea3214-f0e0-4f13-9d5d-e07ef92d71f1", + "comment": "", + "command": "click", + "target": "css=#addNewDropdown", + "targets": [ + ["css=#addNewDropdown > translate-i18n", "css:finder"], + ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], + ["xpath=//translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "2c40ac99-5e92-4c1c-923a-5a6100cadf43", + "comment": "", + "command": "click", + "target": "linkText=Metadata Provider", + "targets": [ + ["linkText=Metadata Provider", "linkText"], + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "7a42de04-995f-45aa-ba3f-095900a564ec", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "b2725ef6-b394-4f87-a2a5-031be085cedb", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field4", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "File Backed HTTP Metadata Provider" + }, { + "id": "ca36b018-a4df-43d1-9fbd-973d6653d3e0", + "comment": "", + "command": "select", + "target": "id=/type", + "targets": [ + ["id=/type", "id"], + ["name=field2", "name"], + ["css=#\\/type", "css:finder"], + ["xpath=//select[@id='/type']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=FileBackedHttpMetadataProvider" + }, { + "id": "e5d1d696-3029-4f9d-ad53-2e60b4789935", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[2]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "352f066f-c2af-4735-81b1-5440ba7a3432", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/xmlId", + "targets": [], + "value": "10000" + }, { + "id": "e7462621-f4e4-4512-b200-20afa5685fc6", + "comment": "", + "command": "type", + "target": "id=/xmlId", + "targets": [ + ["id=/xmlId", "id"], + ["name=field7", "name"], + ["css=#\\/xmlId", "css:finder"], + ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "12345" + }, { + "id": "7bfaa2a7-c66d-4e36-b1f4-1de30b02ebd0", + "comment": "", + "command": "type", + "target": "id=/metadataURL", + "targets": [ + ["id=/metadataURL", "id"], + ["name=field8", "name"], + ["css=#\\/metadataURL", "css:finder"], + ["xpath=//input[@id='/metadataURL']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "https://idp.unicon.net/idp/shibboleth" + }, { + "id": "047e1ea4-e28c-4b1b-86fc-ff19a3c0efcc", + "comment": "", + "command": "click", + "target": "id=/initializeFromBackupFile.false", + "targets": [ + ["id=/initializeFromBackupFile.false", "id"], + ["css=#\\/initializeFromBackupFile\\.false", "css:finder"], + ["xpath=//input[@id='/initializeFromBackupFile.false']", "xpath:attributes"], + ["xpath=//div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "34124b74-7b90-424a-9219-1f0bfbf06b70", + "comment": "", + "command": "type", + "target": "id=/backingFile", + "targets": [ + ["id=/backingFile", "id"], + ["name=field10", "name"], + ["css=#\\/backingFile", "css:finder"], + ["xpath=//input[@id='/backingFile']", "xpath:attributes"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "%{idp.home}/foo.txt" + }, { + "id": "91a96cbd-57f4-4dc2-8f75-eb3e96526ae7", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "0668032d-608b-4a01-9ac8-e4e2ac058294", + "comment": "", + "command": "click", + "target": "css=.btn-outline-secondary", + "targets": [ + ["css=.btn-outline-secondary", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "19657c78-782d-4046-abce-64093bd17fa7", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "35dfa0f8-c0f2-4356-a6b0-18b5dc35337b", + "comment": "", + "command": "click", + "target": "id=/backupFileInitNextRefreshDelay__option--1", + "targets": [ + ["id=/backupFileInitNextRefreshDelay__option--1", "id"], + ["css=#\\/backupFileInitNextRefreshDelay__option--1", "css:finder"], + ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], + ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b4d0a551-3bc1-466f-b204-ec7164af44ec", + "comment": "", + "command": "click", + "target": "id=/failFastInitialization.false", + "targets": [ + ["id=/failFastInitialization.false", "id"], + ["css=#\\/failFastInitialization\\.false", "css:finder"], + ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], + ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "bef80dbb-25a6-4381-8b0e-331faaeb4392", + "comment": "", + "command": "click", + "target": "id=/satisfyAnyPredicates.true", + "targets": [ + ["id=/satisfyAnyPredicates.true", "id"], + ["css=#\\/satisfyAnyPredicates\\.true", "css:finder"], + ["xpath=//input[@id='/satisfyAnyPredicates.true']", "xpath:attributes"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "d0af8425-5f4c-4037-a549-52553b828179", + "comment": "", + "command": "pause", + "target": "1000", + "targets": [], + "value": "" + }, { + "id": "9fe532ee-4ce6-4ff8-ab6c-ea92eb527ded", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "44e705a1-f284-4303-a0b6-c4bc9896c78d", + "comment": "", + "command": "pause", + "target": "1000", + "targets": [], + "value": "" + }, { + "id": "91c42709-f202-48eb-bd7f-389ec454b86b", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "824b4515-ae14-436e-a56f-d631ea9e1edc", + "comment": "", + "command": "click", + "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "targets": [ + ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "12ba0481-b236-495c-b2a3-a665c5eec502", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "9ee7065a-823e-4b4a-b212-0582eeaf7a00", + "comment": "", + "command": "click", + "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--0", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--0", "id"], + ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--0", "css:finder"], + ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li", "xpath:position"], + ["xpath=//li[contains(.,'PT0S')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1e063a3c-c3c9-4ab6-9e7b-a7fb4d785288", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "618cc5f1-417b-4bc6-9388-3238f2304904", + "comment": "", + "command": "click", + "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "targets": [ + ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "0b129e41-adb3-47ef-a2b4-34899ca6d8fb", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "a89f1b4d-10bd-48f7-9b97-865710cfe01f", + "comment": "", + "command": "click", + "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", "id"], + ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--2", "css:finder"], + ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "143b781c-56ae-48c6-a7f5-8c93953f6095", + "comment": "", + "command": "click", + "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], + ["name=field20", "name"], + ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "dcd01c7a-f733-4977-9cc2-e9084903e079", + "comment": "", + "command": "type", + "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], + ["name=field20", "name"], + ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "0.5" + }, { + "id": "b7522094-c53a-4e79-8c7c-e38a3b2615f4", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "faf43746-1293-437f-a1ce-63145f5d6135", + "comment": "", + "command": "pause", + "target": "1500", + "targets": [], + "value": "" + }, { + "id": "363af92e-0327-47b9-918c-1560adab40cc", + "comment": "", + "command": "click", + "target": "css=.btn-outline-secondary", + "targets": [ + ["css=.btn-outline-secondary", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "a14576bb-2d15-4e51-89c6-b8289311e58a", + "comment": "", + "command": "pause", + "target": "1500", + "targets": [], + "value": "" + }, { + "id": "a4470d6f-04a7-4c4b-8c1e-70cff2f35e8a", + "comment": "", + "command": "click", + "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", + "targets": [ + ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", "id"], + ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--1", "css:finder"], + ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], + ["xpath=//li[contains(.,'P14D')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "4530c1b4-8f27-4272-9633-c792a3a54f90", + "comment": "", + "command": "click", + "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "targets": [ + ["css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/metadataFilters/SignatureValidation/requireSignedRoot.parent']/label", "xpath:idRelative"], + ["xpath=//div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "10cd8cee-fc6a-4e5b-a11b-a7b0a9338f5d", + "comment": "", + "command": "type", + "target": "id=/metadataFilters/SignatureValidation/certificateFile", + "targets": [ + ["id=/metadataFilters/SignatureValidation/certificateFile", "id"], + ["name=field27", "name"], + ["css=#\\/metadataFilters\\/SignatureValidation\\/certificateFile", "css:finder"], + ["xpath=//input[@id='/metadataFilters/SignatureValidation/certificateFile']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "%{idp.home}/foo2.txt" + }, { + "id": "a3ce889f-0607-4071-bd39-25b169c30114", + "comment": "", + "command": "click", + "target": "css=div:nth-child(3) > sf-form-element .bg-light", + "targets": [ + ["css=div:nth-child(3) > sf-form-element .bg-light", "css:finder"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/fieldset-object/div/div/fieldset/div", "xpath:position"] + ], + "value": "" + }, { + "id": "f205ec23-b433-44bb-af80-e72330b4c7a3", + "comment": "", + "command": "click", + "target": "css=.fa-plus", + "targets": [ + ["css=.fa-plus", "css:finder"], + ["xpath=//array-component/div/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "4dae6914-ae68-45e2-b332-cc4c1ac71e43", + "comment": "", + "command": "select", + "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", + "targets": [], + "value": "label=SPSSODescriptor" + }, { + "id": "4b257d69-1948-4c5f-a88d-b1bfa8f2ba72", + "comment": "", + "command": "click", + "target": "css=option:nth-child(2)", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='1: md:SPSSODescriptor']", "xpath:attributes"], + ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d47fc8b5-4062-4813-90a8-cdc91b777f1d", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "442c5b8d-f108-488e-8779-06171f5081f6", + "comment": "", + "command": "select", + "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/1", + "targets": [], + "value": "label=AttributeAuthorityDescriptor" + }, { + "id": "42eddc22-9eed-41d1-aaee-2d4a1d933fa9", + "comment": "", + "command": "click", + "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(3)", + "targets": [ + ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(3)", "css:finder"], + ["xpath=(//option[@value='2: md:AttributeAuthorityDescriptor'])[2]", "xpath:attributes"], + ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/1']/option[3]", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "4ebbc08c-ee24-43d8-8c2d-b639a625189c", + "comment": "", + "command": "click", + "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeRolelessEntityDescriptors.parent']/label", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1c23c527-46e7-4fe6-8f60-37833af073c8", + "comment": "", + "command": "click", + "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeEmptyEntitiesDescriptors\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeEmptyEntitiesDescriptors\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeEmptyEntitiesDescriptors.parent']/label", "xpath:idRelative"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Remove Empty Entities Descriptors?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "ee3d0257-56e2-402d-8fef-c21c8e62b9fe", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "7cd861ea-d86c-4faa-a07b-c1508811b506", + "comment": "", + "command": "click", + "target": "css=.custom-control-label", + "targets": [ + ["css=.custom-control-label", "css:finder"], + ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Enable this service?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "0c112a41-8feb-42da-a58b-8fc04e9a3bf6", + "comment": "", + "command": "click", + "target": "css=.save", + "targets": [ + ["css=.save", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "daa2d46a-d238-4a48-aca7-0f34c9b93d5f", + "comment": "", + "command": "click", + "target": "css=.btn:nth-child(2) > translate-i18n", + "targets": [ + ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], + ["xpath=//div/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d86e9a98-a0a1-4696-b454-1bca1d01f9d0", + "comment": "", + "command": "click", + "target": "css=#filters .actions span", + "targets": [ + ["css=#filters .actions span", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], + ["xpath=//div/a/span", "xpath:position"], + ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "dc41b26d-b101-4ead-866f-482df0bfee04", + "comment": "", + "command": "select", + "target": "name=type", + "targets": [], + "value": "label=EntityAttributes" + }, { + "id": "49fe7508-4f42-4eae-a47d-85a0983efb64", + "comment": "", + "command": "click", + "target": "css=option:nth-child(2)", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "8a52ad88-b583-41b7-92a6-bdb185b03a06", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "b1c779b1-d3ed-47cc-bc88-e5c280161c32", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field37", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Entity Attributes Filter" + }, { + "id": "9ac14c43-206b-4a60-8e58-c4ce64efa2c8", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "a10a6faf-90cd-4713-8ea3-60c768ed935e", + "comment": "", + "command": "click", + "target": "id=/entityAttributesFilterTarget.valuedd", + "targets": [ + ["id=/entityAttributesFilterTarget.valuedd", "id"], + ["css=#\\/entityAttributesFilterTarget\\.valuedd", "css:finder"], + ["xpath=//button[@id='/entityAttributesFilterTarget.valuedd']", "xpath:attributes"], + ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1f54a508-0b40-4dc0-b6e0-706971fb19bf", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "1f2b93b8-23ae-4a9c-b015-96ca890ae150", + "comment": "", + "command": "click", + "target": "linkText=Regex", + "targets": [ + ["linkText=Regex", "linkText"], + ["css=.dropdown-item:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div/div/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b2a41370-db61-4bae-a5f7-a8c5e852e15e", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "5c2ed93d-3630-408c-bb89-0b2baffb73c0", + "comment": "", + "command": "click", + "target": "id=/entityAttributesFilterTarget.target", + "targets": [ + ["id=/entityAttributesFilterTarget.target", "id"], + ["name=script", "name"], + ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], + ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], + ["xpath=//div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "6dec176f-0c5a-4982-867e-087342c90987", + "comment": "", + "command": "sendKeys", + "target": "id=/entityAttributesFilterTarget.target", + "targets": [], + "value": "/foo.*/" + }, { + "id": "f4e6e8a5-0040-4aac-a0f9-9b49abbd9568", + "comment": "", + "command": "click", + "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], + ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "603aff60-cf79-4804-90c5-2ffd0f5ef550", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/signAssertion.parent']/label", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "9456ba02-3dd6-4305-a0d3-f031e1e79b16", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/dontSignResponse.parent']/label", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "a1ce4398-4f95-498c-b01b-2f25e1fd3380", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/turnOffEncryption.parent']/label", "xpath:idRelative"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "dcaa766a-3800-4412-9631-0f279e23bf41", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/useSha.parent']/label", "xpath:idRelative"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c7a9bd88-9198-4ce0-8ae0-618b90fd787a", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/ignoreAuthenticationMethod\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/ignoreAuthenticationMethod\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/ignoreAuthenticationMethod.parent']/label", "xpath:idRelative"], + ["xpath=//div[5]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Ignore any SP-Requested Authentication Method?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c806723d-9713-4710-96e2-6410b79895c0", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/omitNotBefore.parent']/label", "xpath:idRelative"], + ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1c7d678e-5b74-4542-bf6c-a64d0117f831", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/responderId", + "targets": [ + ["id=/relyingPartyOverrides/responderId", "id"], + ["name=field50", "name"], + ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], + ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "id-123" + }, { + "id": "027b4448-eaf6-4f24-ae2f-5b592db910ed", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1bb700ae-08eb-403c-b3ba-0090132b69ff", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "fd1af538-1b5b-4d6a-b56b-d56e7f01bb40", + "comment": "", + "command": "click", + "target": "css=.fa-caret-down", + "targets": [ + ["css=.fa-caret-down", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button/i", "xpath:idRelative"], + ["xpath=//auto-complete/div/div/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "6afaa45d-1beb-4f15-8810-278af7489657", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "cc233154-4159-425b-8ac5-761c26a0de15", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--0", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/0__option--0", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "d8e3df44-0db6-458e-b133-36b7ec08fbb7", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .btn", + "targets": [ + ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], + ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "3395ec88-2d19-4785-99f9-3921dddfba28", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "562c7f9f-1e55-432a-8fff-0cae15b23a33", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "c80afbe5-2c88-4207-b133-6d151fea12a8", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "f5f27af2-b869-4b99-a3d9-3efce014be06", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/1__option--1", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/1__option--1", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1__option--1", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/1__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "4e595806-b2c6-43c6-bd1f-78e659f795e4", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5e26a17f-98e4-4adc-b851-4e854228ebba", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "b717af46-a3c1-40f2-ac1a-2c7f84fbf33f", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "d07e6da7-ed28-4460-914a-eb355b3a2de3", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "4655a981-c5d6-4b48-aad2-77295dc37859", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/2__option--2", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/2__option--2", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2__option--2", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/2__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "9902d02a-d7f7-4424-92f4-2a6072916421", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "605d3970-c910-4bec-accd-d7c4d0334f91", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "df07e4c7-8e0f-4eed-ab58-42e2b5bcfc93", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "0ef4ae64-3b16-4488-b19e-629162a9c84d", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "cd34bc8a-564b-4d15-90c9-f09e12d7e078", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/3__option--3", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/3__option--3", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3__option--3", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/3__option--3']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ], + "value": "" + }, { + "id": "624fd275-3ee2-4cd0-890a-4ae22b152ed4", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "e6c3d2db-386e-4b9b-a160-c091b025c1b9", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/nameIdFormats/4']", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/4-container']/div/input", "xpath:idRelative"], + ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "nameIdFormat" + }, { + "id": "82093807-448e-4a25-96bf-ed1dfca77452", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "1acc3e01-45ae-4c6d-9291-165affb7306f", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "fcd7d891-5ea4-45a6-8554-4298ec5804c9", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "faf08fb6-7c62-465c-b198-6da8ef3a1dd5", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "9bb8951c-c932-4236-89d8-9d2c8d49a702", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "743e6d84-98b7-461a-8fb9-05826abb8e22", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "926e66e1-3bcb-41bd-a6a8-83ed90ceab59", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "81517bc9-7996-46be-9dfe-9eea57f0e616", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/1-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "8343153e-ade7-4713-a9f6-079b0bfbac44", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "8f00493c-94ef-4182-8423-5d23bd01136f", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/1__option--1", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/1__option--1", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1__option--1", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/1__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/1__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "7a3a49b4-4348-4318-a35c-ba0a2192e811", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "b9b5a336-2b99-4315-8c14-13ee1c5af2ed", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "c2f97ae8-fddf-4e48-b961-1d4154ceae9f", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/2-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "39a8ea0f-a57a-49b6-b640-7b608eb29b88", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "3dcbc6b1-2571-4ab8-9014-66b19727fe0a", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/2__option--2", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/2__option--2", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2__option--2", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/2__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/2__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "efad42c9-5d79-42f6-a348-54ba5fe59e9d", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "9a7b2bfe-8702-40be-a6fe-a76b9a01cdde", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/authenticationMethods/3']", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/3-container']/div/input", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "someOverride" + }, { + "id": "82bf7075-6128-4471-a631-c8e4c3525eea", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/forceAuthn.parent']/label", "xpath:idRelative"], + ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "4098e48d-eef1-42e8-a1a4-e4eb48f5f9bd", + "comment": "", + "command": "click", + "target": "css=.fa-check", + "targets": [ + ["css=.fa-check", "css:finder"], + ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], + ["xpath=//td[2]/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "2c3908a1-3fbf-4bbe-8611-fb8a87da1a66", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c49e62e6-f8b6-44b9-be12-5329e8bc5495", + "comment": "", + "command": "click", + "target": "linkText=Add Filter", + "targets": [ + ["linkText=Add Filter", "linkText"], + ["css=.btn-success", "css:finder"], + ["xpath=//a[contains(@href, '/metadata/provider/d71151a4-a27d-4cb9-bd96-882280454c4a/filter/new')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "097ea9f6-e75c-41a3-b4e9-a4a80a866802", + "comment": "", + "command": "select", + "target": "name=type", + "targets": [], + "value": "label=NameIDFormat" + }, { + "id": "9cf1a2b7-f951-4908-9ffe-dfcd3258a48d", + "comment": "", + "command": "click", + "target": "css=option:nth-child(3)", + "targets": [ + ["css=option:nth-child(3)", "css:finder"], + ["xpath=//option[@value='NameIDFormat']", "xpath:attributes"], + ["xpath=//option[3]", "xpath:position"], + ["xpath=//option[contains(.,'NameIDFormat')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "4a663db9-9f10-4b12-9cb9-61aa01ecc0c0", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "92fdc836-2479-4faa-9e3d-447f5b82cc11", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field65", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Name ID Format Filter" + }, { + "id": "563c9606-0174-4432-877a-ad769eb3206a", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "abfa17d5-ebfe-4bb2-b64a-ef5f127bac86", + "comment": "", + "command": "click", + "target": "id=/nameIdFormatFilterTarget.valuedd", + "targets": [ + ["id=/nameIdFormatFilterTarget.valuedd", "id"], + ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], + ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], + ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "43878e34-28cc-424f-9044-87b8cb61db03", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "6040112e-86c4-4e98-b258-79d7e61dfb6d", + "comment": "", + "command": "click", + "target": "linkText=Entity ID", + "targets": [ + ["linkText=Entity ID", "linkText"], + ["css=.show > .dropdown-item:nth-child(1)", "css:finder"], + ["xpath=//a[contains(text(),'Entity ID')]", "xpath:link"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "70eba7e8-d84f-4b65-b5e8-d1523514dd29", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "bba23377-23a1-46d5-b044-15047a08ee53", + "comment": "", + "command": "type", + "target": "id=/nameIdFormatFilterTarget.target", + "targets": [ + ["id=/nameIdFormatFilterTarget.target", "id"], + ["css=#\\/nameIdFormatFilterTarget\\.target", "css:finder"], + ["xpath=//input[@id='/nameIdFormatFilterTarget.target']", "xpath:attributes"], + ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], + ["xpath=//div/div/input", "xpath:position"] + ], + "value": "https://idp.unicon.net/idp/shibboleth" + }, { + "id": "6fbb57d1-0fc6-42bc-86ca-4a5fe872ea34", + "comment": "", + "command": "click", + "target": "css=.btn-success:nth-child(1)", + "targets": [ + ["css=.btn-success:nth-child(1)", "css:finder"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "fa75b464-10a7-43da-939e-550e88748eb6", + "comment": "", + "command": "click", + "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], + ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "a721538a-5f95-4567-8d7c-5851f67f3ae0", + "comment": "", + "command": "click", + "target": "css=#\\/removeExistingFormats\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/removeExistingFormats\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/removeExistingFormats.parent']/label", "xpath:idRelative"], + ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Remove Existing Formats?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "78c6d6fc-a3e6-4ae7-9f62-49b64c457232", + "comment": "", + "command": "click", + "target": "css=.array-add-button", + "targets": [ + ["css=.array-add-button", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1503abb6-b674-495f-922b-f2ba07bb46bd", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "76b5506e-ebd3-416b-9a2d-391d39b8b282", + "comment": "", + "command": "click", + "target": "css=.input-group-append > .btn", + "targets": [ + ["css=.input-group-append > .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/formats/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//auto-complete/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "e71b7c21-86c7-46e1-8451-4005940dbf02", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "ee812306-8d00-4162-9d92-eb598802f4bc", + "comment": "", + "command": "click", + "target": "id=/formats/0__option--0", + "targets": [ + ["id=/formats/0__option--0", "id"], + ["css=#\\/formats\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/formats/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/formats/0__listbox']/li", "xpath:idRelative"], + ["xpath=//datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "ddcda076-a6d1-4a6f-861d-c32642305841", + "comment": "", + "command": "click", + "target": "css=.array-add-button", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "da1e1b22-55cb-4934-9d0c-8955e5434289", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "1f3cca46-1bf0-469f-9ac5-6481c8447633", + "comment": "", + "command": "click", + "target": "css=#\\/formats\\/1-container .btn", + "targets": [ + ["css=#\\/formats\\/1-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='/formats/1-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "65b07bc0-3c1d-4eeb-b268-baa2f2a0992c", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "aa0cb8e5-a5b5-4956-91dc-d25ea30ff87a", + "comment": "", + "command": "click", + "target": "id=/formats/1__option--1", + "targets": [ + ["id=/formats/1__option--1", "id"], + ["css=#\\/formats\\/1__option--1", "css:finder"], + ["xpath=//li[@id='/formats/1__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/formats/1__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "233f96b6-032e-40c4-8232-dc65583830fc", + "comment": "", + "command": "click", + "target": "css=.array-add-button", + "targets": [ + ["css=.array-add-button", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "43200793-5c4c-47dd-93b7-7bdd138eb6d4", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "f313f186-80e1-42ea-9b19-c59efe66a92d", + "comment": "", + "command": "click", + "target": "css=#\\/formats\\/2-container .btn", + "targets": [ + ["css=#\\/formats\\/2-container .fa", "css:finder"], + ["xpath=//div[@id='/formats/2-container']/div/div/button/i", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "26e1228a-a453-4f79-bd7d-222f50e21b69", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "bf10f8f1-f5b8-43f5-b1d8-6e4e67e92621", + "comment": "", + "command": "click", + "target": "id=/formats/2__option--2", + "targets": [ + ["id=/formats/2__option--2", "id"], + ["css=#\\/formats\\/2__option--2", "css:finder"], + ["xpath=//li[@id='/formats/2__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/formats/2__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "be2cee3b-966a-47e8-8907-9d21bb63a61c", + "comment": "", + "command": "click", + "target": "css=.array-add-button", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "0502f5d7-bc0a-4b4c-b0d0-5cf159dd0492", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "823e4972-3bdd-4286-a22d-8805adef4f2c", + "comment": "", + "command": "click", + "target": "css=#\\/formats\\/3-container .btn", + "targets": [ + ["css=#\\/formats\\/3-container .fa", "css:finder"], + ["xpath=//div[@id='/formats/3-container']/div/div/button/i", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "55751a6d-974e-45cb-83fa-cea50fd6612c", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "3cba2ead-22cd-4bc9-b0ca-bb1f5ebb10a2", + "comment": "", + "command": "click", + "target": "id=/formats/3__option--3", + "targets": [ + ["id=/formats/3__option--3", "id"], + ["css=#\\/formats\\/3__option--3", "css:finder"], + ["xpath=//li[@id='/formats/3__option--3']", "xpath:attributes"], + ["xpath=//ul[@id='/formats/3__listbox']/li[4]", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ], + "value": "" + }, { + "id": "e793e30f-cefa-4a31-9a92-56c49c87b339", + "comment": "", + "command": "click", + "target": "css=.array-add-button", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "f0ae75e7-b2c0-49fa-9806-23f4f228e3e1", + "comment": "", + "command": "type", + "target": "id=/formats/4", + "targets": [ + ["id=/formats/4", "id"], + ["css=#\\/formats\\/4", "css:finder"], + ["xpath=//input[@id='/formats/4']", "xpath:attributes"], + ["xpath=//div[@id='/formats/4-container']/div/input", "xpath:idRelative"], + ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "name id format" + }, { + "id": "3a97e6c5-badb-45c8-b6e5-a7e8462ee77f", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c28d683a-552d-4752-aa89-465e33d60887", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "100902ee-6d6e-4148-a69b-b37746a4ad6e", + "comment": "", + "command": "assertText", + "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "targets": [ + ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] + ], + "value": "Entity Attributes Filter" + }, { + "id": "9cc5dbab-bb39-455d-9338-6bdd054841e0", + "comment": "", + "command": "click", + "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", + "targets": [ + ["css=.list-group-item:nth-child(1) .btn:nth-child(2)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/div/button[2]", "xpath:idRelative"], + ["xpath=//button[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "febfcea8-8f72-4a17-b1a8-b1e323c8cced", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "c9d498da-9f59-40ae-b5d4-cae397a13766", + "comment": "", + "command": "assertText", + "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "targets": [ + ["css=tr:nth-child(1) > .td-lg:nth-child(3)", "css:finder"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'Name ID Format Filter')]", "xpath:innerText"] + ], + "value": "Name ID Format Filter" + }, { + "id": "1b05bac6-3412-4f4d-b168-0f7fb124e5d0", + "comment": "", + "command": "click", + "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", + "targets": [ + ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], + ["xpath=//button[2]/i", "xpath:position"] + ], + "value": "" + }, { + "id": "4fdc2334-0b93-4f4c-b44e-80656f808f6d", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "441608df-24a3-4a60-bfce-50a90ff0ee16", + "comment": "", + "command": "assertText", + "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "targets": [ + ["css=tr:nth-child(1) > .td-lg:nth-child(3)", "css:finder"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] + ], + "value": "Entity Attributes Filter" + }, { + "id": "50677e6f-49ab-467c-bd04-ac6064445b87", + "comment": "", + "command": "click", + "target": "linkText=Dashboard", + "targets": [ + ["linkText=Dashboard", "linkText"], + ["css=.nav-item > .nav-link", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], + ["xpath=//li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b01aa467-757f-49a9-97bb-965238f84b9c", + "comment": "", + "command": "click", + "target": "linkText=Metadata Providers", + "targets": [ + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d9f794d9-0d45-41a8-8fa9-55497ba17667", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "2c922b5f-35d4-4c31-bb06-7e936cf8cd1a", + "comment": "", + "command": "click", + "target": "linkText=File Backed HTTP Metadata Provider", + "targets": [ + ["linkText=File Backed HTTP Metadata Provider", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'File Backed HTTP Metadata Provider')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/8324f6d9-5390-4f99-8ca0-f7cd9f08fb71/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'File Backed HTTP Metadata Provider')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "ce07e08e-53a0-423a-9d00-7b0417a9697e", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1)", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "4c543e76-dc9b-4786-b569-4c3071a88f07", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) a", + "targets": [ + ["linkText=Sep 25, 2019 10:20:58 (Current)", "linkText"], + ["css=tr:nth-child(1) a", "css:finder"], + ["xpath=//a[contains(@href, '/metadata/provider/5ac01c48-a78d-42a9-b5fa-fd9a057ebb17/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Sep 25, 2019 10:20:58 (Current)')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "138845c8-0cbf-4cba-b256-8c7e58065c26", + "comment": "", + "command": "click", + "target": "css=.mb-4:nth-child(1) .actions span", + "targets": [ + ["css=.mb-4:nth-child(1) .actions span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], + ["xpath=//div/button/span", "xpath:position"], + ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "eb4df817-c23d-47e6-92a8-e013701c90de", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "ae293184-6d83-4ecb-8e25-b757931c49f0", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [], + "value": "Provider Version 2" + }, { + "id": "9c887b33-de0e-4f38-8ea8-d6d0f0a9d841", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "1006ef2d-f7c8-456d-a2fb-96a71625ae89", + "comment": "", + "command": "click", + "target": "css=.btn-outline-secondary", + "targets": [ + ["css=.btn-outline-secondary", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button", "xpath:idRelative"], + ["xpath=//auto-complete/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "33aedef5-ccf2-45b6-a2d9-729d159908c1", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "6ebd7167-8187-4564-b441-213daa903faa", + "comment": "", + "command": "click", + "target": "id=/backupFileInitNextRefreshDelay__option--2", + "targets": [ + ["id=/backupFileInitNextRefreshDelay__option--2", "id"], + ["css=#\\/backupFileInitNextRefreshDelay__option--2", "css:finder"], + ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[3]", "xpath:position"], + ["xpath=//li[contains(.,'PT1M')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "accf38c6-12f0-46cc-a174-e8ed589ea431", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "9e6add34-b3a4-4cbf-a8ca-b1bb262db729", + "comment": "", + "command": "click", + "target": "css=.btn-info", + "targets": [ + ["css=.btn-info", "css:finder"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "141842d1-cde8-483a-a9dd-6723fe3642f0", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "8c0f82f1-d6b4-4e62-bdb0-087dd31471cf", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "f2788695-b02e-4405-8082-d9828f7207c3", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "aca347cb-5c59-473b-8771-8706ec762277", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [ + ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "78651bb7-815c-4267-9fc6-4013a4d8548d", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(2) .custom-control-label", + "targets": [ + ["css=tr:nth-child(2) .custom-control-label", "css:finder"], + ["xpath=//tr[2]/td/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "6733a65d-7c16-4bf4-a6b4-bb3007e08c87", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//history-list/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "0abf4b7f-cc20-4a29-8338-90a67421dc41", + "comment": "", + "command": "waitForElementVisible", + "target": "css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", + "targets": [], + "value": "30000" + }, { + "id": "2b495102-da87-400d-8c70-1758de76452d", + "comment": "", + "command": "assertText", + "target": "css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "Provider Version 2" + }, { + "id": "63e1b12d-a50a-4877-9588-21209a08b364", + "comment": "", + "command": "assertText", + "target": "css=primitive-property:nth-child(8) .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=primitive-property:nth-child(8) .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//primitive-property[8]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'PT1M')]", "xpath:innerText"] + ], + "value": "PT1M" + }, { + "id": "1f3e3d25-ea44-4110-913c-c6dc9a7ec215", + "comment": "", + "command": "click", + "target": "css=.fa-toggle-off", + "targets": [ + ["css=.fa-toggle-off", "css:finder"], + ["xpath=//div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "cfebf080-7825-4412-8a2d-924af79d4b26", + "comment": "", + "command": "assertText", + "target": "css=primitive-property:nth-child(1) .d-block:nth-child(2)", + "targets": [ + ["css=primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "Provider Version 2" + }, { + "id": "75f45cb6-9c38-44e7-82dc-a473fa7fab62", + "comment": "", + "command": "assertText", + "target": "css=primitive-property:nth-child(2) .d-block:nth-child(2)", + "targets": [ + ["css=primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], + ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'PT1M')]", "xpath:innerText"] + ], + "value": "PT1M" + }, { + "id": "0b097967-1b4e-40cc-b8d7-bd0529fd46d2", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "3bd7e8ca-0481-4b94-9037-e75145e2d545", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) a", + "targets": [ + ["linkText=Sep 25, 2019 10:33:02 (Current)", "linkText"], + ["css=tr:nth-child(1) a", "css:finder"], + ["xpath=//a[contains(@href, '/metadata/provider/9325baaf-0eac-49d6-9df4-c379703aae7e/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Sep 25, 2019 10:33:02 (Current)')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "180eec64-f1c7-4c4d-b34f-3f59258f48ec", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "d2d4b08e-1056-4c7f-b9c0-b7efa76dfb94", + "comment": "", + "command": "click", + "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "targets": [ + ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "afc71068-d135-466b-9ea0-ca020eb3116f", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "27db83c9-2893-4958-8547-9496cc73440f", + "comment": "", + "command": "click", + "target": "css=.justify-content-between > .btn:nth-child(1) > translate-i18n", + "targets": [ + ["css=.justify-content-between > .btn:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div[2]/div/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div[2]/div/div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Edit')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "92d9e04a-f8cc-41b1-ac37-409fe4bb9942", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "2152a1f9-8608-420c-85d8-368f69260c21", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field118", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "Entity Attributes Filter Version 2" + }, { + "id": "55de5aff-fc78-488f-aa1a-977dabb678dc", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "f7da3042-0a66-4dbc-8d68-7f5ec9c448c1", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "97c031ee-65f1-4089-ab43-a4a98bfb3798", + "comment": "", + "command": "click", + "target": "css=.nav-item translate-i18n", + "targets": [ + ["css=.nav-item translate-i18n", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], + ["xpath=//a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "7e9c196e-0890-43a2-bdb4-48059b1bd17d", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "59391129-1806-43da-9aa1-df5658550d02", + "comment": "", + "command": "click", + "target": "linkText=Metadata Providers", + "targets": [ + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "dd64f34c-64bb-4c41-be84-fe6202113e71", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "d5d78a35-098e-47c0-8f27-7ab8c79b0661", + "comment": "", + "command": "click", + "target": "css=td > a", + "targets": [ + ["linkText=File Backed HTTP Metadata Provider Version 2", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'File Backed HTTP Metadata Provider Version 2')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/9325baaf-0eac-49d6-9df4-c379703aae7e/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'File Backed HTTP Metadata Provider Version 2')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b2974120-ca60-487e-9ea5-7d7af93a6644", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "42bc2d8d-550f-462b-af96-c3811768e78c", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "ada8b6fe-93a7-4f43-9457-2d0256c90744", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "7df630cc-9134-403c-956c-40ac6646b0d4", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [ + ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "f3f246d8-bdd4-4fff-9fe2-fbdacac5940e", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(2) .custom-control-label", + "targets": [ + ["css=tr:nth-child(2) .custom-control-label", "css:finder"], + ["xpath=//tr[2]/td/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "ae62dd1e-1474-447b-a0f4-93568e060b0f", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//history-list/button", "xpath:position"], + ["xpath=//button[contains(.,'Compare Selected(2)')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "2ff5a597-9fe0-46b4-9ca5-63123ddb3cef", + "comment": "", + "command": "click", + "target": "css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", + "targets": [ + ["css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", "css:finder"], + ["xpath=//div[2]/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "d5c5a3da-6634-4c1f-8eae-cd87baab22ef", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//div[3]/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d7b5550d-1db8-4fa5-800f-fde753413c13", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=.bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'Entity Attributes Filter Version 2')]", "xpath:innerText"] + ], + "value": "Entity Attributes Filter Version 2" + }, { + "id": "ad797f09-746e-4778-954e-6f92ac5934ea", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=.bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[3]", "xpath:position"] + ], + "value": "Entity Attributes Filter" + }, { + "id": "2c05cbfc-f828-426d-be90-eae484624ac0", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" + }] + }], + "suites": [{ + "id": "248ba015-77cd-430f-b973-d14fd4f39a27", + "name": "Default Suite", + "persistSession": false, + "parallel": false, + "timeout": 300, + "tests": ["d87336f9-5279-422f-bf4d-73403f34fc85"] + }], + "urls": ["http://localhost:10101/"], + "plugins": [] +} \ No newline at end of file diff --git a/backend/src/integration/resources/SHIBUI-1364-2.side b/backend/src/integration/resources/SHIBUI-1364-2.side new file mode 100644 index 000000000..4393ffcd8 --- /dev/null +++ b/backend/src/integration/resources/SHIBUI-1364-2.side @@ -0,0 +1,1224 @@ +{ + "id": "57bde36d-15e6-4364-b117-4fb36e1e4941", + "version": "2.0", + "name": "SHIBUI-1364-2", + "url": "http://localhost:10101", + "tests": [{ + "id": "d87336f9-5279-422f-bf4d-73403f34fc85", + "name": "SHIBUI-1364-2", + "commands": [{ + "id": "7e3c1218-65cd-4730-b715-ca9c922d75d3", + "comment": "", + "command": "open", + "target": "/login", + "targets": [], + "value": "" + }, { + "id": "4a52ace7-3b8c-44f1-8686-89f59a83b968", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "e9e6c795-7a41-4231-86b5-6a6c5d013aa2", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "adminpass" + }, { + "id": "185a1e41-d3a3-4627-aae2-7f05059e9c7d", + "comment": "", + "command": "click", + "target": "name=submit", + "targets": [ + ["name=submit", "name"], + ["css=td:nth-child(1) > input", "css:finder"], + ["xpath=//input[@name='submit']", "xpath:attributes"], + ["xpath=//tr[3]/td/input", "xpath:position"] + ], + "value": "" + }, { + "id": "94e01321-ac2d-427f-89a5-7f816cea0f00", + "comment": "", + "command": "click", + "target": "css=#addNewDropdown > translate-i18n", + "targets": [ + ["css=#addNewDropdown > translate-i18n", "css:finder"], + ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], + ["xpath=//translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c65500ae-3b08-4c22-8c88-b4116d6e0c9b", + "comment": "", + "command": "click", + "target": "linkText=Metadata Provider", + "targets": [ + ["linkText=Metadata Provider", "linkText"], + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "c5ec3177-5a66-4901-a644-8c6cfbb99254", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "d093ad38-ab2d-4441-a60b-2c094d6938f9", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field4", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Filesystem Metadata Provider" + }, { + "id": "aac150b1-6140-476b-8bdb-ebb83a14812d", + "comment": "", + "command": "select", + "target": "id=/type", + "targets": [ + ["id=/type", "id"], + ["name=field2", "name"], + ["css=#\\/type", "css:finder"], + ["xpath=//select[@id='/type']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=FilesystemMetadataProvider" + }, { + "id": "7a60cb3c-ed3c-495c-8329-2fe52e72cceb", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[2]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "8cbc5dce-126e-4fb6-afcd-9651d9be6ba2", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/xmlId", + "targets": [], + "value": "10000" + }, { + "id": "c140099c-f6e3-4600-92b3-5b97e07a95ee", + "comment": "", + "command": "type", + "target": "id=/xmlId", + "targets": [ + ["id=/xmlId", "id"], + ["name=field7", "name"], + ["css=#\\/xmlId", "css:finder"], + ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "12345" + }, { + "id": "e2e3a3e4-196c-483d-ac52-de4027636a05", + "comment": "", + "command": "type", + "target": "id=/metadataFile", + "targets": [ + ["id=/metadataFile", "id"], + ["name=field8", "name"], + ["css=#\\/metadataFile", "css:finder"], + ["xpath=//input[@id='/metadataFile']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "%{idp.home}/metadata.txt" + }, { + "id": "5f32dd3f-a1d0-4ca3-9f2d-8a9cc6141004", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "46a436e6-c122-4e28-b09c-0383ec5eb204", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "8197c49f-a70f-46dd-919e-58fff0e14075", + "comment": "", + "command": "click", + "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "targets": [ + ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "ed02df07-4c70-4824-b4f8-e642a1b4e0c3", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "0f1a7a34-0955-45bb-bd2a-a5e4f246869b", + "comment": "", + "command": "click", + "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", "id"], + ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--1", "css:finder"], + ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], + ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1887c6e3-9748-42fc-938e-14c5567d2f41", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "64d0912a-0244-4f5e-818f-17000c01477b", + "comment": "", + "command": "click", + "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "targets": [ + ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "21c54b64-910a-4a9d-b96c-ec9ede9e7f51", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "80a08176-de7d-4938-8d49-1d296a8ba27c", + "comment": "", + "command": "click", + "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", "id"], + ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--2", "css:finder"], + ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "f5d73c96-8567-40da-8c7e-be7524050cb8", + "comment": "", + "command": "click", + "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], + ["name=field14", "name"], + ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "85e3eefd-43e7-43b7-b33e-a2c75149ba0c", + "comment": "", + "command": "type", + "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], + ["name=field14", "name"], + ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "0.5" + }, { + "id": "9c67eec5-eb13-4aaa-9071-e23abb1b7c4b", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "c5fbaf24-139b-4886-a437-ef41a695bbc9", + "comment": "", + "command": "click", + "target": "css=.custom-control-label", + "targets": [ + ["css=.custom-control-label", "css:finder"], + ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Enable Metadata Provider?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "7fcdaee3-5714-4c5a-93a7-b1b15c6b24e1", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//span[2]/i", "xpath:position"] + ], + "value": "" + }, { + "id": "11d71ffb-3372-41cb-9832-72755ef298b5", + "comment": "", + "command": "click", + "target": "css=.btn:nth-child(2) > translate-i18n", + "targets": [ + ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], + ["xpath=//div/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b7312cb1-744c-429f-a6fa-58635f7a1fea", + "comment": "", + "command": "click", + "target": "css=#filters .actions span", + "targets": [ + ["css=#filters .actions span", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], + ["xpath=//div/a/span", "xpath:position"], + ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "2ba34b77-bac1-48f4-b2ef-c3a4f93e9b51", + "comment": "", + "command": "select", + "target": "name=type", + "targets": [], + "value": "label=EntityAttributes" + }, { + "id": "73f3151e-9a9f-4f6c-b3d4-93560b3e42bb", + "comment": "", + "command": "click", + "target": "css=option:nth-child(2)", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "a8ee94c0-d4f2-47f1-974e-09308193e6dd", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "3edb4fc7-f24c-440b-8403-974304f0b4ac", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field18", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Entity Attributes" + }, { + "id": "36dac228-9203-4f2e-a623-db41ef8c019f", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "f2c07797-07f6-4325-8c5f-57a676dc982c", + "comment": "", + "command": "click", + "target": "id=/entityAttributesFilterTarget.valuedd", + "targets": [ + ["id=/entityAttributesFilterTarget.valuedd", "id"], + ["css=#\\/entityAttributesFilterTarget\\.valuedd", "css:finder"], + ["xpath=//button[@id='/entityAttributesFilterTarget.valuedd']", "xpath:attributes"], + ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1c424cfa-8201-40df-b8ed-ddec065dfd66", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "bca61e15-7c13-4007-8c90-1a667bbef67d", + "comment": "", + "command": "click", + "target": "linkText=Regex", + "targets": [ + ["linkText=Regex", "linkText"], + ["css=.dropdown-item:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div/div/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "98f6eea0-36ff-449c-b042-98b87f0d3a70", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "e0c65de5-d74a-4d87-aca0-9e9f4b37fb36", + "comment": "", + "command": "click", + "target": "id=/entityAttributesFilterTarget.target", + "targets": [ + ["id=/entityAttributesFilterTarget.target", "id"], + ["name=script", "name"], + ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], + ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], + ["xpath=//div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "70a43e87-7180-4761-8f64-d69c7c7557e5", + "comment": "", + "command": "sendKeys", + "target": "id=/entityAttributesFilterTarget.target", + "targets": [], + "value": "/foo.*/" + }, { + "id": "ce3cf65a-40bd-43fe-beb7-dc3e1d79927b", + "comment": "", + "command": "click", + "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], + ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "2eea7d5e-e992-4c85-94da-4537e4863228", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/signAssertion.parent']/label", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "f34181b8-eac5-4ce7-8776-0f87cf938503", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/dontSignResponse.parent']/label", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "06699eac-9dcc-46ea-a520-bd8117deab97", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/turnOffEncryption.parent']/label", "xpath:idRelative"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "891515dc-c75b-45f7-b33e-05760891e9aa", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/forceAuthn.parent']/label", "xpath:idRelative"], + ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1c315922-1f5a-43a5-97fd-1767f3392471", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(5) .custom-control-label", + "targets": [ + ["css=tr:nth-child(5) .custom-control-label", "css:finder"], + ["xpath=//tr[5]/td[2]/fieldset/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Toggle givenName')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "9569fc2c-5b8d-4724-bf1c-5a2a9af253bd", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(9) .custom-control-label", + "targets": [ + ["css=tr:nth-child(9) .custom-control-label", "css:finder"], + ["xpath=//tr[9]/td[2]/fieldset/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Toggle eduPersonEntitlement')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "f2cfdab4-af65-45b5-b62a-56935ae15637", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "86d92dcf-e856-4578-8a0d-25b4121ad69e", + "comment": "", + "command": "waitForElementVisible", + "target": "linkText=Add Filter", + "targets": [ + ["linkText=Add Filter", "linkText"], + ["css=.btn-success", "css:finder"], + ["xpath=//a[contains(@href, '/metadata/provider/45943457-0dd0-486b-b111-19ae6dd6896c/filter/new')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] + ], + "value": "10000" + }, { + "id": "bc3e5810-89fb-42de-92da-e9336b29ebd3", + "comment": "", + "command": "click", + "target": "linkText=Add Filter", + "targets": [ + ["linkText=Add Filter", "linkText"], + ["css=.btn-success", "css:finder"], + ["xpath=//a[contains(@href, '/metadata/provider/dbc814ac-890b-4f11-b3e0-3a2d667fa5cd/filter/new')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "eab53a0d-32e6-4cb1-844b-d5fae8106820", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "094ce013-936c-4479-9c5b-ba26db4d05c9", + "comment": "", + "command": "waitForElementVisible", + "target": "name=type", + "targets": [ + ["name=type", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "10000" + }, { + "id": "f6d537b3-74ab-430f-9688-b7c90516cfc0", + "comment": "", + "command": "select", + "target": "name=type", + "targets": [], + "value": "label=NameIDFormat" + }, { + "id": "85556730-f474-42bd-8c04-2620c8814202", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "471c00e2-52d8-4cf7-a071-00b50c98bf9e", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "8b0dfae1-5e58-4943-ae62-cad5d32ea203", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field37", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Name ID Filter" + }, { + "id": "ec49b089-a390-4cff-904f-363d3a57cb76", + "comment": "", + "command": "click", + "target": "id=/nameIdFormatFilterTarget.valuedd", + "targets": [ + ["id=/nameIdFormatFilterTarget.valuedd", "id"], + ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], + ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], + ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "56abaabc-0c96-428c-9070-62a79ba90c6c", + "comment": "", + "command": "click", + "target": "linkText=Entity ID", + "targets": [ + ["linkText=Entity ID", "linkText"], + ["css=.show > .dropdown-item:nth-child(1)", "css:finder"], + ["xpath=//a[contains(text(),'Entity ID')]", "xpath:link"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "3f8bc2f3-ee80-410f-aa5d-33aea08bf991", + "comment": "", + "command": "type", + "target": "id=/nameIdFormatFilterTarget.target", + "targets": [ + ["id=/nameIdFormatFilterTarget.target", "id"], + ["css=#\\/nameIdFormatFilterTarget\\.target", "css:finder"], + ["xpath=//input[@id='/nameIdFormatFilterTarget.target']", "xpath:attributes"], + ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], + ["xpath=//div/div/input", "xpath:position"] + ], + "value": "unicon" + }, { + "id": "7129e60b-fecc-436f-b055-0f377ade83f8", + "comment": "", + "command": "click", + "target": "css=.btn-success:nth-child(1)", + "targets": [ + ["css=.btn-success:nth-child(1)", "css:finder"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "93a29942-d580-412b-b151-9961fd1495d0", + "comment": "", + "command": "click", + "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], + ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c0ab05f8-13f7-4e4a-bf02-2118629eca43", + "comment": "", + "command": "click", + "target": "css=.btn-success > translate-i18n", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "f0b7296b-004d-445e-9ebd-6bbd9052b30f", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "028122a4-7a5c-4ee9-afb9-5f7d491cc9bd", + "comment": "", + "command": "click", + "target": "css=.input-group-append > .btn", + "targets": [ + ["css=.input-group-append > .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/formats/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//auto-complete/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "e3c2c21f-408c-48f2-a2dd-9241123f0ead", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "e50612f4-b0e4-4749-99ec-5c67e66cd398", + "comment": "", + "command": "click", + "target": "id=/formats/0__option--1", + "targets": [ + ["id=/formats/0__option--1", "id"], + ["css=#\\/formats\\/0__option--1", "css:finder"], + ["xpath=//li[@id='/formats/0__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/formats/0__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "952930b1-160e-42cd-9be5-c44f397a1451", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "eca1d3dd-9e47-49d2-b4a1-a45c2b6c8c3a", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "d722902b-5c10-45dc-99df-d96f46e78313", + "comment": "", + "command": "assertText", + "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", + "targets": [ + ["css=.list-group-item:nth-child(1) span:nth-child(4)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] + ], + "value": "EntityAttributes" + }, { + "id": "c8d9bc5a-4b7e-4178-8aba-8b8280506c20", + "comment": "", + "command": "click", + "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", + "targets": [ + ["css=.list-group-item:nth-child(1) .btn:nth-child(2)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/div/button[2]", "xpath:idRelative"], + ["xpath=//button[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "d25400e1-127e-4b8c-b7e2-ade937cfd5a0", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "d7909094-96ce-4532-98b4-446cc013c9c8", + "comment": "", + "command": "assertText", + "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", + "targets": [ + ["css=tr:nth-child(1) > .td-lg:nth-child(4)", "css:finder"], + ["xpath=//td[4]", "xpath:position"], + ["xpath=//td[contains(.,'NameIDFormat')]", "xpath:innerText"] + ], + "value": "NameIDFormat" + }, { + "id": "d49c5a8e-35f3-4498-a53b-2b03fcc79552", + "comment": "", + "command": "click", + "target": "css=.nav-item translate-i18n", + "targets": [ + ["css=.nav-item translate-i18n", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], + ["xpath=//a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "fc58a8d5-f526-4a7c-8475-dbfbeae5cec4", + "comment": "", + "command": "click", + "target": "linkText=Metadata Providers", + "targets": [ + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "fbdf6b10-dd49-402c-8a2f-c8b837505b05", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "1d36be5e-e705-4528-bd80-ae3566cb9b6a", + "comment": "", + "command": "click", + "target": "linkText=Filesystem Metadata Provider", + "targets": [ + ["linkText=Filesystem Metadata Provider", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Filesystem Metadata Provider')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/c90805c1-6468-4164-b9f1-fad547d31232/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Filesystem Metadata Provider')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "465f12fa-e547-4a1b-bea7-7998efca7f85", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "73335934-98c5-4427-9e05-13ddc7f00432", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d5d51069-35a1-4d40-a88d-e51d674d9f72", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "cc66db21-0f0b-4d85-8ce6-775c3e58de89", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) a", + "targets": [ + ["linkText=Sep 25, 2019 22:44:09 (Current)", "linkText"], + ["css=tr:nth-child(1) a", "css:finder"], + ["xpath=//a[contains(@href, '/metadata/provider/c90805c1-6468-4164-b9f1-fad547d31232/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Sep 25, 2019 22:44:09 (Current)')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "0aab0bfa-7866-41ea-a58c-9b6e8fb52bbc", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "976c8149-9620-490c-887b-a23226619f0d", + "comment": "", + "command": "click", + "target": "css=.mb-4:nth-child(1) .actions span", + "targets": [ + ["css=.mb-4:nth-child(1) .actions span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], + ["xpath=//div/button/span", "xpath:position"], + ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "6796aa25-00fa-4cf2-9a74-0c0aa6151863", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "0362fb34-4886-4f0d-8190-e006dc46df7c", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field61", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Filesystem Metadata Provider V2" + }, { + "id": "9d0539c7-e34c-4229-bbcf-d2c9fd499db4", + "comment": "", + "command": "type", + "target": "id=/xmlId", + "targets": [ + ["id=/xmlId", "id"], + ["name=field64", "name"], + ["css=#\\/xmlId", "css:finder"], + ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["xpath=//fieldset[2]/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "123456" + }, { + "id": "93d98797-5117-4aca-ace8-c6c7e79976ee", + "comment": "", + "command": "click", + "target": "css=.btn-info > translate-i18n", + "targets": [ + ["css=.btn-info > translate-i18n", "css:finder"], + ["xpath=//div[2]/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "483aa6e8-f1b6-4a74-a7d6-38fd3a6b646f", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "a5885119-3102-4d0a-a0ea-d5517a94c6d8", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "targets": [ + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "Filesystem Metadata Provider V2" + }, { + "id": "23281755-0ef4-404d-bf3f-626bcc495710", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(3) .text-truncate", + "targets": [ + ["css=.d-block > primitive-property:nth-child(3) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[3]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//primitive-property[3]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123456')]", "xpath:innerText"] + ], + "value": "123456" + }, { + "id": "39bf8d48-8a95-42fa-8e9e-fe76584f05d1", + "comment": "", + "command": "click", + "target": "css=.btn:nth-child(2) > translate-i18n", + "targets": [ + ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], + ["xpath=//div/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "642991a1-3ab6-4941-a524-62b9d6307cd1", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "c7163d8a-e960-4156-a41c-7d1ce46ad815", + "comment": "", + "command": "click", + "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "targets": [ + ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Name ID Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "75e9b3fa-b677-4a8d-8175-cbb76c59beb5", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "b24c91ba-4b08-4467-abef-8b5a9f02da8f", + "comment": "", + "command": "click", + "target": "css=.justify-content-between > .btn:nth-child(1) > translate-i18n", + "targets": [ + ["css=.justify-content-between > .btn:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div[2]/div/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div[2]/div/div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Edit')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "ea24e7e6-4580-4875-b56f-f965765b4c86", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field68", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "Name ID Filter V2" + }, { + "id": "094f38d5-ed9f-4d23-9ad2-c25c0c8befc0", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//div[2]/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "4ff30289-7e28-4402-bc9d-df75864fed75", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "3b5e6867-ef70-4e49-9a47-f560c76b7959", + "comment": "", + "command": "click", + "target": "css=.nav-item translate-i18n", + "targets": [ + ["css=.nav-item translate-i18n", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], + ["xpath=//a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "fce3af79-af89-4a7b-856a-90967ca2406c", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "686d7c7d-8f5c-4560-be0e-26b8eef057f5", + "comment": "", + "command": "click", + "target": "linkText=Metadata Providers", + "targets": [ + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b7190fba-d4aa-4c7d-ba7e-e3e1447ec599", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "499ba6ae-7a8e-47d9-931a-57043cdc497d", + "comment": "", + "command": "click", + "target": "linkText=Filesystem Metadata Provider V2", + "targets": [ + ["linkText=Filesystem Metadata Provider V2", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Filesystem Metadata Provider V2')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/c90805c1-6468-4164-b9f1-fad547d31232/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Filesystem Metadata Provider V2')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "eaf3820f-d359-4c96-810d-b59b21f1ae71", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "d1645987-c4a3-473a-b830-48559708d23a", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "2aba4862-7084-43d8-a4c0-856250d64458", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "5659bf0f-0ce6-4144-93dc-e5579a578b13", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [ + ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "701ea8df-7951-4544-89f0-0324c221d3da", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(2) .custom-control-label", + "targets": [ + ["css=tr:nth-child(2) .custom-control-label", "css:finder"], + ["xpath=//tr[2]/td/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "00c205c8-aa6d-4627-b063-ea8f8a02c7e9", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//history-list/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c5f5881d-c6e3-4392-a1c1-6889b4b548b8", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "78d01216-5d2b-4067-a830-95eae9356738", + "comment": "", + "command": "click", + "target": "css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", + "targets": [ + ["css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", "css:finder"], + ["xpath=//div[2]/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "2cd5f1b5-f20d-44b9-b9aa-bd9079766088", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "dd7b9b74-ebf1-45b8-a91a-627f06f83996", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//div[3]/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "08c5c802-f699-4eca-a727-8130db305f43", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=.bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'Name ID Filter V2')]", "xpath:innerText"] + ], + "value": "Name ID Filter V2" + }, { + "id": "974ef62f-ae68-4c32-b439-b4ca8666aaa5", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=.bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[3]", "xpath:position"] + ], + "value": "Name ID Filter" + }, { + "id": "5a4e74b2-fe33-462a-9739-37b2ffb099f0", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" + }] + }], + "suites": [{ + "id": "248ba015-77cd-430f-b973-d14fd4f39a27", + "name": "Default Suite", + "persistSession": false, + "parallel": false, + "timeout": 300, + "tests": ["d87336f9-5279-422f-bf4d-73403f34fc85"] + }], + "urls": ["http://localhost:10101/"], + "plugins": [] +} \ No newline at end of file diff --git a/backend/src/integration/resources/SHIBUI-1364-3.side b/backend/src/integration/resources/SHIBUI-1364-3.side new file mode 100644 index 000000000..81490d195 --- /dev/null +++ b/backend/src/integration/resources/SHIBUI-1364-3.side @@ -0,0 +1,1428 @@ +{ + "id": "57bde36d-15e6-4364-b117-4fb36e1e4941", + "version": "2.0", + "name": "SHIBUI-1364-3", + "url": "http://localhost:10101", + "tests": [{ + "id": "d87336f9-5279-422f-bf4d-73403f34fc85", + "name": "SHIBUI-1364-3", + "commands": [{ + "id": "7e3c1218-65cd-4730-b715-ca9c922d75d3", + "comment": "", + "command": "open", + "target": "/login", + "targets": [], + "value": "" + }, { + "id": "4a52ace7-3b8c-44f1-8686-89f59a83b968", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "e9e6c795-7a41-4231-86b5-6a6c5d013aa2", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "adminpass" + }, { + "id": "185a1e41-d3a3-4627-aae2-7f05059e9c7d", + "comment": "", + "command": "click", + "target": "name=submit", + "targets": [ + ["name=submit", "name"], + ["css=td:nth-child(1) > input", "css:finder"], + ["xpath=//input[@name='submit']", "xpath:attributes"], + ["xpath=//tr[3]/td/input", "xpath:position"] + ], + "value": "" + }, { + "id": "94e01321-ac2d-427f-89a5-7f816cea0f00", + "comment": "", + "command": "click", + "target": "css=#addNewDropdown > translate-i18n", + "targets": [ + ["css=#addNewDropdown > translate-i18n", "css:finder"], + ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], + ["xpath=//translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c65500ae-3b08-4c22-8c88-b4116d6e0c9b", + "comment": "", + "command": "click", + "target": "linkText=Metadata Provider", + "targets": [ + ["linkText=Metadata Provider", "linkText"], + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "c5ec3177-5a66-4901-a644-8c6cfbb99254", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "d093ad38-ab2d-4441-a60b-2c094d6938f9", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field4", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Local Dynamic Metadata Provider" + }, { + "id": "aac150b1-6140-476b-8bdb-ebb83a14812d", + "comment": "", + "command": "select", + "target": "id=/type", + "targets": [ + ["id=/type", "id"], + ["name=field2", "name"], + ["css=#\\/type", "css:finder"], + ["xpath=//select[@id='/type']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=LocalDynamicMetadataProvider" + }, { + "id": "7a60cb3c-ed3c-495c-8329-2fe52e72cceb", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[2]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "8cbc5dce-126e-4fb6-afcd-9651d9be6ba2", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/xmlId", + "targets": [], + "value": "10000" + }, { + "id": "c140099c-f6e3-4600-92b3-5b97e07a95ee", + "comment": "", + "command": "type", + "target": "id=/xmlId", + "targets": [ + ["id=/xmlId", "id"], + ["name=field7", "name"], + ["css=#\\/xmlId", "css:finder"], + ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "12345" + }, { + "id": "e2e3a3e4-196c-483d-ac52-de4027636a05", + "comment": "", + "command": "type", + "target": "id=/sourceDirectory", + "targets": [ + ["id=/sourceDirectory", "id"], + ["name=field8", "name"], + ["css=#\\/sourceDirectory", "css:finder"], + ["xpath=//input[@id='/sourceDirectory']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "%{idp.home}/foo" + }, { + "id": "5f32dd3f-a1d0-4ca3-9f2d-8a9cc6141004", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "0586f02c-c210-4e44-9a86-3e914bc94f3b", + "comment": "", + "command": "type", + "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/refreshDelayFactor", "id"], + ["name=field11", "name"], + ["css=#\\/dynamicMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='/dynamicMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "0.5" + }, { + "id": "ed3a2cad-339d-4cd6-b724-395057670e51", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "1a8a9dcf-9c6b-4802-8483-981d14131346", + "comment": "", + "command": "click", + "target": "css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", + "targets": [ + ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/dynamicMetadataResolverAttributes/minCacheDuration-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "2d40e408-16c8-4eba-ae11-bc836c534c58", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "443a9cfc-17c8-49da-9d87-bfabda8fd0b6", + "comment": "", + "command": "click", + "target": "id=/dynamicMetadataResolverAttributes/minCacheDuration__option--0", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/minCacheDuration__option--0", "id"], + ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration__option--0", "css:finder"], + ["xpath=//li[@id='/dynamicMetadataResolverAttributes/minCacheDuration__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/minCacheDuration__listbox']/li", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li", "xpath:position"], + ["xpath=//li[contains(.,'PT0S')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "0b259df7-d713-4d4a-b9c3-ffe0b1c0ecf5", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "84f35d35-ea9c-4a06-aaec-bee1c1922aec", + "comment": "", + "command": "click", + "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", + "targets": [ + ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxCacheDuration-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "032f1b9b-640c-4f77-a61a-3bc2127b447e", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "c03be15d-ee34-4cd1-bac9-c52e3baa70a3", + "comment": "", + "command": "click", + "target": "id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--2", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--2", "id"], + ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration__option--2", "css:finder"], + ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "508576b2-18ca-4360-ab90-fc0bf4b83cab", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "f0cdfbcf-46e2-4013-b085-0730b0127842", + "comment": "", + "command": "click", + "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", + "targets": [ + ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "6ac213ff-c86b-4724-9f80-a50989f00369", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "dd663319-7eef-4301-a0d4-24d9583eab7f", + "comment": "", + "command": "click", + "target": "id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--1", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--1", "id"], + ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData__option--1", "css:finder"], + ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "25ed1d75-be93-4e20-88ba-57d8ae7bf053", + "comment": "", + "command": "click", + "target": "id=/dynamicMetadataResolverAttributes/removeIdleEntityData.false", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/removeIdleEntityData.false", "id"], + ["css=#\\/dynamicMetadataResolverAttributes\\/removeIdleEntityData\\.false", "css:finder"], + ["xpath=//input[@id='/dynamicMetadataResolverAttributes/removeIdleEntityData.false']", "xpath:attributes"], + ["xpath=//div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "c0be0f29-02f9-46f1-9b65-0f2c9c310246", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "54df6d88-1a85-407f-935a-a016f5952a93", + "comment": "", + "command": "click", + "target": "css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", + "targets": [ + ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "9a756ef8-7633-43c2-ac27-48f2bd41ad15", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "e7f2439a-e9a1-4b23-b0b9-d992f5b477d4", + "comment": "", + "command": "click", + "target": "id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3", "id"], + ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval__option--3", "css:finder"], + ["xpath=//li[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3']", "xpath:attributes"], + ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__listbox']/li[4]", "xpath:idRelative"], + ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ], + "value": "" + }, { + "id": "64af203b-565c-4e35-b7da-4646423a3279", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "d02ae356-8086-4794-97ba-980fc75cca79", + "comment": "", + "command": "click", + "target": "css=.custom-control-label", + "targets": [ + ["css=.custom-control-label", "css:finder"], + ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Enable Metadata Provider?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "dc60328b-d6e0-4f62-96c5-012f0fb5edc4", + "comment": "", + "command": "click", + "target": "css=.save", + "targets": [ + ["css=.save", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "feb08e76-e553-4505-bffe-07f3e77206d0", + "comment": "", + "command": "click", + "target": "css=.btn:nth-child(2)", + "targets": [ + ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], + ["xpath=//div/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "2afa209b-d09b-468e-8cc3-d549abb3be4a", + "comment": "", + "command": "click", + "target": "css=#filters .actions span", + "targets": [ + ["css=#filters .actions span", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], + ["xpath=//div/a/span", "xpath:position"], + ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c4e0394c-ba68-4e75-8d20-174a91fad2f5", + "comment": "", + "command": "select", + "target": "name=type", + "targets": [], + "value": "label=EntityAttributes" + }, { + "id": "5f1229fb-9185-40cf-bd65-76435d93d7df", + "comment": "", + "command": "click", + "target": "css=option:nth-child(2)", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "03f838cb-2aea-40fa-b549-8263aa2046cf", + "comment": "", + "command": "click", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field20", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "ad127dfe-2cae-4693-b65f-e35c0655e9eb", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field20", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Entity Attributes Filter" + }, { + "id": "0065c161-84c6-4cd0-8b69-b257ec572915", + "comment": "", + "command": "click", + "target": "id=/entityAttributesFilterTarget.target", + "targets": [ + ["id=/entityAttributesFilterTarget.target", "id"], + ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], + ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], + ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], + ["xpath=//div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "15d90ee0-b1cc-4fae-abec-ae80d93db1c1", + "comment": "", + "command": "type", + "target": "id=/entityAttributesFilterTarget.target", + "targets": [ + ["id=/entityAttributesFilterTarget.target", "id"], + ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], + ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], + ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], + ["xpath=//div/div/input", "xpath:position"] + ], + "value": "unicon" + }, { + "id": "1d754809-177b-47f9-98e6-5e757713d834", + "comment": "", + "command": "click", + "target": "css=.btn-success:nth-child(1)", + "targets": [ + ["css=.btn-success:nth-child(1)", "css:finder"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "72c2bc1d-f96f-497b-bbd8-b2e254fae6b6", + "comment": "", + "command": "click", + "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], + ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1e74f318-f78c-4e64-8ac7-fc999df0dd19", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/turnOffEncryption.parent']/label", "xpath:idRelative"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d05f7295-35b2-42ba-98d0-1c9673846190", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/useSha.parent']/label", "xpath:idRelative"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "82bbe8c4-e66c-470d-bdf6-9cd3337b4a3e", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/responderId", + "targets": [ + ["id=/relyingPartyOverrides/responderId", "id"], + ["name=field33", "name"], + ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], + ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "2e4c1077-cd2f-4298-969f-e945e2d68636", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/responderId", + "targets": [ + ["id=/relyingPartyOverrides/responderId", "id"], + ["name=field33", "name"], + ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], + ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "responder" + }, { + "id": "14785e6f-8ab8-47e0-b16e-8e736638d8c8", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "1e7c0ceb-f555-497d-a465-92df7d67b40a", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "3e162911-9775-4d01-8802-63f5638c7cba", + "comment": "", + "command": "click", + "target": "css=.input-group-append > .btn", + "targets": [ + ["css=.input-group-append > .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//auto-complete/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "a9c5ad9d-05ab-4b47-9e0d-c4e81d28c87e", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "ab2594b3-45a8-43f7-885b-270239a46628", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], + ["xpath=//datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "dd4e22ff-aa54-40c0-b5c2-6a5b79845062", + "comment": "", + "command": "click", + "target": "css=.fa-check", + "targets": [ + ["css=.fa-check", "css:finder"], + ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], + ["xpath=//td[2]/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "1c4c90ac-b644-4033-8ebc-07a8cd1bdbdd", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "af17a3a7-f292-4c22-8f2f-3d3bf1938fc1", + "comment": "", + "command": "waitForElementVisible", + "target": "css=span:nth-child(4)", + "targets": [], + "value": "10000" + }, { + "id": "2b9c0a43-fd7a-4ffa-bfef-a7fc41746e16", + "comment": "", + "command": "assertText", + "target": "css=span:nth-child(4)", + "targets": [ + ["css=span:nth-child(4)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] + ], + "value": "EntityAttributes" + }, { + "id": "a0e16e8d-91c9-416c-b1c1-a2898bfbd185", + "comment": "", + "command": "click", + "target": "linkText=Add Filter", + "targets": [ + ["linkText=Add Filter", "linkText"], + ["css=.btn-success", "css:finder"], + ["xpath=//a[contains(@href, '/metadata/provider/ceb1cfdd-26c1-4134-baab-1438190ae9bd/filter/new')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "11fd3e95-ce05-4ad0-8238-c34b696003cd", + "comment": "", + "command": "click", + "target": "name=type", + "targets": [ + ["name=type", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "" + }, { + "id": "0b68dd82-e9a5-447f-b062-9f7849529bcc", + "comment": "", + "command": "select", + "target": "name=type", + "targets": [], + "value": "label=NameIDFormat" + }, { + "id": "e85fde4c-cdbf-41c6-89e7-d4b281a16219", + "comment": "", + "command": "click", + "target": "css=option:nth-child(3)", + "targets": [ + ["css=option:nth-child(3)", "css:finder"], + ["xpath=//option[@value='NameIDFormat']", "xpath:attributes"], + ["xpath=//option[3]", "xpath:position"], + ["xpath=//option[contains(.,'NameIDFormat')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "a058bf22-7d07-4850-8004-8a85a2016d25", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "8a94f318-76bb-49f1-90d5-b2dcbcb1ff80", + "comment": "", + "command": "click", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field40", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "9bd2419e-c4f5-4dd2-9fb8-278d70be987b", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field40", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Name ID Format Filter" + }, { + "id": "03d1d74e-efa5-4d0e-a780-900449bb4ac5", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "9b9d7604-7025-4ccb-bb95-862f57f696f1", + "comment": "", + "command": "click", + "target": "id=/nameIdFormatFilterTarget.valuedd", + "targets": [ + ["id=/nameIdFormatFilterTarget.valuedd", "id"], + ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], + ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], + ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5cda2bf9-f169-4e37-8071-a6f8d1d1407d", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "9e84c57f-c33d-48f8-85ac-ed50751eb37b", + "comment": "", + "command": "click", + "target": "linkText=Regex", + "targets": [ + ["linkText=Regex", "linkText"], + ["css=.dropdown-item:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div/div/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "82336d07-df2f-416e-b5c3-59eaf64a82d4", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "f3bc22e2-0e3a-4d58-b992-31d687148c57", + "comment": "", + "command": "sendKeys", + "target": "id=/nameIdFormatFilterTarget.target", + "targets": [], + "value": "/foo.*/" + }, { + "id": "343b40b9-87df-46ab-b3ef-285e4e5ed784", + "comment": "", + "command": "click", + "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], + ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "6ce98c83-68b8-45c0-834e-cc40af11fc29", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "17f77efb-f64a-4a64-8c48-36830a087dbb", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "a7aa04e7-b909-42cf-85ed-adbff0adefce", + "comment": "", + "command": "click", + "target": "css=.input-group-append > .btn", + "targets": [ + ["css=.input-group-append > .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/formats/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//auto-complete/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d1fa4a9b-80bd-4ad7-989e-1e5b56893bbc", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "8b7b79fd-2405-4ab6-8f91-4906f663cd1e", + "comment": "", + "command": "click", + "target": "id=/formats/0__option--1", + "targets": [ + ["id=/formats/0__option--1", "id"], + ["css=#\\/formats\\/0__option--1", "css:finder"], + ["xpath=//li[@id='/formats/0__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/formats/0__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "6d4c2c20-0855-4cdf-8e4d-dbbd6afb328b", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "455e24c1-5093-4da3-a62d-457bbf0cd5db", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "9f7e95cf-4dd5-415f-8577-a6f1bc54a85d", + "comment": "", + "command": "click", + "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", + "targets": [ + ["css=.list-group-item:nth-child(1) .btn:nth-child(2)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/div/button[2]", "xpath:idRelative"], + ["xpath=//button[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "afb97ce0-665f-4469-9aad-d17349c491cd", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "4a73b268-7d33-4e8c-8fa4-cb059be9768f", + "comment": "", + "command": "assertText", + "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", + "targets": [ + ["css=.list-group-item:nth-child(1) span:nth-child(4)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] + ], + "value": "NameIDFormat" + }, { + "id": "63ac7307-0538-4c0d-8e98-2f05c767baaf", + "comment": "", + "command": "click", + "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", + "targets": [ + ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], + ["xpath=//button[2]/i", "xpath:position"] + ], + "value": "" + }, { + "id": "5037edea-9d8f-496d-aedc-70b8763d5de2", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "ed8e07ff-0dce-47d6-8310-f1920bfe1367", + "comment": "", + "command": "assertText", + "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", + "targets": [ + ["css=tr:nth-child(1) > .td-lg:nth-child(4)", "css:finder"], + ["xpath=//td[4]", "xpath:position"], + ["xpath=//td[contains(.,'EntityAttributes')]", "xpath:innerText"] + ], + "value": "EntityAttributes" + }, { + "id": "45fe6404-6af7-4be0-8f21-2dcf378d0060", + "comment": "", + "command": "click", + "target": "css=.nav-item translate-i18n", + "targets": [ + ["css=.nav-item translate-i18n", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], + ["xpath=//a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "beb584cd-c6a8-440e-bf38-b5bd2be71e9e", + "comment": "", + "command": "click", + "target": "linkText=Metadata Providers", + "targets": [ + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "29e8f9ac-e02f-46e1-9765-5d7003e37f26", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "7c1fbdb4-1739-4b5b-86b9-231884a81e71", + "comment": "", + "command": "click", + "target": "linkText=Local Dynamic Metadata Provider", + "targets": [ + ["linkText=Local Dynamic Metadata Provider", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Local Dynamic Metadata Provider')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/b76c6aaf-4b5b-464b-8aa6-98d1125989b8/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Local Dynamic Metadata Provider')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "329a0f30-2aca-4a4b-8b6b-5ba61d73427b", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "547788c6-8ba2-4edc-8add-8ff24d6805b8", + "comment": "", + "command": "click", + "target": "css=.mb-4:nth-child(1) .actions span", + "targets": [ + ["css=.mb-4:nth-child(1) .actions span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], + ["xpath=//div/button/span", "xpath:position"], + ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "98f8bc48-2251-4314-9157-3dd98cd79c5d", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "2383637f-14ad-407d-82cd-49d36f218ee0", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field62", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Local Dynamic Metadata Provider V2" + }, { + "id": "31561081-f7d8-4fc5-90a2-a216da79b8a6", + "comment": "", + "command": "type", + "target": "id=/xmlId", + "targets": [ + ["id=/xmlId", "id"], + ["name=field65", "name"], + ["css=#\\/xmlId", "css:finder"], + ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["xpath=//fieldset[2]/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "123456" + }, { + "id": "c988660e-6608-4ca4-814a-f1e3bd6a4347", + "comment": "", + "command": "click", + "target": "css=.btn-info > translate-i18n", + "targets": [ + ["css=.btn-info > translate-i18n", "css:finder"], + ["xpath=//div[2]/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "78258e16-b2c5-45bb-834f-f566da4a49b3", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "add10378-ed96-4fc2-bd50-5ace327bb698", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "39228609-8a84-40e7-8101-36a0849cb2ba", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "fc4a8e99-fa0c-410b-9a5a-07097a131234", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [ + ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "45f5cf56-587a-4e9b-ba41-333b34f4206c", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(2) .custom-control-label", + "targets": [ + ["css=tr:nth-child(2) .custom-control-label", "css:finder"], + ["xpath=//tr[2]/td/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "e0aa8d5c-d81c-4d4a-ac51-1d3511065d97", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//history-list/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "627ca87e-e3d5-4cf6-ae53-ac095238f23a", + "comment": "", + "command": "waitForElementVisible", + "target": "css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", + "targets": [], + "value": "30000" + }, { + "id": "f3dc8bd0-e8da-48e5-b9bd-d442471a4005", + "comment": "", + "command": "assertText", + "target": "css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "Local Dynamic Metadata Provider V2" + }, { + "id": "1103565a-1f1c-44f1-bfa9-91f6469a7723", + "comment": "", + "command": "assertText", + "target": "css=primitive-property:nth-child(3) .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=primitive-property:nth-child(3) .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//primitive-property[3]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123456')]", "xpath:innerText"] + ], + "value": "123456" + }, { + "id": "b0a15457-afc8-45e7-848e-876071ce15e4", + "comment": "", + "command": "assertText", + "target": "css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//span[3]", "xpath:position"] + ], + "value": "Local Dynamic Metadata Provider" + }, { + "id": "244b66e8-18ca-424b-a399-42df5671d554", + "comment": "", + "command": "assertText", + "target": "css=primitive-property:nth-child(3) .bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=primitive-property:nth-child(3) .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//primitive-property[3]/div/div/span[3]", "xpath:position"] + ], + "value": "12345" + }, { + "id": "a0411281-4bd1-4a25-a13c-31881f16381f", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "e9c3e5d9-1418-4f24-80b5-5d2ea2f50570", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "82d0dbd1-6d39-4213-a169-ffd169ddb800", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) a", + "targets": [ + ["linkText=Sep 25, 2019 23:00:04 (Current)", "linkText"], + ["css=tr:nth-child(1) a", "css:finder"], + ["xpath=//a[contains(@href, '/metadata/provider/b76c6aaf-4b5b-464b-8aa6-98d1125989b8/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Sep 25, 2019 23:00:04 (Current)')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c40890c3-7077-4951-a62e-fd7f5fa3c78f", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "c9047379-4634-4d7c-9649-505437ccc4a8", + "comment": "", + "command": "click", + "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "targets": [ + ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "9a4e24c2-c536-46bf-ada1-6158fbaa8163", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "6ce85361-3225-40b2-ab3e-dda53647733c", + "comment": "", + "command": "click", + "target": "css=.justify-content-between > .btn:nth-child(1) > translate-i18n", + "targets": [ + ["css=.justify-content-between > .btn:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div[2]/div/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div[2]/div/div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Edit')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "7a41b3c7-cae5-4135-95ed-ba45fa4932f2", + "comment": "", + "command": "waitForElementEditable", + "target": "id=/name", + "targets": [], + "value": "30000" + }, { + "id": "52f4e177-c20c-4775-a973-b7b79c67bb96", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field68", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "Entity Attributes Filter V2" + }, { + "id": "3c8b4ac8-f3ef-4a02-82e3-735c382d3b09", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "0d44ec51-2979-437c-9d1d-cccf719e44f8", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "8a35aa02-3c14-4068-b92c-6d3f89d0e249", + "comment": "", + "command": "click", + "target": "css=.nav-item translate-i18n", + "targets": [ + ["css=.nav-item translate-i18n", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], + ["xpath=//a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "e5bc1b13-a4bf-4957-90d6-d687c945c732", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "d14a78bc-a8bc-4d79-abf5-4f91954008b8", + "comment": "", + "command": "click", + "target": "linkText=Metadata Providers", + "targets": [ + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "3144718e-3bb6-4e88-8571-b3fca31d432d", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "764605a3-d47d-4dd0-a117-2a5d8b662ec7", + "comment": "", + "command": "click", + "target": "linkText=Local Dynamic Metadata Provider V2", + "targets": [ + ["linkText=Local Dynamic Metadata Provider V2", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Local Dynamic Metadata Provider V2')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/b76c6aaf-4b5b-464b-8aa6-98d1125989b8/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Local Dynamic Metadata Provider V2')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "521a00d0-68cb-48ba-aa7a-28478af22174", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "3423ee08-377a-43a9-a608-1581eef0ce2e", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "8f91f629-8715-44a8-8895-f271d3c77547", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "293e15d9-de41-45ef-9fa8-94599c9b1f36", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [ + ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "7810f774-045f-4841-80e7-2c061a5377a3", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(2) .custom-control-label", + "targets": [ + ["css=tr:nth-child(2) .custom-control-label", "css:finder"], + ["xpath=//tr[2]/td/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "77b0759a-f41e-4ebc-99bc-24ee7a793f6d", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//history-list/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "12aa48b1-da07-456e-84a6-b1db2a72bc3c", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "c864f2b7-2da3-48ee-9d12-6e3deb69c451", + "comment": "", + "command": "click", + "target": "css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", + "targets": [ + ["css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", "css:finder"], + ["xpath=//div[2]/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "00209590-e55a-4559-a4f3-67e926d9e366", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "4eb17560-540b-435e-b99e-759d59435902", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//div[3]/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "3ad7ca88-e2e9-47af-a4de-6c35828b26d3", + "comment": "", + "command": "waitForElementVisible", + "target": "css=.bg-diff > .d-block:nth-child(2)", + "targets": [], + "value": "30000" + }, { + "id": "50f9b213-6291-4b1a-b778-3db8e38e80da", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=.bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'Entity Attributes Filter V2')]", "xpath:innerText"] + ], + "value": "Entity Attributes Filter V2" + }, { + "id": "4c5111e9-4f0f-4b96-9c62-20bba8aac910", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=.bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[3]", "xpath:position"] + ], + "value": "Entity Attributes Filter" + }, { + "id": "5bf7126d-9dfb-4b97-8685-fd00778423eb", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" + }] + }], + "suites": [{ + "id": "248ba015-77cd-430f-b973-d14fd4f39a27", + "name": "Default Suite", + "persistSession": false, + "parallel": false, + "timeout": 300, + "tests": ["d87336f9-5279-422f-bf4d-73403f34fc85"] + }], + "urls": ["http://localhost:10101/"], + "plugins": [] +} \ No newline at end of file diff --git a/backend/src/integration/resources/SHIBUI-1364-4.side b/backend/src/integration/resources/SHIBUI-1364-4.side new file mode 100644 index 000000000..c088ae27d --- /dev/null +++ b/backend/src/integration/resources/SHIBUI-1364-4.side @@ -0,0 +1,1464 @@ +{ + "id": "57bde36d-15e6-4364-b117-4fb36e1e4941", + "version": "2.0", + "name": "SHIBUI-1364-4", + "url": "http://localhost:10101", + "tests": [{ + "id": "d87336f9-5279-422f-bf4d-73403f34fc85", + "name": "SHIBUI-1364-4", + "commands": [{ + "id": "7e3c1218-65cd-4730-b715-ca9c922d75d3", + "comment": "", + "command": "open", + "target": "/login", + "targets": [], + "value": "" + }, { + "id": "4a52ace7-3b8c-44f1-8686-89f59a83b968", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "e9e6c795-7a41-4231-86b5-6a6c5d013aa2", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "adminpass" + }, { + "id": "185a1e41-d3a3-4627-aae2-7f05059e9c7d", + "comment": "", + "command": "click", + "target": "name=submit", + "targets": [ + ["name=submit", "name"], + ["css=td:nth-child(1) > input", "css:finder"], + ["xpath=//input[@name='submit']", "xpath:attributes"], + ["xpath=//tr[3]/td/input", "xpath:position"] + ], + "value": "" + }, { + "id": "94e01321-ac2d-427f-89a5-7f816cea0f00", + "comment": "", + "command": "click", + "target": "css=#addNewDropdown > translate-i18n", + "targets": [ + ["css=#addNewDropdown > translate-i18n", "css:finder"], + ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], + ["xpath=//translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c65500ae-3b08-4c22-8c88-b4116d6e0c9b", + "comment": "", + "command": "click", + "target": "linkText=Metadata Provider", + "targets": [ + ["linkText=Metadata Provider", "linkText"], + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "c5ec3177-5a66-4901-a644-8c6cfbb99254", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "d093ad38-ab2d-4441-a60b-2c094d6938f9", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field4", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Dynamic Http Metadata Provider" + }, { + "id": "aac150b1-6140-476b-8bdb-ebb83a14812d", + "comment": "", + "command": "select", + "target": "id=/type", + "targets": [ + ["id=/type", "id"], + ["name=field2", "name"], + ["css=#\\/type", "css:finder"], + ["xpath=//select[@id='/type']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=DynamicHttpMetadataProvider" + }, { + "id": "7a60cb3c-ed3c-495c-8329-2fe52e72cceb", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[2]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "8cbc5dce-126e-4fb6-afcd-9651d9be6ba2", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/xmlId", + "targets": [], + "value": "10000" + }, { + "id": "c140099c-f6e3-4600-92b3-5b97e07a95ee", + "comment": "", + "command": "type", + "target": "id=/xmlId", + "targets": [ + ["id=/xmlId", "id"], + ["name=field7", "name"], + ["css=#\\/xmlId", "css:finder"], + ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "12345" + }, { + "id": "d8716eae-bb36-42ae-b505-2626c5a8c377", + "comment": "", + "command": "select", + "target": "id=/metadataRequestURLConstructionScheme/type", + "targets": [], + "value": "label=MetadataQueryProtocol" + }, { + "id": "326f3387-12c8-4294-843c-182fd8d06c46", + "comment": "", + "command": "click", + "target": "css=option:nth-child(2)", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='1: MetadataQueryProtocol']", "xpath:attributes"], + ["xpath=//select[@id='/metadataRequestURLConstructionScheme/type']/option[2]", "xpath:idRelative"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'MetadataQueryProtocol')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "516d7e81-3672-4dd7-811b-70ee38c21e52", + "comment": "", + "command": "click", + "target": "id=/metadataRequestURLConstructionScheme/content", + "targets": [ + ["id=/metadataRequestURLConstructionScheme/content", "id"], + ["name=field10", "name"], + ["css=#\\/metadataRequestURLConstructionScheme\\/content", "css:finder"], + ["xpath=//input[@id='/metadataRequestURLConstructionScheme/content']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "7b60ce4c-a16c-4bc5-9d9c-999f9fc6b197", + "comment": "", + "command": "type", + "target": "id=/metadataRequestURLConstructionScheme/content", + "targets": [ + ["id=/metadataRequestURLConstructionScheme/content", "id"], + ["name=field10", "name"], + ["css=#\\/metadataRequestURLConstructionScheme\\/content", "css:finder"], + ["xpath=//input[@id='/metadataRequestURLConstructionScheme/content']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "randomString" + }, { + "id": "cd0d4f15-2193-4814-8e72-f38d9d2221e2", + "comment": "", + "command": "click", + "target": "id=/requireValidMetadata.false", + "targets": [ + ["id=/requireValidMetadata.false", "id"], + ["css=#\\/requireValidMetadata\\.false", "css:finder"], + ["xpath=//input[@id='/requireValidMetadata.false']", "xpath:attributes"], + ["xpath=//div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "3b83fa2b-147f-4b7b-9b30-44c28b07576e", + "comment": "", + "command": "click", + "target": "id=/failFastInitialization.false", + "targets": [ + ["id=/failFastInitialization.false", "id"], + ["css=#\\/failFastInitialization\\.false", "css:finder"], + ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "175324e0-025d-4674-a3ee-51307a215079", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "30565900-4c02-4cb0-9d5a-c980349307ea", + "comment": "", + "command": "click", + "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/refreshDelayFactor", "id"], + ["name=field15", "name"], + ["css=#\\/dynamicMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='/dynamicMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "5b6ea5bf-d5c1-4d5e-bc15-ffabf67f74ec", + "comment": "", + "command": "type", + "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/refreshDelayFactor", "id"], + ["name=field15", "name"], + ["css=#\\/dynamicMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='/dynamicMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "0.5" + }, { + "id": "45ebbdf0-1a4b-43ef-bba4-2302208653b2", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "a51172e3-792f-4881-8083-efcb34c63e56", + "comment": "", + "command": "click", + "target": "css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", + "targets": [ + ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/dynamicMetadataResolverAttributes/minCacheDuration-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "07e1ade9-022c-4458-ba65-b7eecb4f8c0b", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "b1ec3405-0d75-45d6-8986-51c2f09c4dc4", + "comment": "", + "command": "click", + "target": "id=/dynamicMetadataResolverAttributes/minCacheDuration__option--1", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/minCacheDuration__option--1", "id"], + ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration__option--1", "css:finder"], + ["xpath=//li[@id='/dynamicMetadataResolverAttributes/minCacheDuration__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/minCacheDuration__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], + ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c64e2180-1b40-4bb9-8910-25a51438f27c", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "2793bf1b-177b-461f-b06c-0a584ab6eaf0", + "comment": "", + "command": "click", + "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", + "targets": [ + ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxCacheDuration-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "dc45395b-a584-4b7d-8c12-b6d0e669031a", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "87084a6a-8e89-4c00-a3d9-c104107a3ba2", + "comment": "", + "command": "click", + "target": "id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--3", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--3", "id"], + ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration__option--3", "css:finder"], + ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__option--3']", "xpath:attributes"], + ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__listbox']/li[4]", "xpath:idRelative"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ], + "value": "" + }, { + "id": "239001d8-35ff-41d0-95cf-7e81917a9e19", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "4c017bde-e242-4d2f-838e-a2a026e4292b", + "comment": "", + "command": "click", + "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", + "targets": [ + ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "57ea5bd7-1ee0-41d9-b39e-56aeddeec7a0", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "d477fd6a-2c15-4fb6-a199-d49aa495ef94", + "comment": "", + "command": "click", + "target": "id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--2", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--2", "id"], + ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData__option--2", "css:finder"], + ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "0783a0de-0a8d-4cc2-adc4-6ed94f277298", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "62f7ce3c-5cff-43c6-8ce6-a0e6bf2b2257", + "comment": "", + "command": "click", + "target": "css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", + "targets": [ + ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "a155f0af-2dd4-4906-a783-19a99d23a6a8", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "bf855df4-326e-484e-9022-d2c84e09e6f3", + "comment": "", + "command": "click", + "target": "id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3", "id"], + ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval__option--3", "css:finder"], + ["xpath=//li[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3']", "xpath:attributes"], + ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__listbox']/li[4]", "xpath:idRelative"], + ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ], + "value": "" + }, { + "id": "df2a3e70-d7d3-487b-a205-218e9987b060", + "comment": "", + "command": "click", + "target": "id=/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory", "id"], + ["name=field21", "name"], + ["css=#\\/dynamicMetadataResolverAttributes\\/persistentCacheManagerDirectory", "css:finder"], + ["xpath=//input[@id='/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory']", "xpath:attributes"], + ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "b25d9d91-b8f2-46ad-ac79-cbac34fa3f91", + "comment": "", + "command": "type", + "target": "id=/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory", "id"], + ["name=field21", "name"], + ["css=#\\/dynamicMetadataResolverAttributes\\/persistentCacheManagerDirectory", "css:finder"], + ["xpath=//input[@id='/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory']", "xpath:attributes"], + ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "%{idp.home}/cache" + }, { + "id": "5b546b6b-ee98-4852-8ffd-b95f7e68d954", + "comment": "", + "command": "click", + "target": "id=/dynamicMetadataResolverAttributes/initializeFromPersistentCacheInBackground.false", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/initializeFromPersistentCacheInBackground.false", "id"], + ["css=#\\/dynamicMetadataResolverAttributes\\/initializeFromPersistentCacheInBackground\\.false", "css:finder"], + ["xpath=//input[@id='/dynamicMetadataResolverAttributes/initializeFromPersistentCacheInBackground.false']", "xpath:attributes"], + ["xpath=//div[8]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "5743cab2-018a-4706-b052-0d26c8e1e963", + "comment": "", + "command": "click", + "target": "css=.label:nth-child(1)", + "targets": [ + ["css=.label:nth-child(1)", "css:finder"], + ["xpath=//li[3]/button/span", "xpath:position"] + ], + "value": "" + }, { + "id": "bf17ff0c-363f-43d6-91ba-4f8131c35ada", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "b777b343-71a0-4056-a85e-d8d548b993b2", + "comment": "", + "command": "click", + "target": "css=.btn-outline-secondary", + "targets": [ + ["css=.btn-outline-secondary", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "7a7f2f9c-0f95-4a5c-89c3-299a212f2fb9", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "22f7bf37-718c-4126-867b-67a383eefff5", + "comment": "", + "command": "click", + "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--2", + "targets": [ + ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--2", "id"], + ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--2", "css:finder"], + ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[3]", "xpath:position"], + ["xpath=//li[contains(.,'PT1M')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5320f384-0881-4e7a-b89f-33a57efb22ba", + "comment": "", + "command": "click", + "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "targets": [ + ["css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/metadataFilters/SignatureValidation/requireSignedRoot.parent']/label", "xpath:idRelative"], + ["xpath=//div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "f60a2a6e-2739-4da6-8e94-a5f0e7cf70de", + "comment": "", + "command": "click", + "target": "id=/metadataFilters/SignatureValidation/certificateFile", + "targets": [ + ["id=/metadataFilters/SignatureValidation/certificateFile", "id"], + ["name=field30", "name"], + ["css=#\\/metadataFilters\\/SignatureValidation\\/certificateFile", "css:finder"], + ["xpath=//input[@id='/metadataFilters/SignatureValidation/certificateFile']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "d1402eee-5e5c-4634-ac31-6843ed775bb8", + "comment": "", + "command": "type", + "target": "id=/metadataFilters/SignatureValidation/certificateFile", + "targets": [ + ["id=/metadataFilters/SignatureValidation/certificateFile", "id"], + ["name=field30", "name"], + ["css=#\\/metadataFilters\\/SignatureValidation\\/certificateFile", "css:finder"], + ["xpath=//input[@id='/metadataFilters/SignatureValidation/certificateFile']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "%{idp.home}/cert.key" + }, { + "id": "581415bb-bd83-4bc8-9417-da0a9781c7bd", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "6e976ed9-98a5-4e5d-8151-13a6c8498155", + "comment": "", + "command": "select", + "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", + "targets": [], + "value": "label=SPSSODescriptor" + }, { + "id": "4c21b4c9-6f8e-4520-b55c-9b945b97de01", + "comment": "", + "command": "click", + "target": "css=option:nth-child(2)", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='1: SPSSODescriptor']", "xpath:attributes"], + ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b027e53b-bdf7-40e5-a296-6f25eae50732", + "comment": "", + "command": "click", + "target": "id=/metadataFilters/EntityRoleWhiteList/removeRolelessEntityDescriptors", + "targets": [ + ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeRolelessEntityDescriptors.parent']/label", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "939aa904-89cf-4063-9b95-15eeb6f2d43c", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "c4d98111-537a-45a1-9bfd-e8d780a0c0b3", + "comment": "", + "command": "click", + "target": "css=.custom-control-label", + "targets": [ + ["css=.custom-control-label", "css:finder"], + ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Enable Metadata Provider?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "a57a12dd-b641-46eb-afce-4c7be5a8f180", + "comment": "", + "command": "click", + "target": "css=.save", + "targets": [ + ["css=.save", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "ae27b108-a2f4-4d4b-b375-b582ccc0ef56", + "comment": "", + "command": "waitForElementVisible", + "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "targets": [ + ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'DynamicHttpMetadataResolver')]", "xpath:innerText"] + ], + "value": "10000" + }, { + "id": "8c52471a-70f5-43aa-b670-6f8d22e18668", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "targets": [ + ["css=td:nth-child(3)", "css:finder"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'DynamicHttpMetadataResolver')]", "xpath:innerText"] + ], + "value": "DynamicHttpMetadataResolver" + }, { + "id": "31a8587f-8ac0-4512-98ec-6cd230dfb0b6", + "comment": "", + "command": "click", + "target": "css=.btn:nth-child(2) > translate-i18n", + "targets": [ + ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], + ["xpath=//div/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "fb7aea4e-7991-482c-b673-de998c20129c", + "comment": "", + "command": "click", + "target": "css=#filters .actions span", + "targets": [ + ["css=#filters .actions span", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], + ["xpath=//div/a/span", "xpath:position"], + ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "990cf83b-5650-4b03-8b41-bdb5560a60fa", + "comment": "", + "command": "select", + "target": "name=type", + "targets": [], + "value": "label=EntityAttributes" + }, { + "id": "5d3daf7a-a4e0-4767-a1ef-2416270bfae4", + "comment": "", + "command": "click", + "target": "css=option:nth-child(2)", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "f013d7b6-96c3-4155-ac1e-cff223e5e547", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "a58e088d-329b-4cfb-949b-eea9fdbdad37", + "comment": "", + "command": "click", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field39", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "60177908-3143-407a-8bdf-a045463d5490", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field39", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Entity Attributes Filter" + }, { + "id": "67d52837-5e50-487c-a744-9ee0ea39f5b7", + "comment": "", + "command": "click", + "target": "id=/entityAttributesFilterTarget.target", + "targets": [ + ["id=/entityAttributesFilterTarget.target", "id"], + ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], + ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], + ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], + ["xpath=//div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "3512eb60-34d4-455b-8a2c-e6c98d382cac", + "comment": "", + "command": "type", + "target": "id=/entityAttributesFilterTarget.target", + "targets": [ + ["id=/entityAttributesFilterTarget.target", "id"], + ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], + ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], + ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], + ["xpath=//div/div/input", "xpath:position"] + ], + "value": "unicon" + }, { + "id": "a9d49b1c-c794-4c54-83ea-c61bd3011dba", + "comment": "", + "command": "click", + "target": "css=.btn-success:nth-child(1)", + "targets": [ + ["css=.btn-success:nth-child(1)", "css:finder"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "dff6b5d5-02ae-41a1-bae4-6ce39aeca199", + "comment": "", + "command": "click", + "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], + ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "356339ea-0caf-406a-a2d6-b3eb991b7af6", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/omitNotBefore.parent']/label", "xpath:idRelative"], + ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "fdb64234-9424-4e0d-8be0-dd7c43859de3", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/forceAuthn.parent']/label", "xpath:idRelative"], + ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c722da17-b739-4fa6-b731-8b347e3c96e3", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1abe39e3-d7f2-447f-aff4-3382cc648e29", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "93505bd6-8a5e-4ef0-8f50-d2dc9bce71d6", + "comment": "", + "command": "click", + "target": "css=.input-group-append > .btn", + "targets": [ + ["css=.input-group-append > .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//auto-complete/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "70e68495-a52f-4c3b-aeb4-fac69e8cda96", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "b269b8f4-8191-47c1-a84a-5b64df6aadcb", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--2", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/0__option--2", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--2", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "c4431fc6-cbd3-4b7b-b1fd-b30141aa2af8", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(6) .custom-control-label", + "targets": [ + ["css=tr:nth-child(6) .custom-control-label", "css:finder"], + ["xpath=//tr[6]/td[2]/fieldset/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Toggle eduPersonAffiliation')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "7b22d9b0-81f4-47c6-91f1-713c89cf9dd1", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(7) .custom-control-label", + "targets": [ + ["css=tr:nth-child(7) .custom-control-label", "css:finder"], + ["xpath=//tr[7]/td[2]/fieldset/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Toggle eduPersonScopedAffiliation')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "ad3ec36d-6e6a-4650-b7a1-0c8efaaeabe3", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(8) .custom-control-label", + "targets": [ + ["css=tr:nth-child(8) .custom-control-label", "css:finder"], + ["xpath=//tr[8]/td[2]/fieldset/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Toggle eduPersonPrimaryAffiliation')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "25090cbb-9e11-4938-b44e-70326857422d", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "772bafa8-7089-4895-a66b-0d3c333c7245", + "comment": "", + "command": "waitForElementVisible", + "target": "css=span:nth-child(4)", + "targets": [], + "value": "10000" + }, { + "id": "e9f4ddf4-db8a-4bda-88cc-66173717986c", + "comment": "", + "command": "assertText", + "target": "css=span:nth-child(4)", + "targets": [ + ["css=span:nth-child(4)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] + ], + "value": "EntityAttributes" + }, { + "id": "9a99cc7c-55e1-4f62-bf18-e5936e8a98a7", + "comment": "", + "command": "click", + "target": "linkText=Add Filter", + "targets": [ + ["linkText=Add Filter", "linkText"], + ["css=#filters > .numbered-header .btn", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/87ec177a-ad7c-4189-a154-2fe73caaf2e8/filter/new')]", "xpath:href"], + ["xpath=//div[2]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'  Add Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "30bd8306-1aa2-4151-9076-68ce955052c3", + "comment": "", + "command": "select", + "target": "name=type", + "targets": [], + "value": "label=NameIDFormat" + }, { + "id": "a0388dc6-4668-48bb-ab21-2ecaaade5ff0", + "comment": "", + "command": "click", + "target": "css=option:nth-child(3)", + "targets": [ + ["css=option:nth-child(3)", "css:finder"], + ["xpath=//option[@value='NameIDFormat']", "xpath:attributes"], + ["xpath=//option[3]", "xpath:position"], + ["xpath=//option[contains(.,'NameIDFormat')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "be76769e-6422-4b1f-a2e4-00a32d394057", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field59", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Name ID Format Filter" + }, { + "id": "dbae3f45-d828-4a82-bc01-a1e48381fa2e", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "81373637-8e36-4736-9b2a-7b8d477dc2c1", + "comment": "", + "command": "click", + "target": "id=/nameIdFormatFilterTarget.valuedd", + "targets": [ + ["id=/nameIdFormatFilterTarget.valuedd", "id"], + ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], + ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], + ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "7cf83d2f-841e-48f3-997e-3dfedfb47dec", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "f562c710-39fc-490d-80c9-d3525722397c", + "comment": "", + "command": "click", + "target": "linkText=Regex", + "targets": [ + ["linkText=Regex", "linkText"], + ["css=.dropdown-item:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div/div/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "0f4f0257-b63c-4724-b308-f54acf2afc2b", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "c5dc3e04-eb5a-4885-92ed-3425da3026e6", + "comment": "", + "command": "sendKeys", + "target": "id=/nameIdFormatFilterTarget.target", + "targets": [], + "value": "/foo.*/" + }, { + "id": "d2cbc813-89e5-4801-a9fe-5e0e775a419f", + "comment": "", + "command": "click", + "target": "css=#\\/removeExistingFormats\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/removeExistingFormats\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/removeExistingFormats.parent']/label", "xpath:idRelative"], + ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Remove Existing Formats?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "77dfeb05-38e3-4ef8-9566-06e7597d464c", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "3535cbe5-1ade-4d00-ab7f-2a8d1a5a5f6c", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "285fa762-484b-4a81-bdc3-68358cbbe895", + "comment": "", + "command": "click", + "target": "css=.mb-4:nth-child(1) .actions span", + "targets": [ + ["css=.mb-4:nth-child(1) .actions span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], + ["xpath=//div/button/span", "xpath:position"], + ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "3234d83c-4f30-418b-a9fb-e717862fd493", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "c82354e7-3041-4b44-952a-a654510d0069", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "30000" + }, { + "id": "9e520768-e930-483e-b078-c39be294438f", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field88", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Dynamic Http Metadata Provider V2" + }, { + "id": "8c2f44ff-29f5-49b0-94ee-6e79e2fe871b", + "comment": "", + "command": "click", + "target": "css=.nav > .nav-link:nth-child(2)", + "targets": [ + ["linkText=Dynamic Attributes", "linkText"], + ["css=.nav > .nav-link:nth-child(2)", "css:finder"], + ["xpath=(//a[contains(@href, '/metadata/provider/e9de09a6-6d16-4e94-bba4-13fa38c312ff/edit/dynamic')])[2]", "xpath:href"], + ["xpath=//nav/a[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "a339275d-3c7a-4a4d-9e6e-cf587521e65c", + "comment": "", + "command": "type", + "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", + "targets": [ + ["id=/dynamicMetadataResolverAttributes/refreshDelayFactor", "id"], + ["name=field99", "name"], + ["css=#\\/dynamicMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='/dynamicMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "0.7" + }, { + "id": "7cab82a7-0703-4087-b0d4-5d02a97c28f2", + "comment": "", + "command": "click", + "target": "css=.btn-info > translate-i18n", + "targets": [ + ["css=.btn-info > translate-i18n", "css:finder"], + ["xpath=//div[2]/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "de042711-231a-4090-8845-7a4c3260264b", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "9a6b3095-e834-4f31-9d54-0561f556052f", + "comment": "", + "command": "click", + "target": "linkText=Version History", + "targets": [ + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/e9de09a6-6d16-4e94-bba4-13fa38c312ff/configuration/history')]", "xpath:href"], + ["xpath=//div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'  Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d441ff7f-c099-4dd4-b6a7-53f220eb9023", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "5702d042-d8fd-4a3a-b354-c2378c6a395c", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [ + ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "10cb69e6-7738-4536-bed2-c71c812f1246", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(2) .custom-control-label", + "targets": [ + ["css=tr:nth-child(2) .custom-control-label", "css:finder"], + ["xpath=//tr[2]/td/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "bf03f3d5-c6f3-4693-9145-3afefbc84bab", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//history-list/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b69eee8b-5446-406a-b200-d315cd1076ac", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "f2dd5a70-a30f-4011-a3f5-cb0862c76edb", + "comment": "", + "command": "waitForElementVisible", + "target": "css=.bg-diff > .d-block:nth-child(2)", + "targets": [], + "value": "30000" + }, { + "id": "678221bc-06e0-4aa3-884f-e56d8418f1b9", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=.bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "Dynamic Http Metadata Provider V2" + }, { + "id": "06f4a490-ba9f-43e6-be58-9009f931efed", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=.bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//span[3]", "xpath:position"] + ], + "value": "Dynamic Http Metadata Provider" + }, { + "id": "010da979-20a9-419f-89ff-d897f11e6ccb", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c6460bfb-987c-46e5-bfb1-dad5392a2029", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) a", + "targets": [ + ["linkText=Oct 03, 2019 10:37:01 (Current)", "linkText"], + ["css=tr:nth-child(1) a", "css:finder"], + ["xpath=//a[contains(@href, '/metadata/provider/28ab5bc2-c16d-4460-8e62-18b788b40b8d/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Oct 03, 2019 10:37:01 (Current)')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "f4d519b0-c4f5-4421-a7d2-c745de1c695f", + "comment": "", + "command": "click", + "target": "css=.btn:nth-child(2) > translate-i18n", + "targets": [ + ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], + ["xpath=//div/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "53fcbf86-d8f4-4366-b9ea-1a01dd89ac08", + "comment": "", + "command": "click", + "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "targets": [ + ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "65b8ceb0-7589-465c-be12-123bd78de9ea", + "comment": "", + "command": "click", + "target": "css=.justify-content-between > .btn:nth-child(1) > translate-i18n", + "targets": [ + ["css=.justify-content-between > .btn:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div[2]/div/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div[2]/div/div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Edit')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "2457e1c1-6ff5-4839-bdb4-311aadc87b78", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "30000" + }, { + "id": "4600a21d-e332-4d99-8903-691a6126722f", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field118", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "Entity Attributes Filter V2" + }, { + "id": "7b064f9b-5820-43cf-aca4-b5f8df846200", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//div[2]/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "159089ea-e8b4-4f68-b2b1-5f99926be3a5", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "2e2a837d-0904-40bc-bef8-92d26660e04f", + "comment": "", + "command": "click", + "target": "css=.nav-item translate-i18n", + "targets": [ + ["css=.nav-item translate-i18n", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], + ["xpath=//a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "e8341415-d801-4e73-a8fc-3e89dcea974f", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "e4a0c0aa-fba0-424c-8fe3-d146fa6b042b", + "comment": "", + "command": "click", + "target": "linkText=Metadata Providers", + "targets": [ + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "05e127fb-ed67-404f-9a81-9285df8f8228", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "99e05dae-06fb-4552-9250-8566465ec527", + "comment": "", + "command": "click", + "target": "linkText=Dynamic Http Metadata Provider V2", + "targets": [ + ["linkText=Dynamic Http Metadata Provider V2", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Dynamic Http Metadata Provider V2')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/28ab5bc2-c16d-4460-8e62-18b788b40b8d/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Dynamic Http Metadata Provider V2')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "43a67b75-0971-49ce-b457-0c0424a5a2aa", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d0a80d37-3120-4784-95aa-f74c22d5a6cc", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "7618b70c-e0bd-4f84-9012-e152ec14b8d0", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [ + ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "cfbfbea3-80b5-442b-8c78-efbe54003145", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(2) .custom-control-label", + "targets": [ + ["css=tr:nth-child(2) .custom-control-label", "css:finder"], + ["xpath=//tr[2]/td/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "e0604fb8-e01c-4c3b-b8ff-35c215c8511c", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//history-list/button", "xpath:position"], + ["xpath=//button[contains(.,'Compare Selected(2)')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "751db2ce-ec90-4765-a13d-3aa7841d014d", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "359620ef-2e60-425e-9513-a303075b3006", + "comment": "", + "command": "click", + "target": "css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", + "targets": [ + ["css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", "css:finder"], + ["xpath=//div[2]/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "e83dc2da-ad95-4e50-b969-57721eb8f1dc", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//div[3]/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c2102a31-6e18-4d6c-8146-e23459403b65", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=.bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'Entity Attributes Filter V2')]", "xpath:innerText"] + ], + "value": "Entity Attributes Filter V2" + }, { + "id": "cac6c125-c81b-40af-ae21-2b717df9511e", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=.bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[3]", "xpath:position"] + ], + "value": "Entity Attributes Filter" + }, { + "id": "3f618724-2825-4ebe-97d5-038a67a23e9b", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" + }] + }], + "suites": [{ + "id": "248ba015-77cd-430f-b973-d14fd4f39a27", + "name": "Default Suite", + "persistSession": false, + "parallel": false, + "timeout": 300, + "tests": ["d87336f9-5279-422f-bf4d-73403f34fc85"] + }], + "urls": ["http://localhost:10101/"], + "plugins": [] +} \ No newline at end of file diff --git a/backend/src/integration/resources/SHIBUI-1385-1.side b/backend/src/integration/resources/SHIBUI-1385-1.side index af7a78773..e9827df33 100644 --- a/backend/src/integration/resources/SHIBUI-1385-1.side +++ b/backend/src/integration/resources/SHIBUI-1385-1.side @@ -1775,10 +1775,11 @@ "id": "3baa7bd3-55c0-4d10-8aa3-c0daa63ec4d4", "comment": "", "command": "assertText", - "target": "css=.px-3 > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", "targets": [ - ["css=.px-3 > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", "css:finder"], - ["xpath=//summary-property/div/span", "xpath:position"], + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -1786,34 +1787,35 @@ "id": "0d355ff0-0449-49a7-ae75-14d7c405b97c", "comment": "", "command": "assertText", - "target": "css=.px-3:nth-child(2) > summary-property:nth-child(2) tr:nth-child(2) > td:nth-child(1)", + "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "targets": [ - ["css=.px-3:nth-child(2) > summary-property:nth-child(2) tr:nth-child(2) > td:nth-child(1)", "css:finder"], - ["xpath=//div[2]/section[2]/summary-property/div/table/tbody/tr[2]/td", "xpath:position"], - ["xpath=//td[contains(.,'http://test.org/assert2')]", "xpath:innerText"] + ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] ], "value": "http://test.org/assert2" }, { "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=summary-property:nth-child(2) > .mb-3 > .list-unstyled > li:nth-child(5)", + "target": "css=array-property:nth-child(8) .border-0", "targets": [ - ["css=summary-property:nth-child(2) > .mb-3 > .list-unstyled > li:nth-child(5)", "css:finder"], - ["xpath=//li[5]", "xpath:position"], - ["xpath=//li[contains(.,'somethingElse')]", "xpath:innerText"] + ["css=array-property:nth-child(8) .border-0", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:idRelative"], + ["xpath=//section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:position"] ], "value": "somethingElse" }, { "id": "18636780-2feb-458f-97be-cf4a625b22e1", "comment": "", "command": "assertText", - "target": "css=summary-property:nth-child(10) .d-block:nth-child(2)", + "target": "css=.d-flex:nth-child(5) > .py-2 > span", "targets": [ - ["css=summary-property:nth-child(10) .d-block:nth-child(2)", "css:finder"], - ["xpath=//summary-property[10]/div/span", "xpath:position"] + ["css=.d-flex:nth-child(5) > .py-2 > span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[9]/div/div[2]/object-property/array-property/div/div[5]/div/span", "xpath:idRelative"], + ["xpath=//div/div[5]/div/span", "xpath:position"] ], - "value": "true" + "value": "True" }, { "id": "1406d7e4-907d-4359-8de8-a40206f0993e", "comment": "", @@ -2052,13 +2054,6 @@ ["xpath=//section[4]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] ], "value": "http://test.org/logout2" - }, { - "id": "e1cba732-dd34-4c73-9d4c-89c440975dd8", - "comment": "", - "command": "runScript", - "target": "window.scrollTo(0,2060)", - "targets": [], - "value": "" }, { "id": "fe47ffd2-d2a0-4264-90fe-31b998f81ac2", "comment": "", @@ -2104,56 +2099,6 @@ ["xpath=//section[8]/div/div[2]/object-property/array-property/div/div/div[3]/div/span", "xpath:position"] ], "value": "True" - }, { - "id": "cf6660cb-2086-452f-a5e5-ad64db784d92", - "comment": "", - "command": "click", - "target": "css=.btn:nth-child(4) > translate-i18n", - "targets": [ - ["css=.btn:nth-child(4) > translate-i18n", "css:finder"], - ["xpath=//div[@id='header']/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Back to Top')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "6a183f25-1a9c-4774-a2cc-975a641ecef7", - "comment": "", - "command": "click", - "target": "css=.btn-link:nth-child(1) > translate-i18n", - "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "c0c0f9e1-af95-47b0-8aa8-ed141735d83b", - "comment": "", - "command": "click", - "target": "css=.breadcrumb-item > a", - "targets": [ - ["css=.breadcrumb-item > a", "css:finder"], - ["xpath=//a[contains(text(),'Dashboard')]", "xpath:link"], - ["xpath=(//a[contains(@href, '/dashboard')])[2]", "xpath:href"], - ["xpath=//ol/li/a", "xpath:position"] - ], - "value": "" - }, { - "id": "2536386b-315e-4b39-b9a7-badcfd0dfbb1", - "comment": "", - "command": "click", - "target": "linkText=Test Provider", - "targets": [ - ["linkText=Test Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/resolver/5916c370-370b-4fae-94c2-a9a9675ae95b/configuration/options')]", "xpath:href"], - ["xpath=//td/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Provider')]", "xpath:innerText"] - ], - "value": "" }, { "id": "2c46cdcd-d5a5-47fe-aa7b-0120fd2fcfc9", "comment": "", @@ -2346,6 +2291,13 @@ "target": "2000", "targets": [], "value": "" + }, { + "id": "3e8d20f4-879c-4105-8797-17afd60ba34b", + "comment": "", + "command": "waitForElementEditable", + "target": "id=/mdui/displayName", + "targets": [], + "value": "30000" }, { "id": "6f422a9d-6c2f-4200-bdd3-411ed44773a3", "comment": "", @@ -2600,6 +2552,13 @@ ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property/div/span[3]", "xpath:position"] ], "value": "Display Name" + }, { + "id": "dd9d3cb6-e895-4fcb-ae5e-c6da258a65a5", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1385-2.side b/backend/src/integration/resources/SHIBUI-1385-2.side index 58b330239..549d6840d 100644 --- a/backend/src/integration/resources/SHIBUI-1385-2.side +++ b/backend/src/integration/resources/SHIBUI-1385-2.side @@ -538,10 +538,11 @@ "id": "52f5680c-c63d-411e-8332-52901f12ea3b", "comment": "", "command": "assertText", - "target": "css=.px-3:nth-child(1) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "targets": [ - ["css=.px-3:nth-child(1) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", "css:finder"], - ["xpath=//summary-property/div/span", "xpath:position"], + ["css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], "value": "Test Metadata Provider" @@ -549,10 +550,11 @@ "id": "67ff44aa-1efd-4b13-a0e9-3648a09911dd", "comment": "", "command": "assertText", - "target": "css=.px-3:nth-child(2) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "targets": [ - ["css=.px-3:nth-child(2) > summary-property:nth-child(2) > .mb-3 > .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[2]/summary-property/div/span", "xpath:position"], + ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123')]", "xpath:innerText"] ], "value": "123" @@ -566,21 +568,29 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" + }, { + "id": "c5371051-48e0-4afd-9661-2db2ad0b22f0", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" }, { "id": "1067b0b4-8aff-4972-b6f5-e4479eca9150", "comment": "", "command": "waitForElementPresent", - "target": "css=.badge-success", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", "targets": [ - ["css=.badge > span", "css:finder"], - ["xpath=//span/span", "xpath:position"] + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] ], "value": "10000" }, { "id": "f48dd1b5-607a-485b-b1d5-03301f99b9ce", "comment": "", "command": "assertText", - "target": "linkText=Test Metadata Provider", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", "targets": [ ["linkText=Test Metadata Provider", "linkText"], ["css=td > a", "css:finder"], @@ -594,38 +604,33 @@ "id": "5eccd4e9-a451-4ec8-a9e1-1e1f8e771677", "comment": "", "command": "assertText", - "target": "css=td:nth-child(3)", + "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", "targets": [ - ["css=td:nth-child(3)", "css:finder"], - ["xpath=//td[3]", "xpath:position"], - ["xpath=//td[contains(.,'FileBackedHttpMetadataResolver')]", "xpath:innerText"] + ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'FileBackedHttpMetadataResolver')]", "xpath:innerText"] ], "value": "FileBackedHttpMetadataResolver" + }, { + "id": "67beda7f-7568-443b-9a60-03face9d936b", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" }, { "id": "c768c2c1-09d4-46fe-8007-42fb4b3f4aaa", "comment": "", "command": "assertText", - "target": "css=td:nth-child(4)", + "target": "css=.author", "targets": [ - ["css=td:nth-child(4)", "css:finder"], - ["xpath=//td[4]", "xpath:position"], - ["xpath=//td[contains(.,'admin')]", "xpath:innerText"] + ["css=.author", "css:finder"], + ["xpath=//div[@id='header']/metadata-header/div/div/h5/span[2]", "xpath:idRelative"], + ["xpath=//span[2]", "xpath:position"], + ["xpath=//span[contains(.,'admin')]", "xpath:innerText"] ], "value": "admin" - }, { - "id": "8283ffc5-d46c-4a07-b95e-1534dfd34c02", - "comment": "", - "command": "click", - "target": "linkText=Test Metadata Provider", - "targets": [ - ["linkText=Test Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/ae086029-5871-4951-bcf0-8903d7a1a1f7/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] - ], - "value": "" }, { "id": "67578648-0800-4716-8c0c-27741770249a", "comment": "", @@ -695,20 +700,6 @@ "target": "2000", "targets": [], "value": "" - }, { - "id": "cf005a45-74ae-4f7a-a53c-ed59d63f7114", - "comment": "", - "command": "click", - "target": "linkText=Test Metadata Provider", - "targets": [ - ["linkText=Test Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/ae086029-5871-4951-bcf0-8903d7a1a1f7/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] - ], - "value": "" }, { "id": "ea880e6a-498a-427a-bc08-8058137d62e0", "comment": "", @@ -1004,14 +995,18 @@ "id": "c3ad6c24-736a-492a-8952-b368e123d8e1", "comment": "", "command": "waitForElementVisible", - "target": "linkText=Test Metadata Provider", - "targets": [], + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "targets": [ + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] + ], "value": "10000" }, { "id": "8868c054-2e6a-403e-ba2b-499a56730d71", "comment": "", "command": "click", - "target": "linkText=Test Metadata Provider", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", "targets": [ ["linkText=Test Metadata Provider", "linkText"], ["css=td > a", "css:finder"], @@ -1313,6 +1308,13 @@ ["xpath=//span[3]", "xpath:position"] ], "value": "Test Metadata Provider" + }, { + "id": "03d7493c-75c4-4923-8330-686b12ff7a5b", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1391.side b/backend/src/integration/resources/SHIBUI-1391.side index 54e9abafe..77aef6107 100644 --- a/backend/src/integration/resources/SHIBUI-1391.side +++ b/backend/src/integration/resources/SHIBUI-1391.side @@ -254,11 +254,48 @@ "id": "44e705a1-f284-4303-a0b6-c4bc9896c78d", "comment": "", "command": "pause", - "target": "1000", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "347b93b2-2fc6-43fb-b674-f3ef40d0adab", + "comment": "", + "command": "click", + "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "targets": [ + ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "f78882a2-fd36-444f-b502-045b5ffb26e1", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "07b46683-5914-4795-9f2a-b8f5316858d7", + "comment": "", + "command": "click", + "target": "css=.section-body", + "targets": [ + ["css=.section-body", "css:finder"], + ["xpath=//section/div[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "ab04d081-59ad-4dab-8af4-ff313def82c0", + "comment": "", + "command": "pause", + "target": "500", "targets": [], "value": "" }, { - "id": "824b4515-ae14-436e-a56f-d631ea9e1edc", + "id": "239b5688-ecdd-4530-ba5c-379ea7490f04", "comment": "", "command": "click", "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", @@ -271,7 +308,14 @@ ], "value": "" }, { - "id": "9ee7065a-823e-4b4a-b212-0582eeaf7a00", + "id": "0997ef36-5d8d-45e7-b2a8-86b4c884e847", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "d5bc189f-eb4f-4378-9507-c82d98d8ecb4", "comment": "", "command": "click", "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--0", @@ -284,6 +328,13 @@ ["xpath=//li[contains(.,'PT0S')]", "xpath:innerText"] ], "value": "" + }, { + "id": "207eaafc-845d-456d-b4b8-9182312a109e", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" }, { "id": "618cc5f1-417b-4bc6-9388-3238f2304904", "comment": "", @@ -296,6 +347,13 @@ ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] ], "value": "" + }, { + "id": "b7b4b979-81d9-4df9-84d7-1c7cab785bcf", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" }, { "id": "a89f1b4d-10bd-48f7-9b97-865710cfe01f", "comment": "", @@ -522,20 +580,6 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "12673aa7-fc4e-4877-9842-a9d88dbc2d97", - "comment": "", - "command": "click", - "target": "linkText=File Backed HTTP Metadata Provider", - "targets": [ - ["linkText=File Backed HTTP Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'File Backed HTTP Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/da22a0b7-40d7-418c-bbe9-7ba4c37d3905/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'File Backed HTTP Metadata Provider')]", "xpath:innerText"] - ], - "value": "" }, { "id": "daa2d46a-d238-4a48-aca7-0f34c9b93d5f", "comment": "", @@ -697,6 +741,13 @@ ["xpath=//div/div/input", "xpath:position"] ], "value": ".*" + }, { + "id": "f9d3ccc6-65d1-46dd-9d05-2d1bd74cc89e", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1392.side b/backend/src/integration/resources/SHIBUI-1392.side index 20cb9c8ee..0056a4dd6 100644 --- a/backend/src/integration/resources/SHIBUI-1392.side +++ b/backend/src/integration/resources/SHIBUI-1392.side @@ -263,20 +263,6 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "1566f2a0-790c-4594-806c-7dd6c9c47143", - "comment": "", - "command": "click", - "target": "linkText=Test Provider with Script Filter", - "targets": [ - ["linkText=Test Provider with Script Filter", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Provider with Script Filter')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/194c05bb-df26-4fd3-b970-ca30f8855e0b/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Provider with Script Filter')]", "xpath:innerText"] - ], - "value": "" }, { "id": "3b38c153-5b8d-4a3c-a8c2-f089d86e2ae3", "comment": "", @@ -389,20 +375,13 @@ ["xpath=//p", "xpath:position"] ], "value": "" - }, { - "id": "84be6a98-5739-42e8-b7ca-06a6c86e9f40", - "comment": "", - "command": "editContent", - "target": "id=/nameIdFormatFilterTarget.target", - "targets": [], - "value": "(true);" }, { "id": "05870356-d3db-4540-bb3f-db34b1cf65f1", "comment": "", "command": "sendKeys", "target": "id=/nameIdFormatFilterTarget.target", "targets": [], - "value": "eval" + "value": "eval(true);" }, { "id": "d7721254-68c9-4140-af2a-1757cce99da7", "comment": "", @@ -441,14 +420,19 @@ "id": "c51608a2-5e1a-4f70-8856-cbef5eb588ed", "comment": "", "command": "waitForElementVisible", - "target": "css=.td-lg:nth-child(4)", - "targets": [], + "target": "css=span:nth-child(4)", + "targets": [ + ["css=span:nth-child(4)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'NameIDFormat')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "83f6f403-40b0-4f12-82e2-a14e301dd7ff", "comment": "", "command": "assertText", - "target": "css=.td-lg:nth-child(4)", + "target": "css=span:nth-child(4)", "targets": [ ["css=.td-lg:nth-child(4)", "css:finder"], ["xpath=//td[4]", "xpath:position"], @@ -459,24 +443,30 @@ "id": "1b449f50-1c54-41a0-a50b-65364340b7d2", "comment": "", "command": "click", - "target": "css=.fa-edit", + "target": "css=.mx-4", "targets": [ - ["css=.fa-edit", "css:finder"], - ["xpath=//td[6]/a/i", "xpath:position"] + ["css=.mx-4", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Filter with Script')]", "xpath:innerText"] ], "value": "" }, { "id": "ad613704-0718-4b83-97f1-b49897f510eb", "comment": "", "command": "waitForElementVisible", - "target": "id=/nameIdFormatFilterTarget.target", - "targets": [], + "target": "css=.list-unstyled:nth-child(2)", + "targets": [ + ["css=.list-unstyled:nth-child(2)", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div[2]/metadata-configuration/div/section/div/div[2]/object-property/filter-target-property/array-property/div/div/ul", "xpath:idRelative"], + ["xpath=//div/div/ul", "xpath:position"] + ], "value": "10000" }, { "id": "6762fdb2-6744-4238-a2df-d529ab3b6102", "comment": "", "command": "assertText", - "target": "id=/nameIdFormatFilterTarget.target", + "target": "css=.list-unstyled:nth-child(2)", "targets": [ ["id=/nameIdFormatFilterTarget.target", "id"], ["css=#\\/nameIdFormatFilterTarget\\.target", "css:finder"], @@ -485,6 +475,13 @@ ["xpath=//p[contains(.,'eval(true)')]", "xpath:innerText"] ], "value": "eval(true);" + }, { + "id": "29f454bc-2f1d-44b4-b9f9-fb390b2eddb2", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ diff --git a/backend/src/integration/resources/SHIBUI-1407-1.side b/backend/src/integration/resources/SHIBUI-1407-1.side new file mode 100644 index 000000000..fed3a2774 --- /dev/null +++ b/backend/src/integration/resources/SHIBUI-1407-1.side @@ -0,0 +1,2386 @@ +{ + "id": "1b31a551-eb09-4bd4-8db9-694bf1539a46", + "version": "2.0", + "name": "SHIBUI-1407-1", + "url": "http://localhost:10101", + "tests": [{ + "id": "841ade0e-83bd-4a4b-94f2-de6bd5c536b2", + "name": "SHIBUI-1407-1", + "commands": [{ + "id": "d6b23986-6d14-4b10-be7b-a7e6f576e3b2", + "comment": "", + "command": "open", + "target": "/login", + "targets": [], + "value": "" + }, { + "id": "f77ecd77-01c2-4463-944e-1a69600f5297", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "c9bf0a22-faa9-494c-b2ed-6c9653248551", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "adminpass" + }, { + "id": "7ab1d854-3582-4101-bd19-f94b8f438090", + "comment": "", + "command": "sendKeys", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "${KEY_ENTER}" + }, { + "id": "ad3811ad-f95b-4cca-a5d9-63a10063a652", + "comment": "", + "command": "click", + "target": "css=#addNewDropdown > translate-i18n", + "targets": [ + ["css=#addNewDropdown > translate-i18n", "css:finder"], + ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], + ["xpath=//translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1caf8be6-a4d9-4b3b-ace1-0f76d3600d62", + "comment": "", + "command": "click", + "target": "linkText=Metadata Source", + "targets": [ + ["linkText=Metadata Source", "linkText"], + ["css=.dropdown-menu > .nav-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li/div/a", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '')])[2]", "xpath:href"], + ["xpath=//div/a", "xpath:position"] + ], + "value": "" + }, { + "id": "295789cf-0603-4fd2-9971-c2ed21d2fc81", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "218e51fd-49e6-400b-9d7f-61bcd8e0c074", + "comment": "", + "command": "click", + "target": "id=/serviceProviderName", + "targets": [ + ["id=/serviceProviderName", "id"], + ["name=field1", "name"], + ["css=#\\/serviceProviderName", "css:finder"], + ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "9ee43e46-ab9e-46b1-8eb2-9718fb98bda2", + "comment": "", + "command": "type", + "target": "id=/serviceProviderName", + "targets": [ + ["id=field1", "id"], + ["name=field1", "name"], + ["css=#field1", "css:finder"], + ["xpath=//input[@id='field1']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Test Provider" + }, { + "id": "7fe7298b-275c-4797-8d1b-f4547b63eb02", + "comment": "", + "command": "type", + "target": "id=/entityId", + "targets": [ + ["id=/entityId", "id"], + ["name=field2", "name"], + ["css=#\\/entityId", "css:finder"], + ["xpath=//input[@id='/entityId']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "test-1234" + }, { + "id": "8739ddfa-7812-46b3-bee7-b4bc73a3dd35", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[2]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "4d88e469-df2f-40ee-a557-b5eafbc24ef3", + "comment": "", + "command": "click", + "target": "id=/organization/name", + "targets": [ + ["id=/organization/name", "id"], + ["name=field5", "name"], + ["css=#\\/organization\\/name", "css:finder"], + ["xpath=//input[@id='/organization/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "e0168286-af90-4c0a-a0ba-0dd97d64849b", + "comment": "", + "command": "type", + "target": "id=/organization/name", + "targets": [ + ["id=field5", "id"], + ["name=field5", "name"], + ["css=#field5", "css:finder"], + ["xpath=//input[@id='field5']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Test Org" + }, { + "id": "8f6dcf95-41e4-446a-a7fb-a064d928e1bc", + "comment": "", + "command": "type", + "target": "id=/organization/displayName", + "targets": [ + ["id=/organization/displayName", "id"], + ["name=field6", "name"], + ["css=#\\/organization\\/displayName", "css:finder"], + ["xpath=//input[@id='/organization/displayName']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "Test Org Name" + }, { + "id": "7cc2068e-3fa3-4f1c-ac97-c63e78911b9e", + "comment": "", + "command": "type", + "target": "id=/organization/url", + "targets": [ + ["id=/organization/url", "id"], + ["name=field7", "name"], + ["css=#\\/organization\\/url", "css:finder"], + ["xpath=//input[@id='/organization/url']", "xpath:attributes"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "http://test.org" + }, { + "id": "1da05567-4f8d-4fd8-957a-bfddb2380bfb", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5379b245-cd77-43c1-b424-3b6595c74174", + "comment": "", + "command": "click", + "target": "id=/contacts/0/name", + "targets": [ + ["id=/contacts/0/name", "id"], + ["name=field10", "name"], + ["css=#\\/contacts\\/0\\/name", "css:finder"], + ["xpath=//input[@id='/contacts/0/name']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "b658cae2-ba5a-406b-a48c-87d110ff4ed0", + "comment": "", + "command": "type", + "target": "id=/contacts/0/name", + "targets": [ + ["id=field10", "id"], + ["name=field10", "name"], + ["css=#field10", "css:finder"], + ["xpath=//input[@id='field10']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "Test User" + }, { + "id": "3a2de62d-c1c1-43a7-a484-8a0d23bf301e", + "comment": "", + "command": "click", + "target": "id=/contacts/0/type", + "targets": [ + ["id=/contacts/0/type", "id"], + ["name=field11", "name"], + ["css=#\\/contacts\\/0\\/type", "css:finder"], + ["xpath=//select[@id='/contacts/0/type']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "" + }, { + "id": "86e4e429-2a72-496a-add8-df2fc079d157", + "comment": "", + "command": "select", + "target": "id=/contacts/0/type", + "targets": [], + "value": "label=Technical" + }, { + "id": "95531b0b-c084-422d-bac9-60ee7e7a9f16", + "comment": "", + "command": "click", + "target": "id=/contacts/0/emailAddress", + "targets": [ + ["id=/contacts/0/emailAddress", "id"], + ["name=field12", "name"], + ["css=#\\/contacts\\/0\\/emailAddress", "css:finder"], + ["xpath=//input[@id='/contacts/0/emailAddress']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "e5d6662e-38d4-479f-b76b-c0c05fcabe15", + "comment": "", + "command": "type", + "target": "id=/contacts/0/emailAddress", + "targets": [ + ["id=field12", "id"], + ["name=field12", "name"], + ["css=#field12", "css:finder"], + ["xpath=//input[@id='field12']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "user@test.org" + }, { + "id": "b4e3ea55-b4c0-4585-99fe-ac1534efadd8", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "234de758-df6d-47d7-af74-83aee3fa1e72", + "comment": "", + "command": "click", + "target": "id=/contacts/1/name", + "targets": [ + ["id=/contacts/1/name", "id"], + ["name=field14", "name"], + ["css=#\\/contacts\\/1\\/name", "css:finder"], + ["xpath=//input[@id='/contacts/1/name']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "02819e27-7aed-4a1a-867f-f8131c3897d8", + "comment": "", + "command": "type", + "target": "id=/contacts/1/name", + "targets": [ + ["id=field14", "id"], + ["name=field14", "name"], + ["css=#field14", "css:finder"], + ["xpath=//input[@id='field14']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "Test User 2" + }, { + "id": "1d478856-8742-4627-acbe-daed2bb83abe", + "comment": "", + "command": "click", + "target": "id=/contacts/1/type", + "targets": [ + ["css=#field15 > option:nth-child(2)", "css:finder"], + ["xpath=(//option[@value='1: support'])[2]", "xpath:attributes"], + ["xpath=//select[@id='field15']/option[2]", "xpath:idRelative"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "9b4c76b4-3851-4aac-a9f5-67e20c36f174", + "comment": "", + "command": "select", + "target": "id=/contacts/1/type", + "targets": [ + ["id=/contacts/1/type", "id"], + ["name=field15", "name"], + ["css=#\\/contacts\\/1\\/type", "css:finder"], + ["xpath=//select[@id='/contacts/1/type']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] + ], + "value": "label=Support" + }, { + "id": "5e3fddc1-786d-4040-8351-2f553e3c8811", + "comment": "", + "command": "click", + "target": "id=/contacts/1/emailAddress", + "targets": [ + ["id=/contacts/1/emailAddress", "id"], + ["name=field16", "name"], + ["css=#\\/contacts\\/1\\/emailAddress", "css:finder"], + ["xpath=//input[@id='/contacts/1/emailAddress']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "700d8907-6a65-43d5-aebf-60a392379534", + "comment": "", + "command": "type", + "target": "id=/contacts/1/emailAddress", + "targets": [ + ["id=field16", "id"], + ["name=field16", "name"], + ["css=#field16", "css:finder"], + ["xpath=//input[@id='field16']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "user2@test.org" + }, { + "id": "fdda1155-876f-46a4-ae4f-c3519ed34b62", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "f38b7fca-0c0c-4658-9df6-10a26881c6a5", + "comment": "", + "command": "click", + "target": "id=/mdui/displayName", + "targets": [ + ["id=/mdui/displayName", "id"], + ["name=field19", "name"], + ["css=#\\/mdui\\/displayName", "css:finder"], + ["xpath=//input[@id='/mdui/displayName']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "c03c4582-e1f1-449f-9a79-300d48ad69d8", + "comment": "", + "command": "type", + "target": "id=/mdui/displayName", + "targets": [ + ["id=field19", "id"], + ["name=field19", "name"], + ["css=#field19", "css:finder"], + ["xpath=//input[@id='field19']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Display Name" + }, { + "id": "5098507c-fa51-4c13-b9a3-381034e0fa52", + "comment": "", + "command": "type", + "target": "id=/mdui/informationUrl", + "targets": [ + ["id=/mdui/informationUrl", "id"], + ["name=field20", "name"], + ["css=#\\/mdui\\/informationUrl", "css:finder"], + ["xpath=//input[@id='/mdui/informationUrl']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "http://test.org/info" + }, { + "id": "d5de3699-5a18-4abe-a2ea-0a2b7565c525", + "comment": "", + "command": "type", + "target": "id=/mdui/description", + "targets": [ + ["id=/mdui/description", "id"], + ["name=field21", "name"], + ["css=#\\/mdui\\/description", "css:finder"], + ["xpath=//textarea[@id='/mdui/description']", "xpath:attributes"], + ["xpath=//textarea", "xpath:position"] + ], + "value": "This is a description." + }, { + "id": "115bb9a9-e991-4cf0-8bcb-363d9dc3c269", + "comment": "", + "command": "click", + "target": "id=/mdui/privacyStatementUrl", + "targets": [ + ["id=/mdui/privacyStatementUrl", "id"], + ["name=field22", "name"], + ["css=#\\/mdui\\/privacyStatementUrl", "css:finder"], + ["xpath=//input[@id='/mdui/privacyStatementUrl']", "xpath:attributes"], + ["xpath=//fieldset[2]/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "df623bef-a1fc-48ff-aa93-05e0da85ef51", + "comment": "", + "command": "type", + "target": "id=/mdui/privacyStatementUrl", + "targets": [ + ["id=field22", "id"], + ["name=field22", "name"], + ["css=#field22", "css:finder"], + ["xpath=//input[@id='field22']", "xpath:attributes"], + ["xpath=//fieldset[2]/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "http://test.org/privacy" + }, { + "id": "ed17408b-a763-4e5d-86cd-efe575df8d08", + "comment": "", + "command": "type", + "target": "id=/mdui/logoUrl", + "targets": [ + ["id=/mdui/logoUrl", "id"], + ["name=field23", "name"], + ["css=#\\/mdui\\/logoUrl", "css:finder"], + ["xpath=//input[@id='/mdui/logoUrl']", "xpath:attributes"], + ["xpath=//fieldset[2]/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "http://test.org/logo" + }, { + "id": "2946a968-7289-43e5-820d-b1aee442ce96", + "comment": "", + "command": "type", + "target": "id=/mdui/logoWidth", + "targets": [ + ["id=/mdui/logoWidth", "id"], + ["name=field24", "name"], + ["css=#\\/mdui\\/logoWidth", "css:finder"], + ["xpath=//input[@id='/mdui/logoWidth']", "xpath:attributes"], + ["xpath=//integer-component/div/input", "xpath:position"] + ], + "value": "200" + }, { + "id": "ceec5477-13d4-4ab4-944e-a2a34a9b4510", + "comment": "", + "command": "type", + "target": "id=/mdui/logoHeight", + "targets": [ + ["id=/mdui/logoHeight", "id"], + ["name=field25", "name"], + ["css=#\\/mdui\\/logoHeight", "css:finder"], + ["xpath=//input[@id='/mdui/logoHeight']", "xpath:attributes"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/integer-component/div/input", "xpath:position"] + ], + "value": "300" + }, { + "id": "79c55e8f-286d-4c64-a1bc-1a19a7554f7a", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "88054c63-d468-4340-b4d3-c69fb6ed6f96", + "comment": "", + "command": "click", + "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='1: SAML 2']", "xpath:attributes"], + ["xpath=//select[@id='field28']/option[2]", "xpath:idRelative"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'SAML 2')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c77b3648-fce1-46f9-aec9-ca88c90d4c92", + "comment": "", + "command": "select", + "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "targets": [ + ["id=/serviceProviderSsoDescriptor/protocolSupportEnum", "id"], + ["name=field28", "name"], + ["css=#\\/serviceProviderSsoDescriptor\\/protocolSupportEnum", "css:finder"], + ["xpath=//select[@id='/serviceProviderSsoDescriptor/protocolSupportEnum']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=SAML 2" + }, { + "id": "aec93dce-3142-4df3-b09d-735c70d1197b", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "7f9c9fb7-602c-4f8e-b262-866c744130ce", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "a0102f51-f1d8-4c38-9170-482022ea7397", + "comment": "", + "command": "click", + "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", + "targets": [ + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "209726b4-c0d8-4e9d-8886-88b9151f226c", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "9033e5ad-4255-4aa7-a878-c7beab69ee8e", + "comment": "", + "command": "click", + "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", + "targets": [ + ["id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", "id"], + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__listbox']/li", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "c21b1d7a-9325-4d70-887d-387c7a042c08", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "466ac624-8139-47cf-8ef2-32d1c3d179a2", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "c1534880-c4e5-4fbd-b200-c28f9f556ab9", + "comment": "", + "command": "click", + "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", + "targets": [ + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "a70176f9-e75e-47fc-b76a-42ae941fa64d", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "d07b2d83-3699-4f48-90e8-6fc883d3a02a", + "comment": "", + "command": "click", + "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", + "targets": [ + ["id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", "id"], + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1__option--1", "css:finder"], + ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "2c77ecbc-45cc-471c-9e39-f87ec06a9385", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "a98f1890-298a-4167-a4d6-4ab173005068", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "97a98737-862d-4567-8b20-c5c991444ed0", + "comment": "", + "command": "click", + "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", + "targets": [ + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "ff21b982-e428-45d7-af8e-410e67759446", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "686e004c-2b0f-4308-8622-b04bc05a50a9", + "comment": "", + "command": "click", + "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", + "targets": [ + ["id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", "id"], + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2__option--2", "css:finder"], + ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "104367d3-f250-4439-8721-32dcf9f25e0c", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "ec3d16f9-c239-4e53-8626-11d8dc3dc43d", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "e2e8d5d4-8b6a-42d5-9fe7-abb8a84216e3", + "comment": "", + "command": "click", + "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", + "targets": [ + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "6b1d77e3-b6e8-4217-9dc4-fe54b3f880ed", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "b6ac5230-772b-44bc-b9d1-6ae8a58e0368", + "comment": "", + "command": "click", + "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", + "targets": [ + ["id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", "id"], + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3__option--3", "css:finder"], + ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__option--3']", "xpath:attributes"], + ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ], + "value": "" + }, { + "id": "d135ef80-69d8-4cd1-b581-5e1973342082", + "comment": "", + "command": "click", + "target": "css=.btn-success > translate-i18n", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "23fd8856-32df-48ed-a198-a74e8ca71b10", + "comment": "", + "command": "type", + "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/4", + "targets": [ + ["id=field34", "id"], + ["css=#field34", "css:finder"], + ["xpath=//input[@id='field34']", "xpath:attributes"], + ["xpath=//div[@id='field34-container']/div/input", "xpath:idRelative"], + ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "somethingElse" + }, { + "id": "4f61120b-7c6b-4f8e-8543-898298451a56", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "0de0345e-c9d2-4904-b797-a36965c5d82c", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "62ade28b-19d4-4c54-b179-0d36312c578f", + "comment": "", + "command": "click", + "target": "id=/logoutEndpoints/0/url", + "targets": [ + ["id=/logoutEndpoints/0/url", "id"], + ["name=field38", "name"], + ["css=#\\/logoutEndpoints\\/0\\/url", "css:finder"], + ["xpath=//input[@id='/logoutEndpoints/0/url']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "517e5991-197d-42fd-86ff-4da5fd04949b", + "comment": "", + "command": "type", + "target": "id=/logoutEndpoints/0/url", + "targets": [ + ["id=field38", "id"], + ["name=field38", "name"], + ["css=#field38", "css:finder"], + ["xpath=//input[@id='field38']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "http://test.org/logout" + }, { + "id": "034f6a60-6b2d-42f1-adb4-515c8a750953", + "comment": "", + "command": "click", + "target": "id=/logoutEndpoints/0/bindingType", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], + ["xpath=//select[@id='field39']/option[2]", "xpath:idRelative"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "6967d0bb-dbf7-4f57-9e55-6de71abd69c1", + "comment": "", + "command": "select", + "target": "id=/logoutEndpoints/0/bindingType", + "targets": [ + ["id=/logoutEndpoints/0/bindingType", "id"], + ["name=field39", "name"], + ["css=#\\/logoutEndpoints\\/0\\/bindingType", "css:finder"], + ["xpath=//select[@id='/logoutEndpoints/0/bindingType']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + }, { + "id": "542f9b37-a63d-4acb-ba3e-2ac3706b6667", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "39dedb16-bcd2-496a-af85-7d20a129593b", + "comment": "", + "command": "click", + "target": "id=/logoutEndpoints/1/url", + "targets": [ + ["id=/logoutEndpoints/1/url", "id"], + ["name=field41", "name"], + ["css=#\\/logoutEndpoints\\/1\\/url", "css:finder"], + ["xpath=//input[@id='/logoutEndpoints/1/url']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "d25f708c-f72a-4fb7-88c1-a25a61d9f72a", + "comment": "", + "command": "type", + "target": "id=/logoutEndpoints/1/url", + "targets": [ + ["id=field41", "id"], + ["name=field41", "name"], + ["css=#field41", "css:finder"], + ["xpath=//input[@id='field41']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "http://test.org/logout2" + }, { + "id": "bee9600e-b6db-484a-9b87-d7c657911108", + "comment": "", + "command": "click", + "target": "id=/logoutEndpoints/1/bindingType", + "targets": [ + ["css=#field42 > option:nth-child(3)", "css:finder"], + ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redir'])[2]", "xpath:attributes"], + ["xpath=//select[@id='field42']/option[3]", "xpath:idRelative"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "e0e7ef9b-4ed1-4df2-b501-9cbb855baa7f", + "comment": "", + "command": "select", + "target": "id=/logoutEndpoints/1/bindingType", + "targets": [ + ["id=/logoutEndpoints/1/bindingType", "id"], + ["name=field42", "name"], + ["css=#\\/logoutEndpoints\\/1\\/bindingType", "css:finder"], + ["xpath=//select[@id='/logoutEndpoints/1/bindingType']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] + ], + "value": "label=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + }, { + "id": "a47fdf43-1336-4fdb-a395-f14f0fe131de", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "6c794e94-9c64-4683-816a-380432f2ed79", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509CertificateAvailable.true", + "targets": [ + ["id=/securityInfo/x509CertificateAvailable.true", "id"], + ["css=#\\/securityInfo\\/x509CertificateAvailable\\.true", "css:finder"], + ["xpath=//input[@id='/securityInfo/x509CertificateAvailable.true']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "f0ade90e-2c31-4a77-b936-3b2a00388477", + "comment": "", + "command": "click", + "target": "id=/securityInfo/authenticationRequestsSigned.true", + "targets": [ + ["id=/securityInfo/authenticationRequestsSigned.true", "id"], + ["css=#\\/securityInfo\\/authenticationRequestsSigned\\.true", "css:finder"], + ["xpath=//input[@id='/securityInfo/authenticationRequestsSigned.true']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "e26eda6f-1897-42e2-9ea9-671b1ff88874", + "comment": "", + "command": "click", + "target": "id=/securityInfo/wantAssertionsSigned.true", + "targets": [ + ["id=/securityInfo/wantAssertionsSigned.true", "id"], + ["css=#\\/securityInfo\\/wantAssertionsSigned\\.true", "css:finder"], + ["xpath=//input[@id='/securityInfo/wantAssertionsSigned.true']", "xpath:attributes"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "3e11e54a-1b36-43ed-a8e5-d91f1fbed991", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509Certificates/0/name", + "targets": [ + ["id=/securityInfo/x509Certificates/0/name", "id"], + ["name=field50", "name"], + ["css=#\\/securityInfo\\/x509Certificates\\/0\\/name", "css:finder"], + ["xpath=//input[@id='/securityInfo/x509Certificates/0/name']", "xpath:attributes"], + ["xpath=//div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "5acb8e19-16a3-4139-a961-1b58c11c4681", + "comment": "", + "command": "type", + "target": "id=/securityInfo/x509Certificates/0/name", + "targets": [ + ["id=field50", "id"], + ["name=field50", "name"], + ["css=#field50", "css:finder"], + ["xpath=//input[@id='field50']", "xpath:attributes"], + ["xpath=//div/input", "xpath:position"] + ], + "value": "Cert 1 Name" + }, { + "id": "23ff8b87-ac6c-4f82-a779-aa91be11f49c", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509Certificates/0/type.0", + "targets": [ + ["id=/securityInfo/x509Certificates/0/type.0", "id"], + ["name=field55", "name"], + ["css=#\\/securityInfo\\/x509Certificates\\/0\\/type\\.0", "css:finder"], + ["xpath=//input[@id='/securityInfo/x509Certificates/0/type.0']", "xpath:attributes"], + ["xpath=//div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "dd15088c-ddc9-42fd-8f8d-f73338be71b6", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509Certificates/0/value", + "targets": [ + ["id=/securityInfo/x509Certificates/0/value", "id"], + ["name=field52", "name"], + ["css=#\\/securityInfo\\/x509Certificates\\/0\\/value", "css:finder"], + ["xpath=//textarea[@id='/securityInfo/x509Certificates/0/value']", "xpath:attributes"], + ["xpath=//textarea", "xpath:position"] + ], + "value": "" + }, { + "id": "813bf709-6c73-41ac-837a-5be076fa43c7", + "comment": "", + "command": "type", + "target": "id=/securityInfo/x509Certificates/0/value", + "targets": [ + ["name=field52", "name"], + ["css=.text-widget", "css:finder"], + ["xpath=//textarea[@name='field52']", "xpath:attributes"], + ["xpath=//textarea", "xpath:position"] + ], + "value": "This is cert 1." + }, { + "id": "fcf4cc15-54f4-4add-a093-e7ba5f2dc556", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "cbe577f6-3d18-49d9-95ab-2e597e5308a6", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509Certificates/1/name", + "targets": [ + ["id=/securityInfo/x509Certificates/1/name", "id"], + ["name=field54", "name"], + ["css=#\\/securityInfo\\/x509Certificates\\/1\\/name", "css:finder"], + ["xpath=//input[@id='/securityInfo/x509Certificates/1/name']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "ae98e813-77f4-424e-9141-d48e6127d9b6", + "comment": "", + "command": "type", + "target": "id=/securityInfo/x509Certificates/1/name", + "targets": [ + ["id=field54", "id"], + ["name=field54", "name"], + ["css=#field54", "css:finder"], + ["xpath=//input[@id='field54']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "Cert 2 Name" + }, { + "id": "835ad053-0a10-4606-a148-c7ba36be316f", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509Certificates/1/type.1", + "targets": [ + ["id=/securityInfo/x509Certificates/1/type.1", "id"], + ["css=#\\/securityInfo\\/x509Certificates\\/1\\/type\\.1", "css:finder"], + ["xpath=//input[@id='/securityInfo/x509Certificates/1/type.1']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-radio-widget/div/div[2]/input", "xpath:position"] + ], + "value": "" + }, { + "id": "e272cafa-3aba-4aff-972e-b1d45e627b88", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509Certificates/1/value", + "targets": [ + ["id=/securityInfo/x509Certificates/1/value", "id"], + ["name=field56", "name"], + ["css=#\\/securityInfo\\/x509Certificates\\/1\\/value", "css:finder"], + ["xpath=//textarea[@id='/securityInfo/x509Certificates/1/value']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/textarea-component/div/textarea", "xpath:position"] + ], + "value": "" + }, { + "id": "ae42d668-92ba-4cb8-9daf-a2a64ac18404", + "comment": "", + "command": "type", + "target": "id=/securityInfo/x509Certificates/1/value", + "targets": [ + ["name=field56", "name"], + ["css=.ng-untouched:nth-child(3)", "css:finder"], + ["xpath=//textarea[@name='field56']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/textarea-component/div/textarea", "xpath:position"] + ], + "value": "This is cert 2." + }, { + "id": "4e64d71e-8e6f-4288-b277-3d3945f57c53", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "573c9f4c-c677-4175-96c5-3aaaf86e5ac1", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "50c1a3a1-b51c-41f9-81ff-d3d2894861ad", + "comment": "", + "command": "click", + "target": "id=/assertionConsumerServices/0/locationUrl", + "targets": [ + ["id=/assertionConsumerServices/0/locationUrl", "id"], + ["name=field60", "name"], + ["css=#\\/assertionConsumerServices\\/0\\/locationUrl", "css:finder"], + ["xpath=//input[@id='/assertionConsumerServices/0/locationUrl']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "6ff4002a-1c57-4778-b402-f917efaa5194", + "comment": "", + "command": "type", + "target": "id=/assertionConsumerServices/0/locationUrl", + "targets": [ + ["id=field60", "id"], + ["name=field60", "name"], + ["css=#field60", "css:finder"], + ["xpath=//input[@id='field60']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "http://test.org/assert" + }, { + "id": "e81c5045-98c3-499c-bff5-2645efa4c55d", + "comment": "", + "command": "click", + "target": "id=/assertionConsumerServices/0/binding", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], + ["xpath=//select[@id='field61']/option[2]", "xpath:idRelative"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "24c810c8-747a-4ae2-91e5-16685d589f21", + "comment": "", + "command": "select", + "target": "id=/assertionConsumerServices/0/binding", + "targets": [ + ["id=/assertionConsumerServices/0/binding", "id"], + ["name=field61", "name"], + ["css=#\\/assertionConsumerServices\\/0\\/binding", "css:finder"], + ["xpath=//select[@id='/assertionConsumerServices/0/binding']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + }, { + "id": "c221b1f5-2961-4cbd-a545-1e34a09b8153", + "comment": "", + "command": "click", + "target": "css=.custom-control-label", + "targets": [ + ["css=.custom-control-label", "css:finder"], + ["xpath=//div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Mark as Default')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "cb058717-f20f-4a54-81e5-9a7dcf66ec0e", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "f9998203-830b-44d3-8392-45b737544177", + "comment": "", + "command": "click", + "target": "id=/assertionConsumerServices/1/locationUrl", + "targets": [ + ["id=/assertionConsumerServices/1/locationUrl", "id"], + ["name=field64", "name"], + ["css=#\\/assertionConsumerServices\\/1\\/locationUrl", "css:finder"], + ["xpath=//input[@id='/assertionConsumerServices/1/locationUrl']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "d5cbf5e8-7c5b-45f7-8645-dd9f9d39922e", + "comment": "", + "command": "type", + "target": "id=/assertionConsumerServices/1/locationUrl", + "targets": [ + ["id=field64", "id"], + ["name=field64", "name"], + ["css=#field64", "css:finder"], + ["xpath=//input[@id='field64']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "http://test.org/assert2" + }, { + "id": "74de4187-3d1e-4a4d-af8e-966f00649ab8", + "comment": "", + "command": "click", + "target": "id=/assertionConsumerServices/1/binding", + "targets": [ + ["css=#field65 > option:nth-child(3)", "css:finder"], + ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:1.0:profiles:browser-po'])[2]", "xpath:attributes"], + ["xpath=//select[@id='field65']/option[3]", "xpath:idRelative"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "929c1047-f455-418b-b23e-a383d681f028", + "comment": "", + "command": "select", + "target": "id=/assertionConsumerServices/1/binding", + "targets": [ + ["id=/assertionConsumerServices/1/binding", "id"], + ["name=field65", "name"], + ["css=#\\/assertionConsumerServices\\/1\\/binding", "css:finder"], + ["xpath=//select[@id='/assertionConsumerServices/1/binding']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] + ], + "value": "label=urn:oasis:names:tc:SAML:1.0:profiles:browser-post" + }, { + "id": "d113cc67-659a-48f0-a50c-98355a07b187", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "134bf1f3-1e86-49e7-91de-185e513b02be", + "comment": "", + "command": "click", + "target": "css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", + "targets": [ + ["css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5cd1ae5f-678a-4be8-a03f-b290006e52fe", + "comment": "", + "command": "click", + "target": "css=div:nth-child(2) > sf-form-element .custom-control-label", + "targets": [ + ["css=div:nth-child(2) > sf-form-element .custom-control-label", "css:finder"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "5895d555-6ef5-4344-b177-00e905f9007c", + "comment": "", + "command": "click", + "target": "css=div:nth-child(3) > sf-form-element .custom-control-label", + "targets": [ + ["css=div:nth-child(3) > sf-form-element .custom-control-label", "css:finder"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "8d834380-e312-494d-9b4b-c5b798cc9b15", + "comment": "", + "command": "click", + "target": "css=div:nth-child(4) .custom-control-label", + "targets": [ + ["css=div:nth-child(4) .custom-control-label", "css:finder"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "bcf532a9-ba5a-4ca1-a342-dde53bc4a592", + "comment": "", + "command": "click", + "target": "css=div:nth-child(5) .custom-control-label", + "targets": [ + ["css=div:nth-child(5) .custom-control-label", "css:finder"], + ["xpath=//div[5]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Ignore any SP-Requested Authentication Method?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "45f3df44-1c34-4649-aedb-14207e9ce999", + "comment": "", + "command": "click", + "target": "css=div:nth-child(6) .custom-control-label", + "targets": [ + ["css=div:nth-child(6) .custom-control-label", "css:finder"], + ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "7ccb7d88-b113-4ee9-8582-b3d781fa8846", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/responderId", + "targets": [ + ["id=/relyingPartyOverrides/responderId", "id"], + ["name=field121", "name"], + ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "afe1b839-3421-4816-bf69-c804add681ba", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/responderId", + "targets": [ + ["id=field75", "id"], + ["name=field75", "name"], + ["css=#field75", "css:finder"], + ["xpath=//input[@id='field75']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "responder-id-123" + }, { + "id": "ba74d18d-0996-485f-8a9f-01a39428eb0c", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .btn", + "targets": [ + ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "cbd5d310-00af-4f40-adb8-82d261f3f339", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "2a91666b-5453-4064-8923-c3384835b6fd", + "comment": "", + "command": "click", + "target": "css=.btn-outline-secondary", + "targets": [ + ["css=.btn-outline-secondary", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "77a8ca01-ba29-4240-8c85-df12c9729603", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "6e8718ef-e053-48d8-91e5-f5128e371f56", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--0", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/0__option--0", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "ec3afb37-30b4-4d07-93a6-dcf022605532", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "2297cceb-4407-498f-a3f2-db15bc3de26f", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "fd33610c-dbca-410d-b2a4-117a1b2b6a79", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "2922852e-45b5-41b1-b7ae-10f6ef5980c6", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "3cd47415-5e57-4148-a40b-9571e6791f3f", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/1__option--1", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/1__option--1", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1__option--1", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/1__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "8b340d1f-4944-4d10-a4cd-5e79be6804ef", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "ccc0e141-6b42-4fdb-ac4e-fe741826eec6", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "208b33cf-f983-4a82-9b1b-19cdf2a937fc", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "76e5990c-7474-46db-9d8a-08b08fb058b7", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "b4beb2b3-8481-4431-9299-a39a4107f17f", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/2__option--2", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/2__option--2", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2__option--2", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/2__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "d6e7a640-a578-415b-9c1b-b2313b62ad46", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b1fb7e09-2778-4dd9-a52d-ac183d745486", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "788a5b63-a75f-4aeb-9a5d-17c41e8f718e", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "c486b622-751b-49f0-bf51-d1919bea0cf4", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "c82d6951-13e2-4d32-9e19-eac52bfdc188", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/3__option--3", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/3__option--3", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3__option--3", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/3__option--3']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ], + "value": "" + }, { + "id": "4c15be93-75be-4673-b703-07a705300d0f", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .btn", + "targets": [ + ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "1a1b509e-1768-4291-820d-26f4b73a9d71", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/nameIdFormats/4']", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/4-container']/div/input", "xpath:idRelative"], + ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "433d6e9d-9d03-4042-9ee0-6284570f8a3c", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "targets": [ + ["id=field83", "id"], + ["css=#field83", "css:finder"], + ["xpath=//input[@id='field83']", "xpath:attributes"], + ["xpath=//div[@id='field83-container']/div/input", "xpath:idRelative"], + ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "somethingElse" + }, { + "id": "c8bb3bee-3d61-4324-a3aa-38b78232b969", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .btn", + "targets": [], + "value": "" + }, { + "id": "0b950018-bd12-433a-b198-682d4ea55a90", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "cbf15c4c-35d9-4f80-ba3d-bfe960048cd1", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "ab11537e-9959-4800-90d8-38946c8b277b", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "6c62d514-0143-49d9-97b3-6b7cb443df9d", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "ed769470-9c3f-4c23-bbed-85513dcea800", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "411ea71f-99b7-4f99-a5ce-7037ff78b8af", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "2b063eb8-f2d6-4a59-85bb-b04c467d9874", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/1-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "3c59a5d7-9f48-4a5e-b6d1-0913c19adf2a", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "5a32d59b-1ac3-4cd0-a2d8-0e934f8182fd", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/1__option--1", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/1__option--1", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1__option--1", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/1__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/1__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "892ddc96-970b-4dde-9189-0dc9ed197dab", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "64b99135-c3fb-416a-b584-0e1b4b411295", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "64e215d9-6e46-422f-882c-13b6fb102622", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/2-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "426b095e-3b0c-4cc3-ad1e-3956dc7bd256", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "6a7bce1a-34be-4d4c-b732-d2f198e8b8a1", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/2__option--2", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/2__option--2", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2__option--2", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/2__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/2__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "f0dd4b79-eab5-4d4b-af2e-07ca661f8288", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .btn", + "targets": [ + ["css=div:nth-child(9) .btn > translate-i18n", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "dacd34b0-9e48-4838-b137-bf22dd027ed0", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/authenticationMethods/3']", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/3-container']/div/input", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "cc9dd18b-ee87-4aa7-91f2-59f02834759b", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "targets": [ + ["id=field87", "id"], + ["css=#field87", "css:finder"], + ["xpath=//input[@id='field87']", "xpath:attributes"], + ["xpath=//div[@id='field87-container']/div/input", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "otherThings" + }, { + "id": "7c85fe59-dc95-4328-a010-33d1a06a5ce5", + "comment": "", + "command": "click", + "target": "css=div:nth-child(10) .custom-control-label", + "targets": [ + ["css=div:nth-child(10) .custom-control-label", "css:finder"], + ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "204ea80c-4aac-497f-8956-6370967ba73e", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "553dd570-b1bb-43bb-a469-63ee08a09794", + "comment": "", + "command": "click", + "target": "css=.fa-check", + "targets": [ + ["css=.fa-check", "css:finder"], + ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], + ["xpath=//td[2]/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "4adb7283-b1ad-4553-a934-afc54fa8b04f", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "14ca713a-313d-4cda-82ca-a0b814ce81dc", + "comment": "", + "command": "click", + "target": "css=.custom-control-label", + "targets": [ + ["css=.custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Enable this service?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "3baa7bd3-55c0-4d10-8aa3-c0daa63ec4d4", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "targets": [ + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] + ], + "value": "test-1234" + }, { + "id": "0d355ff0-0449-49a7-ae75-14d7c405b97c", + "comment": "", + "command": "assertText", + "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", + "targets": [ + ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] + ], + "value": "http://test.org/assert2" + }, { + "id": "e53030b6-f344-4361-981d-b8303a721c5d", + "comment": "", + "command": "assertText", + "target": "css=array-property:nth-child(8) .border-0", + "targets": [ + ["css=array-property:nth-child(8) .border-0", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:idRelative"], + ["xpath=//section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:position"] + ], + "value": "somethingElse" + }, { + "id": "18636780-2feb-458f-97be-cf4a625b22e1", + "comment": "", + "command": "assertText", + "target": "css=.d-flex:nth-child(2) > .py-2 > span", + "targets": [ + ["css=.d-flex:nth-child(2) > .py-2 > span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[9]/div/div[2]/object-property/array-property/div/div[2]/div/span", "xpath:idRelative"], + ["xpath=//array-property/div/div[2]/div/span", "xpath:position"] + ], + "value": "True" + }, { + "id": "1406d7e4-907d-4359-8de8-a40206f0993e", + "comment": "", + "command": "click", + "target": "css=.save", + "targets": [ + ["css=.save", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "4e0fa4f5-817f-41fb-9885-60f37b699436", + "comment": "", + "command": "waitForElementVisible", + "target": "css=tr > .text-right", + "targets": [ + ["css=tr > .text-right", "css:finder"], + ["xpath=//td[5]", "xpath:position"], + ["xpath=//td[contains(.,'Enabled')]", "xpath:innerText"] + ], + "value": "10000" + }, { + "id": "ba9fb8e8-d332-45bd-accd-703284744136", + "comment": "", + "command": "assertText", + "target": "css=td:nth-child(1)", + "targets": [ + ["linkText=Test Provider", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Provider')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/resolver/ee3aedc4-b56a-46c4-b8db-09603dd5b473/configuration/options')]", "xpath:href"], + ["xpath=//td/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Provider')]", "xpath:innerText"] + ], + "value": "Test Provider" + }, { + "id": "eff4c9fe-7daf-4082-a162-4a9dff323293", + "comment": "", + "command": "assertText", + "target": "css=td:nth-child(2)", + "targets": [ + ["css=td:nth-child(2)", "css:finder"], + ["xpath=//td[2]", "xpath:position"], + ["xpath=//td[contains(.,'test-1234')]", "xpath:innerText"] + ], + "value": "test-1234" + }, { + "id": "b2d9f789-fb94-459f-9947-5364cebc43d1", + "comment": "", + "command": "assertText", + "target": "css=td:nth-child(3)", + "targets": [ + ["css=td:nth-child(3)", "css:finder"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'root')]", "xpath:innerText"] + ], + "value": "admin" + }, { + "id": "fbcf1587-cb27-4deb-80c6-78b4d4aa2478", + "comment": "", + "command": "type", + "target": "id=search", + "targets": [ + ["id=search", "id"], + ["css=#search", "css:finder"], + ["xpath=//input[@id='search']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "test" + }, { + "id": "88007922-625c-4f00-a4c4-17fb77afb2da", + "comment": "", + "command": "sendKeys", + "target": "id=search", + "targets": [ + ["id=search", "id"], + ["css=#search", "css:finder"], + ["xpath=//input[@id='search']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "${KEY_ENTER}" + }, { + "id": "a69f4347-8e82-483d-8a8a-e78a894e7aaa", + "comment": "", + "command": "assertText", + "target": "css=td:nth-child(2)", + "targets": [ + ["css=td:nth-child(2)", "css:finder"], + ["xpath=//td[2]", "xpath:position"], + ["xpath=//td[contains(.,'test-1234')]", "xpath:innerText"] + ], + "value": "test-1234" + }, { + "id": "fcd2d18e-b804-42df-890f-092f3d2e06a4", + "comment": "", + "command": "type", + "target": "id=search", + "targets": [ + ["id=search", "id"], + ["css=#search", "css:finder"], + ["xpath=//input[@id='search']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "foo" + }, { + "id": "d71191f5-8afd-4d9d-b19b-9471bd4640b2", + "comment": "", + "command": "sendKeys", + "target": "id=search", + "targets": [ + ["id=search", "id"], + ["css=#search", "css:finder"], + ["xpath=//input[@id='search']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "${KEY_ENTER}" + }, { + "id": "6de4b65a-266e-4974-9729-cf70502bb8fd", + "comment": "", + "command": "assertElementNotPresent", + "target": "css=td:nth-child(2)", + "targets": [], + "value": "" + }, { + "id": "01da89d4-e043-4f99-9d98-dcb42b9b4777", + "comment": "", + "command": "click", + "target": "css=.btn-link", + "targets": [ + ["css=.btn-link", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Clear')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "188a56b6-5440-4ea7-ac25-481c6b2dddcf", + "comment": "", + "command": "click", + "target": "linkText=Test Provider", + "targets": [ + ["linkText=Test Provider", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Provider')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/resolver/4e54a9da-4481-4ef2-8296-5616257f4d02/configuration/options')]", "xpath:href"], + ["xpath=//td/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Provider')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "8ab1e3bf-6de9-4660-b0e1-816fcb0e2261", + "comment": "", + "command": "waitForElementPresent", + "target": "css=.author", + "targets": [], + "value": "10000" + }, { + "id": "c9ea2708-7c12-43ce-b827-f0f34d2f2831", + "comment": "", + "command": "assertText", + "target": "css=.author", + "targets": [ + ["css=.author", "css:finder"], + ["xpath=//div[@id='header']/metadata-header/div/div/h5/span[2]", "xpath:idRelative"], + ["xpath=//span[2]", "xpath:position"], + ["xpath=//span[contains(.,'admin')]", "xpath:innerText"] + ], + "value": "admin" + }, { + "id": "16271513-203c-4528-870f-dcf73f4d81cb", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", + "targets": [ + ["css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] + ], + "value": "test-1234" + }, { + "id": "3f2c3eab-ecbf-45f3-bcdc-a5cad766b27c", + "comment": "", + "command": "assertText", + "target": "css=array-property:nth-child(5) .py-2:nth-child(2) > .d-flex:nth-child(3) > .text-truncate", + "targets": [ + ["css=array-property:nth-child(5) .py-2:nth-child(2) > .d-flex:nth-child(3) > .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/array-property/div/div[2]/div[3]/div[2]", "xpath:idRelative"], + ["xpath=//div[3]/div[2]", "xpath:position"] + ], + "value": "user@test.org" + }, { + "id": "467409c7-1007-4c45-80d2-0b4eea5199a0", + "comment": "", + "command": "assertText", + "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(2) .d-block:nth-child(2)", + "targets": [ + ["css=.mb-4:nth-child(2) primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/object-property/primitive-property[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property[2]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/info')]", "xpath:innerText"] + ], + "value": "http://test.org/info" + }, { + "id": "eaaf9d59-1466-4736-924c-56c9b3f7522f", + "comment": "", + "command": "assertText", + "target": "css=array-property:nth-child(2) .text-truncate:nth-child(2)", + "targets": [ + ["css=array-property:nth-child(2) .text-truncate:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[3]/div/div[2]/object-property/object-property/array-property/div/div/ul/li[2]", "xpath:idRelative"], + ["xpath=//div/div/ul/li[2]", "xpath:position"], + ["xpath=//li[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] + ], + "value": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" + }, { + "id": "2a23096f-d5cd-4727-af1b-130388117aa0", + "comment": "", + "command": "assertText", + "target": "css=.mb-4:nth-child(4) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", + "targets": [ + ["css=.mb-4:nth-child(4) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[4]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] + ], + "value": "http://test.org/logout2" + }, { + "id": "e1cba732-dd34-4c73-9d4c-89c440975dd8", + "comment": "", + "command": "runScript", + "target": "window.scrollTo(0,2060)", + "targets": [], + "value": "" + }, { + "id": "fe47ffd2-d2a0-4264-90fe-31b998f81ac2", + "comment": "", + "command": "assertText", + "target": "css=.mb-4:nth-child(5) primitive-property:nth-child(3) .d-block:nth-child(2)", + "targets": [ + ["css=.mb-4:nth-child(5) primitive-property:nth-child(3) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[5]/div/div[2]/object-property/object-property/primitive-property[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[5]/div/div[2]/object-property/object-property/primitive-property[3]/div/span[2]", "xpath:position"] + ], + "value": "true" + }, { + "id": "7300785c-b83e-49b8-97a6-d66516f6c133", + "comment": "", + "command": "assertText", + "target": "css=.mb-4:nth-child(6) .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate", + "targets": [ + ["css=.mb-4:nth-child(6) .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[6]/div/div[2]/object-property/array-property/div/div[2]/div/div[2]", "xpath:idRelative"], + ["xpath=//section[6]/div/div[2]/object-property/array-property/div/div[2]/div/div[2]", "xpath:position"] + ], + "value": "http://test.org/assert" + }, { + "id": "951a21c9-4cd3-4989-8dc0-77760ca0dc95", + "comment": "", + "command": "assertText", + "target": "css=.mb-4:nth-child(7) primitive-property:nth-child(7) .d-block:nth-child(2)", + "targets": [ + ["css=.mb-4:nth-child(7) primitive-property:nth-child(7) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/object-property/primitive-property[7]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/object-property/object-property/primitive-property[7]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'responder-id-123')]", "xpath:innerText"] + ], + "value": "responder-id-123" + }, { + "id": "e8b794fc-20e2-4317-8bdd-73eee8e94951", + "comment": "", + "command": "assertText", + "target": "css=.d-flex:nth-child(3) > .py-2 > span", + "targets": [ + ["css=.d-flex:nth-child(3) > .py-2 > span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/array-property/div/div/div[3]/div/span", "xpath:idRelative"], + ["xpath=//section[8]/div/div[2]/object-property/array-property/div/div/div[3]/div/span", "xpath:position"] + ], + "value": "True" + }, { + "id": "2c46cdcd-d5a5-47fe-aa7b-0120fd2fcfc9", + "comment": "", + "command": "click", + "target": "css=.mb-4:nth-child(1) .actions span", + "targets": [ + ["css=.mb-4:nth-child(1) .actions span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], + ["xpath=//div/button/span", "xpath:position"], + ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "62348ea5-d2d9-426d-91ae-5e0f5871ad05", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "c2fcb197-7e0d-4b64-82a5-ad24cf24126b", + "comment": "", + "command": "waitForElementEditable", + "target": "id=/serviceProviderName", + "targets": [], + "value": "30000" + }, { + "id": "99731068-2016-4a7f-8a38-febfb711d027", + "comment": "", + "command": "type", + "target": "id=/serviceProviderName", + "targets": [ + ["id=/serviceProviderName", "id"], + ["name=field93", "name"], + ["css=#\\/serviceProviderName", "css:finder"], + ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Service Provider v2" + }, { + "id": "c6484ff1-8bf2-4442-8f73-13c7af38634a", + "comment": "", + "command": "type", + "target": "id=/contacts/0/name", + "targets": [ + ["id=/contacts/0/name", "id"], + ["name=field102", "name"], + ["css=#\\/contacts\\/0\\/name", "css:finder"], + ["xpath=//input[@id='/contacts/0/name']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "Test User v2" + }, { + "id": "d424ae83-f36b-41b4-8e08-79c452577d89", + "comment": "", + "command": "click", + "target": "css=.btn-info", + "targets": [ + ["css=.btn-info", "css:finder"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c5985278-503e-4258-bba9-de7d2f157db0", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1)", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "fa45c230-dd8d-471d-9cf1-16c508d97ec4", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [ + ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "35063ee2-cc64-487d-8894-a3d638a27455", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(2) .custom-control-label", + "targets": [ + ["css=tr:nth-child(2) .custom-control-label", "css:finder"], + ["xpath=//tr[2]/td/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "69a5f7ac-6cf2-4eaf-98df-31e7dd034c44", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//history-list/button", "xpath:position"], + ["xpath=//button[contains(.,'Compare Selected(2)')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "978829e9-fa70-4548-9a55-0e2ffa0df9a4", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "1c0b7514-92b7-4e07-b462-467113f4a8cd", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", + "targets": [ + ["css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], + ["xpath=//primitive-property[2]/div/span[2]", "xpath:position"] + ], + "value": "Service Provider v2" + }, { + "id": "fc7c4e1e-03c7-4108-9a8d-f469e7679ae4", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(3)", + "targets": [ + ["css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(3)", "css:finder"], + ["xpath=//primitive-property[2]/div/span[3]", "xpath:position"], + ["xpath=//span[contains(.,'Test Provider')]", "xpath:innerText"] + ], + "value": "Test Provider" + }, { + "id": "138ad58b-f0a2-436b-a8b0-43484f4180e6", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(3)", + "targets": [ + ["css=.bg-diff > .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(3)", "css:finder"], + ["xpath=//div[2]/div/div[2]", "xpath:position"] + ], + "value": "Test User v2" + }, { + "id": "17049c95-4724-4521-ac47-6b64bde822aa", + "comment": "", + "command": "assertText", + "target": "css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(4)", + "targets": [ + ["css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(4)", "css:finder"], + ["xpath=//div/div[3]", "xpath:position"] + ], + "value": "Test User" + }, { + "id": "17b17783-b35b-4724-805a-84c2f2727ae8", + "comment": "", + "command": "storeAttribute", + "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property[2]/div/div@class", + "targets": [], + "value": "classes" + }, { + "id": "04c998e7-b872-406c-89e3-7d6fe43d8b7a", + "comment": "", + "command": "executeScript", + "target": "return ${classes}.includes('bg-diff')", + "targets": [], + "value": "isPresent" + }, { + "id": "13055b8e-31b9-4c84-ac03-1188b3a7ac95", + "comment": "", + "command": "assert", + "target": "isPresent", + "targets": [], + "value": "true" + }, { + "id": "7a1a8ab1-8586-45db-b16c-b8cf0dd02443", + "comment": "", + "command": "storeAttribute", + "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/object-property/primitive-property[1]/div/div@class", + "targets": [], + "value": "classes" + }, { + "id": "2a5d487f-08e5-45ea-8f12-b6dcaec0aead", + "comment": "", + "command": "executeScript", + "target": "return ${classes}.includes('bg-diff')", + "targets": [], + "value": "isPresent" + }, { + "id": "39c806ea-3cfc-4a7e-be7b-7af70cec8378", + "comment": "", + "command": "assert", + "target": "isPresent", + "targets": [], + "value": "false" + }, { + "id": "e9c047ad-fd1f-4ee8-bedb-3750f0c553e4", + "comment": "", + "command": "storeAttribute", + "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/array-property/div@class", + "targets": [], + "value": "classes" + }, { + "id": "46e07c88-a2a2-4aa3-8765-3ed026298099", + "comment": "", + "command": "executeScript", + "target": "return ${classes}.includes('bg-diff')", + "targets": [], + "value": "isPresent" + }, { + "id": "8bb04ae2-0655-4aa9-8506-251ea662373e", + "comment": "", + "command": "assert", + "target": "isPresent", + "targets": [], + "value": "true" + }, { + "id": "29fe2264-3c1c-4d39-9788-523064f29e07", + "comment": "", + "command": "click", + "target": "css=.fa-lg", + "targets": [ + ["css=.fa-lg", "css:finder"], + ["xpath=//div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "81ba2389-bcb4-4de8-bcd5-d7a17200aedc", + "comment": "", + "command": "storeAttribute", + "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property/div/div@class", + "targets": [], + "value": "classes" + }, { + "id": "1adc48f9-224c-4690-a914-bac38c245576", + "comment": "", + "command": "executeScript", + "target": "return ${classes}.includes('bg-diff')", + "targets": [], + "value": "isPresent" + }, { + "id": "f16e7ef4-8a4b-4798-a02c-7031917a65f1", + "comment": "", + "command": "assert", + "target": "isPresent", + "targets": [], + "value": "true" + }, { + "id": "31ef48d0-3198-4ee1-8065-5bbf2b1349b8", + "comment": "", + "command": "storeAttribute", + "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/array-property/div@class", + "targets": [], + "value": "classes" + }, { + "id": "f61a8bae-7661-4c23-a12f-db9b09b42818", + "comment": "", + "command": "executeScript", + "target": "return ${classes}.includes('bg-diff')", + "targets": [], + "value": "isPresent" + }, { + "id": "8c36bf32-618e-4101-9b87-4a7032b710a8", + "comment": "", + "command": "assert", + "target": "isPresent", + "targets": [], + "value": "true" + }, { + "id": "e901a20e-75e9-4f0d-abfc-f1fe8cf453b8", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" + }] + }], + "suites": [{ + "id": "d2caeac4-7520-4e3c-96b1-840610b6983c", + "name": "Default Suite", + "persistSession": false, + "parallel": false, + "timeout": 300, + "tests": ["841ade0e-83bd-4a4b-94f2-de6bd5c536b2"] + }], + "urls": ["http://localhost:10101/"], + "plugins": [] +} \ No newline at end of file diff --git a/backend/src/integration/resources/SHIBUI-1407-2.side b/backend/src/integration/resources/SHIBUI-1407-2.side new file mode 100644 index 000000000..6e918da23 --- /dev/null +++ b/backend/src/integration/resources/SHIBUI-1407-2.side @@ -0,0 +1,929 @@ +{ + "id": "6c70c319-3e73-4a13-8ee7-d9da5f802b83", + "version": "2.0", + "name": "SHIBUI-1407-2", + "url": "http://localhost:10101", + "tests": [{ + "id": "1e7a4ca4-b2e6-4e5a-8e38-823ae8a1e20d", + "name": "SHIBUI-1407-2", + "commands": [{ + "id": "29bb3186-81c8-4b3e-a9d9-5ff55d225878", + "comment": "", + "command": "open", + "target": "/login", + "targets": [], + "value": "" + }, { + "id": "302b949f-39b8-4060-813b-d827cf62dff4", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "a7910a51-e40e-4cdb-a72e-5f2cfd1b3656", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "adminpass" + }, { + "id": "6636b5f6-2b97-4be9-9fc7-44d6b48b8abf", + "comment": "", + "command": "sendKeys", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "${KEY_ENTER}" + }, { + "id": "e7a98419-36c7-4b0f-a99d-087144f6a417", + "comment": "", + "command": "click", + "target": "css=.fa-plus-circle", + "targets": [ + ["css=.fa-plus-circle", "css:finder"], + ["xpath=//button[@id='addNewDropdown']/i", "xpath:idRelative"], + ["xpath=//i", "xpath:position"] + ], + "value": "" + }, { + "id": "74fef022-3979-4bed-9226-b25114514976", + "comment": "", + "command": "click", + "target": "linkText=Metadata Provider", + "targets": [ + ["linkText=Metadata Provider", "linkText"], + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "b49d6ed7-75ea-4be8-9a79-c7fd83287aa0", + "comment": "", + "command": "click", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field1", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "54dc29f7-bbe0-4c2b-a76e-e67a61f57a96", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field1", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Test Metadata Provider" + }, { + "id": "add874d5-e3b2-4412-8039-2b9d2619ed19", + "comment": "", + "command": "select", + "target": "id=/type", + "targets": [ + ["css=select-component > .widget", "css:finder"], + ["xpath=//select-component/div", "xpath:position"] + ], + "value": "label=FileBackedHttpMetadataProvider" + }, { + "id": "1cc352f4-0d71-4a3e-9399-1d9932816efc", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[2]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "d072327c-78b4-4bdb-8020-b825cd26592d", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/xmlId", + "targets": [], + "value": "10000" + }, { + "id": "86262eda-4a44-41b0-b7aa-fa46406e2601", + "comment": "", + "command": "type", + "target": "id=/xmlId", + "targets": [ + ["id=field7", "id"], + ["name=field7", "name"], + ["css=#field7", "css:finder"], + ["xpath=//input[@id='field7']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "123" + }, { + "id": "26cc765d-98c1-414c-97d8-4c7e5c6ab7e2", + "comment": "", + "command": "type", + "target": "id=/metadataURL", + "targets": [ + ["id=field8", "id"], + ["name=field8", "name"], + ["css=#field8", "css:finder"], + ["xpath=//input[@id='field8']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "https://idp.unicon.net/idp/shibboleth" + }, { + "id": "f0459917-b2a1-4e3c-8800-25273965129f", + "comment": "", + "command": "click", + "target": "id=/initializeFromBackupFile.false", + "targets": [ + ["id=/initializeFromBackupFile.false", "id"], + ["css=#\\/initializeFromBackupFile\\.false", "css:finder"], + ["xpath=//input[@id='/initializeFromBackupFile.false']", "xpath:attributes"], + ["xpath=//div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "5b37cf08-77b9-4091-94f9-c0d539c9010d", + "comment": "", + "command": "type", + "target": "id=/backingFile", + "targets": [ + ["id=/backingFile", "id"], + ["name=field10", "name"], + ["css=#\\/backingFile", "css:finder"], + ["xpath=//input[@id='/backingFile']", "xpath:attributes"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "%{idp.home}/foo.txt" + }, { + "id": "e9924807-d5e2-4d54-94ba-d74d19f7d96a", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "203d0d3c-d866-422a-8b48-b50181db00e9", + "comment": "", + "command": "click", + "target": "css=.fa-caret-down", + "targets": [ + ["css=.fa-caret-down", "css:finder"], + ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button/i", "xpath:idRelative"], + ["xpath=//div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "8d3c5584-8a55-48cd-85d9-2022d9fde676", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "5fc6a348-0533-4d94-bb76-ebb891a0db8f", + "comment": "", + "command": "click", + "target": "id=/backupFileInitNextRefreshDelay__option--1", + "targets": [ + ["id=/backupFileInitNextRefreshDelay__option--1", "id"], + ["css=#\\/backupFileInitNextRefreshDelay__option--1", "css:finder"], + ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], + ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "bf041d41-5d58-4f69-8fcc-49ec79e5547d", + "comment": "", + "command": "click", + "target": "id=/requireValidMetadata.false", + "targets": [ + ["id=/requireValidMetadata.false", "id"], + ["css=#\\/requireValidMetadata\\.false", "css:finder"], + ["xpath=//input[@id='/requireValidMetadata.false']", "xpath:attributes"], + ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "fba85c75-e218-4deb-b5e1-888ff75b6a4e", + "comment": "", + "command": "click", + "target": "id=/failFastInitialization.false", + "targets": [ + ["id=/failFastInitialization.false", "id"], + ["css=#\\/failFastInitialization\\.false", "css:finder"], + ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], + ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "375b8d6e-179b-4f14-8f00-d8a8cad29d7e", + "comment": "", + "command": "click", + "target": "id=/useDefaultPredicateRegistry.false", + "targets": [ + ["id=/useDefaultPredicateRegistry.false", "id"], + ["css=#\\/useDefaultPredicateRegistry\\.false", "css:finder"], + ["xpath=//input[@id='/useDefaultPredicateRegistry.false']", "xpath:attributes"], + ["xpath=//div[8]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "8b4bf341-62c0-491f-b775-d2faf55477bc", + "comment": "", + "command": "click", + "target": "id=/satisfyAnyPredicates.true", + "targets": [ + ["id=/satisfyAnyPredicates.true", "id"], + ["css=#\\/satisfyAnyPredicates\\.true", "css:finder"], + ["xpath=//input[@id='/satisfyAnyPredicates.true']", "xpath:attributes"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "57ca153c-4121-4531-9ebe-3dfba20fa299", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "d2d7487c-e0d0-4777-bbcb-b78f14e1c70a", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "a188bc3e-fd98-4d49-ae35-a0b78a17607c", + "comment": "", + "command": "click", + "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "targets": [ + ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c5ca7be2-6985-4e96-b0dc-6e00e3b42978", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "a159e056-c870-4e02-a7e9-4b3a60d83718", + "comment": "", + "command": "click", + "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", "id"], + ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--1", "css:finder"], + ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], + ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "166847ab-46ab-4555-a61a-f3a06a4cef4e", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "7a72cf6a-c97a-49f6-83d0-cbe42f0fdb7d", + "comment": "", + "command": "click", + "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "targets": [ + ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .fa", "css:finder"], + ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button/i", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "4c3da8ca-719a-4ce6-bb61-c1ee1e09358f", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "820397f5-aabb-46f5-a65a-56747ce29091", + "comment": "", + "command": "click", + "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", "id"], + ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--3", "css:finder"], + ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3']", "xpath:attributes"], + ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[4]", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ], + "value": "" + }, { + "id": "b036a851-4ac9-43cb-8686-8e78ed940d72", + "comment": "", + "command": "type", + "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], + ["name=field20", "name"], + ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "0.5" + }, { + "id": "b48d48d8-2fec-4877-85ae-2f94f15e63eb", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "05de8997-f3d9-4503-b4fb-058b72cad03e", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "232da257-962f-4a4b-8213-038ef90c96c3", + "comment": "", + "command": "click", + "target": "css=.btn-outline-secondary", + "targets": [ + ["css=.btn-outline-secondary", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "293cf806-cec0-4b31-a7be-c77e938ac435", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "b8d999f1-0c59-4a9a-9991-91d222f52b8e", + "comment": "", + "command": "click", + "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", + "targets": [ + ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", "id"], + ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--1", "css:finder"], + ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], + ["xpath=//li[contains(.,'P14D')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "8af1abb5-2c7a-4a4c-a8f7-0eb287100dde", + "comment": "", + "command": "click", + "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "targets": [ + ["css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", "css:finder"], + ["xpath=//div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "323a2a02-9111-4064-8bb0-a3da34330e54", + "comment": "", + "command": "type", + "target": "id=/metadataFilters/SignatureValidation/certificateFile", + "targets": [], + "value": "%{idp.home}/foo.txt" + }, { + "id": "a125e601-f306-441d-9c8c-e97b95817b46", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "74d696db-3f3b-4ff3-a180-34baceb469a2", + "comment": "", + "command": "select", + "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", + "targets": [], + "value": "label=SPSSODescriptor" + }, { + "id": "532bf2e5-13fc-48d7-b01b-ff16207a554d", + "comment": "", + "command": "click", + "target": "css=option:nth-child(2)", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='1: md:SPSSODescriptor']", "xpath:attributes"], + ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "12cf80c9-594c-4c4d-bf26-aa36ba636220", + "comment": "", + "command": "click", + "target": "css=.fa-plus", + "targets": [ + ["css=.fa-plus", "css:finder"], + ["xpath=//array-component/div/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "6cb9854b-293b-482d-8c07-4b7c638d79cb", + "comment": "", + "command": "click", + "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(1)", + "targets": [ + ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(1)", "css:finder"], + ["xpath=(//option[@value=''])[2]", "xpath:attributes"], + ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/1']/option", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/select-component/div/select/option", "xpath:position"] + ], + "value": "" + }, { + "id": "f366c86c-1420-4fb7-86c2-82c49d81208d", + "comment": "", + "command": "select", + "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/1", + "targets": [], + "value": "label=AttributeAuthorityDescriptor" + }, { + "id": "5dfac033-ecfd-42e8-aa6f-931d5acd4d89", + "comment": "", + "command": "click", + "target": "css=div:nth-child(2) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", + "targets": [ + ["css=div:nth-child(2) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", "css:finder"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "9d5934f0-fe10-4539-9d71-80b454fc8612", + "comment": "", + "command": "click", + "target": "css=div:nth-child(3) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", + "targets": [ + ["css=div:nth-child(3) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", "css:finder"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Remove Empty Entities Descriptors?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "530234cd-ec70-48f2-9cc6-9e0d848c4b82", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "79b96f40-2677-438a-9564-62df0ea2c116", + "comment": "", + "command": "click", + "target": "css=.custom-control-label", + "targets": [], + "value": "" + }, { + "id": "52f5680c-c63d-411e-8332-52901f12ea3b", + "comment": "", + "command": "assertText", + "target": "css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", + "targets": [ + ["css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'Test Metadata Provider')]", "xpath:innerText"] + ], + "value": "Test Metadata Provider" + }, { + "id": "67ff44aa-1efd-4b13-a0e9-3648a09911dd", + "comment": "", + "command": "assertText", + "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", + "targets": [ + ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123')]", "xpath:innerText"] + ], + "value": "123" + }, { + "id": "f5197d46-41a7-4ef2-ac40-19f80c953929", + "comment": "", + "command": "click", + "target": "css=.save", + "targets": [ + ["css=.save", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "89e87484-d5b5-4788-816d-9ca4d22f053a", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "1067b0b4-8aff-4972-b6f5-e4479eca9150", + "comment": "", + "command": "waitForElementPresent", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "targets": [ + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "10000" + }, { + "id": "f48dd1b5-607a-485b-b1d5-03301f99b9ce", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "targets": [ + ["linkText=Test Metadata Provider", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/4cc9924f-fd9e-4ef3-bf57-3b24eec9f27f/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] + ], + "value": "Test Metadata Provider" + }, { + "id": "5eccd4e9-a451-4ec8-a9e1-1e1f8e771677", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "targets": [ + ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'FileBackedHttpMetadataResolver')]", "xpath:innerText"] + ], + "value": "FileBackedHttpMetadataResolver" + }, { + "id": "77643669-03f5-4c28-9239-885bdd53749c", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "c768c2c1-09d4-46fe-8007-42fb4b3f4aaa", + "comment": "", + "command": "assertText", + "target": "css=.author", + "targets": [ + ["css=.author", "css:finder"], + ["xpath=//div[@id='header']/metadata-header/div/div/h5/span[2]", "xpath:idRelative"], + ["xpath=//span[2]", "xpath:position"], + ["xpath=//span[contains(.,'admin')]", "xpath:innerText"] + ], + "value": "admin" + }, { + "id": "67578648-0800-4716-8c0c-27741770249a", + "comment": "", + "command": "click", + "target": "css=.mb-4:nth-child(1) .actions span", + "targets": [ + ["css=.mb-4:nth-child(1) .actions span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], + ["xpath=//div/button/span", "xpath:position"], + ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5636ef67-71fb-4bca-ba58-7ecf926c7bf0", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "7d641e58-47ce-4d20-908c-e0002ff73cfa", + "comment": "", + "command": "type", + "target": "id=/xmlId", + "targets": [ + ["id=/xmlId", "id"], + ["name=field38", "name"], + ["css=#\\/xmlId", "css:finder"], + ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "123 version 2" + }, { + "id": "b78c81e9-41ac-41db-837a-0db6bd4f77eb", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "247b04c1-e690-42bc-ae15-dfbedb44d2e9", + "comment": "", + "command": "click", + "target": "id=/satisfyAnyPredicates.false", + "targets": [ + ["id=/satisfyAnyPredicates.false", "id"], + ["css=#\\/satisfyAnyPredicates\\.false", "css:finder"], + ["xpath=//input[@id='/satisfyAnyPredicates.false']", "xpath:attributes"], + ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "5aacc6b8-b509-4405-8755-c60fa3619e67", + "comment": "", + "command": "click", + "target": "css=.btn-info", + "targets": [ + ["css=.btn-info", "css:finder"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "eb08417b-b8f0-46dc-9e32-e8daf3bc205d", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "ea880e6a-498a-427a-bc08-8058137d62e0", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1)", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c223e329-733c-41eb-9e85-c6f69a840179", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [ + ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "9b764399-76cc-44e7-8d72-5a3383387a5f", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(2) .custom-control-label", + "targets": [ + ["css=tr:nth-child(2) .custom-control-label", "css:finder"], + ["xpath=//tr[2]/td/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "32ef784f-ccf0-4fd7-afff-40f0ba877dad", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//history-list/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "ce328b6a-f6ee-45e9-975c-5a5608f373dc", + "comment": "", + "command": "waitForElementVisible", + "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", + "targets": [], + "value": "10000" + }, { + "id": "68103f0e-e3f1-419b-903d-5d8c30bc6700", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", + "targets": [ + ["css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", "css:finder"], + ["xpath=//primitive-property[4]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123 version 2')]", "xpath:innerText"] + ], + "value": "123 version 2" + }, { + "id": "a13198b9-7827-47e2-ade3-143b981d34ee", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(3)", + "targets": [ + ["css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(3)", "css:finder"], + ["xpath=//primitive-property[4]/div/span[3]", "xpath:position"] + ], + "value": "123" + }, { + "id": "3d83741c-299e-4fcb-9ce6-4b7291c423a4", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(2)", + "targets": [ + ["css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(2)", "css:finder"], + ["xpath=//primitive-property[12]/div/span[2]", "xpath:position"] + ], + "value": "false" + }, { + "id": "190cc157-d427-4046-aff2-180392395ad3", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(3)", + "targets": [ + ["css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(3)", "css:finder"], + ["xpath=//primitive-property[12]/div/span[3]", "xpath:position"] + ], + "value": "true" + }, { + "id": "aa3e1818-24e5-420b-838e-0eb7d6b6d4e3", + "comment": "", + "command": "storeAttribute", + "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property[4]/div/div@class", + "targets": [], + "value": "classes" + }, { + "id": "73040151-5482-4c64-8f58-bfe3195082aa", + "comment": "", + "command": "executeScript", + "target": "return ${classes}.includes('bg-diff')", + "targets": [], + "value": "isDiff" + }, { + "id": "5be09118-213d-40a6-8425-6748a055170a", + "comment": "", + "command": "assert", + "target": "isDiff", + "targets": [], + "value": "true" + }, { + "id": "48cf0e77-ab88-4c9c-8952-7bbe102a0be2", + "comment": "", + "command": "storeAttribute", + "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property[7]/div/div@class", + "targets": [], + "value": "classes" + }, { + "id": "ab3585c9-5ff3-4cd5-82bb-53647dcb99b1", + "comment": "", + "command": "executeScript", + "target": "return ${classes}.includes('bg-diff')", + "targets": [], + "value": "isDiff" + }, { + "id": "ecda8070-e6d7-4efc-b079-31907ca96b2c", + "comment": "", + "command": "assert", + "target": "isDiff", + "targets": [], + "value": "false" + }, { + "id": "d7e53d38-a2c1-4ae7-a481-2726000eb556", + "comment": "", + "command": "storeAttribute", + "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property[12]/div/div@class", + "targets": [], + "value": "classes" + }, { + "id": "6bf2a489-e766-443c-9e79-b6b6903c75fe", + "comment": "", + "command": "executeScript", + "target": "return ${classes}.includes('bg-diff')", + "targets": [], + "value": "isDiff" + }, { + "id": "2ae7548e-0956-4508-bb74-90c9b67d3e44", + "comment": "", + "command": "assert", + "target": "isDiff", + "targets": [], + "value": "true" + }, { + "id": "28eb98c2-85e2-4336-973e-7949e0e8f784", + "comment": "", + "command": "click", + "target": "css=.fa-lg", + "targets": [ + ["css=.fa-lg", "css:finder"], + ["xpath=//div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "a457a558-7771-420c-a3a8-5afac051efca", + "comment": "", + "command": "storeAttribute", + "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property[1]/div/div@class", + "targets": [], + "value": "classes" + }, { + "id": "95b67f45-1ad2-44ef-b744-16ca8357b6cf", + "comment": "", + "command": "executeScript", + "target": "return ${classes}.includes('bg-diff')", + "targets": [], + "value": "isDiff" + }, { + "id": "9d7770df-b023-447f-9c7b-c274039a9fd9", + "comment": "", + "command": "assert", + "target": "isDiff", + "targets": [], + "value": "true" + }, { + "id": "8f43bfb4-fc38-4c74-ab8d-8065b9c9565a", + "comment": "", + "command": "storeAttribute", + "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property[2]/div/div@class", + "targets": [], + "value": "classes" + }, { + "id": "833fd312-01ed-4f76-aea3-ad3957ae698b", + "comment": "", + "command": "executeScript", + "target": "return ${classes}.includes('bg-diff')", + "targets": [], + "value": "isDiff" + }, { + "id": "8ecf9087-e08f-4530-9974-760c84379664", + "comment": "", + "command": "assert", + "target": "isDiff", + "targets": [], + "value": "true" + }, { + "id": "a0305827-1856-48c6-b02c-96c43da6241f", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" + }] + }], + "suites": [{ + "id": "894bbaf7-9978-4d30-b4e3-3c4263e084aa", + "name": "Default Suite", + "persistSession": false, + "parallel": false, + "timeout": 300, + "tests": ["1e7a4ca4-b2e6-4e5a-8e38-823ae8a1e20d"] + }], + "urls": ["http://localhost:10101/"], + "plugins": [] +} \ No newline at end of file diff --git a/backend/src/integration/resources/SHIBUI-1503-1.side b/backend/src/integration/resources/SHIBUI-1503-1.side new file mode 100644 index 000000000..844ce69fd --- /dev/null +++ b/backend/src/integration/resources/SHIBUI-1503-1.side @@ -0,0 +1,504 @@ +{ + "id": "2b5fc163-381b-4237-8abb-a2f5aaf2a5b7", + "version": "2.0", + "name": "SHIBUI-1503-1", + "url": "http://localhost:10101", + "tests": [{ + "id": "3f0e6ded-0b61-4d71-9f74-937cbd972cb3", + "name": "SHIBUI-1503-1", + "commands": [{ + "id": "86ad3094-9850-478e-9020-e5c894ea17a7", + "comment": "", + "command": "open", + "target": "/login", + "targets": [], + "value": "" + }, { + "id": "b39e96ee-c5a0-4e85-b86b-b41ce815fcde", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "nonadmin" + }, { + "id": "b0d833bc-eda8-4e7a-9ba7-f002394340f7", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "nonadminpass" + }, { + "id": "ca7d0095-749c-4709-80aa-0083dc477d20", + "comment": "", + "command": "click", + "target": "name=submit", + "targets": [ + ["name=submit", "name"], + ["css=td:nth-child(1) > input", "css:finder"], + ["xpath=//input[@name='submit']", "xpath:attributes"], + ["xpath=//tr[3]/td/input", "xpath:position"] + ], + "value": "" + }, { + "id": "db912e0e-b9c9-4693-92cf-a43a9756d253", + "comment": "", + "command": "waitForElementVisible", + "target": "css=#addNewDropdown > translate-i18n", + "targets": [], + "value": "30000" + }, { + "id": "fcb0a214-ead2-407e-b2b2-ddac954e1348", + "comment": "", + "command": "click", + "target": "css=#addNewDropdown > translate-i18n", + "targets": [ + ["css=#addNewDropdown > translate-i18n", "css:finder"], + ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], + ["xpath=//translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "837ce33c-8787-4b31-9f8c-d250e5fae525", + "comment": "", + "command": "click", + "target": "linkText=Metadata Source", + "targets": [ + ["linkText=Metadata Source", "linkText"], + ["css=.dropdown-menu > .nav-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li/div/a", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '')])[2]", "xpath:href"], + ["xpath=//div/a", "xpath:position"] + ], + "value": "" + }, { + "id": "38afb51c-c3ae-47ca-8d1f-02f26ba2440f", + "comment": "", + "command": "waitForElementEditable", + "target": "id=/serviceProviderName", + "targets": [], + "value": "30000" + }, { + "id": "aa956591-ae81-4637-8d89-b6c45daccf86", + "comment": "", + "command": "type", + "target": "id=/serviceProviderName", + "targets": [ + ["id=/serviceProviderName", "id"], + ["name=field1", "name"], + ["css=#\\/serviceProviderName", "css:finder"], + ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Test Source" + }, { + "id": "ff0ff7cf-ab9b-4dcf-bc9a-ffc005632363", + "comment": "", + "command": "type", + "target": "id=/entityId", + "targets": [ + ["id=/entityId", "id"], + ["name=field2", "name"], + ["css=#\\/entityId", "css:finder"], + ["xpath=//input[@id='/entityId']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "test" + }, { + "id": "d1726c2a-6b56-427b-9a3d-722e64c45bd9", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[2]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "9fb1da6c-d002-4e8d-a9af-c809de9cbc58", + "comment": "", + "command": "waitForElementEditable", + "target": "id=/organization/name", + "targets": [], + "value": "30000" + }, { + "id": "68288af1-2686-49b5-b1b9-10f68046fc0a", + "comment": "", + "command": "type", + "target": "id=/organization/name", + "targets": [ + ["id=/organization/name", "id"], + ["name=field5", "name"], + ["css=#\\/organization\\/name", "css:finder"], + ["xpath=//input[@id='/organization/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Org Name" + }, { + "id": "c785c85c-1515-4bd0-8886-576f568a2efc", + "comment": "", + "command": "type", + "target": "id=/organization/displayName", + "targets": [ + ["id=/organization/displayName", "id"], + ["name=field6", "name"], + ["css=#\\/organization\\/displayName", "css:finder"], + ["xpath=//input[@id='/organization/displayName']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "Org Display Name" + }, { + "id": "2cacc9c6-8a1a-4923-aa8d-00dea1172dd0", + "comment": "", + "command": "type", + "target": "id=/organization/url", + "targets": [ + ["id=/organization/url", "id"], + ["name=field7", "name"], + ["css=#\\/organization\\/url", "css:finder"], + ["xpath=//input[@id='/organization/url']", "xpath:attributes"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "Org URL" + }, { + "id": "8441a497-6a79-4396-af40-6f7ce8056cfe", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "383707e1-ae7d-44c5-a91a-69a1f3bc601e", + "comment": "", + "command": "click", + "target": "css=.label:nth-child(1)", + "targets": [ + ["css=.label:nth-child(1)", "css:finder"], + ["xpath=//li[3]/button/span", "xpath:position"] + ], + "value": "" + }, { + "id": "57d66e91-4e76-410b-8ecc-c5c8f2459606", + "comment": "", + "command": "click", + "target": "css=.label:nth-child(1)", + "targets": [ + ["css=.label:nth-child(1)", "css:finder"], + ["xpath=//li[3]/button/span", "xpath:position"] + ], + "value": "" + }, { + "id": "8fc68685-f349-48f2-9929-6b99eb860823", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "7075f663-403e-44fc-bb34-17ecb2fee62a", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "ef48faaa-1077-4969-bc63-13049ff2cbf3", + "comment": "", + "command": "click", + "target": "css=.label:nth-child(1)", + "targets": [ + ["css=.label:nth-child(1)", "css:finder"], + ["xpath=//li[3]/button/span", "xpath:position"] + ], + "value": "" + }, { + "id": "1c5c0174-1181-479b-a8fa-00c759799d61", + "comment": "", + "command": "click", + "target": "css=.label:nth-child(1)", + "targets": [ + ["css=.label:nth-child(1)", "css:finder"], + ["xpath=//li[3]/button/span", "xpath:position"] + ], + "value": "" + }, { + "id": "16c0c8d5-ead6-4600-ad02-08963d73ae0b", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "8be428b3-5959-4598-a982-6708e6d39a85", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "32ecd0e3-b7a9-4978-923c-9992fba8f557", + "comment": "", + "command": "click", + "target": "css=.save", + "targets": [ + ["css=.save", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "a4131b2a-ab46-4dc6-827e-6ffa516c5bd8", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "e9a8182c-47d9-444c-8386-f84e1a7da38a", + "comment": "", + "command": "click", + "target": "css=li:nth-child(3) > .nav-link > translate-i18n", + "targets": [ + ["css=li:nth-child(3) > .nav-link > translate-i18n", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[3]/a/translate-i18n", "xpath:idRelative"], + ["xpath=//li[3]/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Logout')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "947a1fb8-a4b8-4ff0-997f-911741d60fc1", + "comment": "", + "command": "waitForElementEditable", + "target": "name=username", + "targets": [], + "value": "30000" + }, { + "id": "415f0118-6bff-4d5b-b964-a1a724b818e4", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "7e4a4734-c520-46d4-b214-b6e3e4c5618a", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "adminpass" + }, { + "id": "aa359f0d-e222-415c-81fc-409f387c2a35", + "comment": "", + "command": "click", + "target": "name=submit", + "targets": [ + ["name=submit", "name"], + ["css=td:nth-child(1) > input", "css:finder"], + ["xpath=//input[@name='submit']", "xpath:attributes"], + ["xpath=//tr[3]/td/input", "xpath:position"] + ], + "value": "" + }, { + "id": "990aff50-4646-4258-a9f0-ef5f39b8dc83", + "comment": "", + "command": "waitForElementVisible", + "target": "css=.badge-pill", + "targets": [], + "value": "30000" + }, { + "id": "d77d51d9-fbf7-4358-a995-41fcf0f6885f", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "9fd2f2ad-6315-48be-b1e5-b958956c20be", + "comment": "", + "command": "assertText", + "target": "css=.badge-pill", + "targets": [ + ["css=.badge-pill", "css:finder"], + ["xpath=//li[4]/a/span", "xpath:position"], + ["xpath=//span[contains(.,'2')]", "xpath:innerText"] + ], + "value": "2" + }, { + "id": "9be511e0-ed11-4707-8490-6fa248e4138e", + "comment": "", + "command": "assertText", + "target": "css=.badge > span", + "targets": [ + ["css=.badge > span", "css:finder"], + ["xpath=//span/span", "xpath:position"] + ], + "value": "Disabled" + }, { + "id": "157e70d6-fa1c-4118-bce4-ab52000b6c16", + "comment": "", + "command": "click", + "target": "css=.nav-link > translate-i18n:nth-child(1)", + "targets": [ + ["css=.nav-link > translate-i18n:nth-child(1)", "css:finder"], + ["xpath=//li[4]/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Action Required')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b1a8c4b1-d164-4f32-adb3-6cfb76951f28", + "comment": "", + "command": "waitForElementVisible", + "target": "linkText=Test Source", + "targets": [], + "value": "30000" + }, { + "id": "ef70ab28-afe2-473d-aedb-d1d3bf04a538", + "comment": "", + "command": "assertText", + "target": "linkText=Test Source", + "targets": [ + ["linkText=Test Source", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Source')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/resolver/a56f0f83-cfc4-4f33-ae9a-5b786b815111/configuration/options')]", "xpath:href"], + ["xpath=//td/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Source')]", "xpath:innerText"] + ], + "value": "Test Source" + }, { + "id": "708acbb6-63c7-4cb5-9c5a-f64c31ba6a40", + "comment": "", + "command": "assertText", + "target": "css=td:nth-child(2)", + "targets": [ + ["css=td:nth-child(2)", "css:finder"], + ["xpath=//td[2]", "xpath:position"], + ["xpath=//td[contains(.,'test')]", "xpath:innerText"] + ], + "value": "test" + }, { + "id": "6ba5a2fb-8c68-4743-99d6-1fa44644f399", + "comment": "", + "command": "assertText", + "target": "css=td:nth-child(3)", + "targets": [ + ["css=td:nth-child(3)", "css:finder"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'nonadmin')]", "xpath:innerText"] + ], + "value": "nonadmin" + }, { + "id": "eb63aa9f-4ac5-4852-8941-740b9f49a769", + "comment": "", + "command": "click", + "target": "css=.btn-success > translate-i18n", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//td[5]/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Enable')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "8d064bfb-cf8f-428c-b436-2930f6295962", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "500d78cd-a2b4-49e6-8609-7d5f822942d0", + "comment": "", + "command": "assertText", + "target": "css=.badge", + "targets": [ + ["css=.badge", "css:finder"], + ["xpath=//li[4]/a/span", "xpath:position"], + ["xpath=//span[contains(.,'1')]", "xpath:innerText"] + ], + "value": "1" + }, { + "id": "3f92b1a1-9675-4da3-90d5-475a89a22913", + "comment": "", + "command": "click", + "target": "linkText=Metadata Sources", + "targets": [ + ["linkText=Metadata Sources", "linkText"], + ["css=.nav-item:nth-child(1) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Sources')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/resolvers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Sources')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "160d24df-7c98-469c-bfdb-6e39f0b44b0d", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" + }, { + "id": "f76a12a3-2054-4be2-a6a6-2221afd493fb", + "comment": "", + "command": "assertText", + "target": "css=.badge > span", + "targets": [ + ["css=.badge > span", "css:finder"], + ["xpath=//span/span", "xpath:position"] + ], + "value": "Enabled" + }, { + "id": "6b4905b8-2ae3-4682-ae52-0149c58eb7f4", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" + }] + }], + "suites": [{ + "id": "e0294618-9c01-4063-ba60-99fda5bb3edc", + "name": "Default Suite", + "persistSession": false, + "parallel": false, + "timeout": 300, + "tests": ["3f0e6ded-0b61-4d71-9f74-937cbd972cb3"] + }], + "urls": ["http://localhost:10101/"], + "plugins": [] +} \ No newline at end of file diff --git a/backend/src/integration/resources/SHIBUI-1503-2.side b/backend/src/integration/resources/SHIBUI-1503-2.side new file mode 100644 index 000000000..fbc65ae95 --- /dev/null +++ b/backend/src/integration/resources/SHIBUI-1503-2.side @@ -0,0 +1,200 @@ +{ + "id": "5366ee48-b38e-45f0-a996-abe249f84e24", + "version": "2.0", + "name": "SHIBUI-1503-2", + "url": "http://localhost:10101", + "tests": [{ + "id": "3ee270a9-8a5c-4a17-92e7-ab9b013e7aee", + "name": "SHIBUI-1503-2", + "commands": [{ + "id": "b0d2001f-0afd-439b-833b-8c945404bb2a", + "comment": "", + "command": "open", + "target": "/login", + "targets": [], + "value": "" + }, { + "id": "c0e3c091-9a27-45f1-8525-dc6acb187ee1", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "96a54bfc-f203-43be-8d42-5bcdf7cfcdb7", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "adminpass" + }, { + "id": "624d4f0a-ddb6-4047-a25e-43cbde644fb5", + "comment": "", + "command": "click", + "target": "name=submit", + "targets": [ + ["name=submit", "name"], + ["css=td:nth-child(1) > input", "css:finder"], + ["xpath=//input[@name='submit']", "xpath:attributes"], + ["xpath=//tr[3]/td/input", "xpath:position"] + ], + "value": "" + }, { + "id": "812843b9-c71a-4141-b204-3387f0fee39a", + "comment": "", + "command": "waitForElementVisible", + "target": "css=.nav-link > translate-i18n:nth-child(1)", + "targets": [], + "value": "30000" + }, { + "id": "473db033-9a76-4173-9a70-daa255f99b1d", + "comment": "", + "command": "click", + "target": "css=.nav-link > translate-i18n:nth-child(1)", + "targets": [ + ["css=.nav-link > translate-i18n:nth-child(1)", "css:finder"], + ["xpath=//li[4]/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Action Required')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "a98143b5-647f-4e7e-b920-f6e6875d7372", + "comment": "", + "command": "click", + "target": "css=.fa-trash", + "targets": [ + ["css=.fa-trash", "css:finder"], + ["xpath=//div[2]/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "d85702e0-5eb2-4dd7-b10f-906352a43b49", + "comment": "", + "command": "click", + "target": "css=.modal-footer > .btn-danger", + "targets": [ + ["css=.modal-footer > .btn-danger", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "2d8da370-0a5a-4048-a8bd-f68210a271c5", + "comment": "", + "command": "waitForElementVisible", + "target": "css=.text-center", + "targets": [], + "value": "30000" + }, { + "id": "d5a65352-5897-49cf-9046-3afc5397f193", + "comment": "", + "command": "assertText", + "target": "css=.text-center", + "targets": [ + ["css=.text-center", "css:finder"], + ["xpath=//p", "xpath:position"], + ["xpath=//p[contains(.,'There are no new user requests at this time.')]", "xpath:innerText"] + ], + "value": "There are no new user requests at this time." + }, { + "id": "ede68bbe-2236-457d-93d7-9e7cde5d5176", + "comment": "", + "command": "click", + "target": "css=li:nth-child(3) > .nav-link > translate-i18n", + "targets": [ + ["css=li:nth-child(3) > .nav-link > translate-i18n", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[3]/a/translate-i18n", "xpath:idRelative"], + ["xpath=//li[3]/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Logout')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "64b41d03-23dc-46cd-9612-9ad6ce86a169", + "comment": "", + "command": "waitForElementEditable", + "target": "name=username", + "targets": [], + "value": "30000" + }, { + "id": "1edca1a8-1e15-489f-8f18-a80bd53c5360", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "none" + }, { + "id": "2897afef-6eef-4205-a0bb-f95cccef7a74", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "nonepass" + }, { + "id": "6c4429c8-7d82-4d87-a58d-a587cff891f6", + "comment": "", + "command": "click", + "target": "name=submit", + "targets": [ + ["name=submit", "name"], + ["css=td:nth-child(1) > input", "css:finder"], + ["xpath=//input[@name='submit']", "xpath:attributes"], + ["xpath=//tr[3]/td/input", "xpath:position"] + ], + "value": "" + }, { + "id": "3eb77106-8fb7-43aa-a72a-27f2960d5393", + "comment": "", + "command": "waitForElementVisible", + "target": "css=p", + "targets": [], + "value": "30000" + }, { + "id": "b826ed10-31a4-487b-ba80-c633ff037839", + "comment": "", + "command": "assertText", + "target": "css=p", + "targets": [ + ["css=p", "css:finder"], + ["xpath=//p", "xpath:position"] + ], + "value": "Your login attempt was not successful, try again.\n\nReason: Bad credentials" + }, { + "id": "5b421e75-d5db-44ff-ac57-2fd8f91c2478", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" + }] + }], + "suites": [{ + "id": "86d753b7-e7f9-48b0-a95e-ac68deea5457", + "name": "Default Suite", + "persistSession": false, + "parallel": false, + "timeout": 300, + "tests": ["3ee270a9-8a5c-4a17-92e7-ab9b013e7aee"] + }], + "urls": ["http://localhost:10101/"], + "plugins": [] +} diff --git a/backend/src/integration/resources/SHIBUI-1503-3.side b/backend/src/integration/resources/SHIBUI-1503-3.side new file mode 100644 index 000000000..a7d913abd --- /dev/null +++ b/backend/src/integration/resources/SHIBUI-1503-3.side @@ -0,0 +1,192 @@ +{ + "id": "fbdf2699-39a2-4738-85e4-23a058038e05", + "version": "2.0", + "name": "SHIBUI-1503-3", + "url": "http://localhost:10101", + "tests": [{ + "id": "67c3076f-1c47-4104-98ee-d4c3cd6ef870", + "name": "SHIBUI-1503-3", + "commands": [{ + "id": "dd74edbf-87ef-4b2a-8a5a-7b8ab7fc6055", + "comment": "", + "command": "open", + "target": "/login", + "targets": [], + "value": "" + }, { + "id": "4d0aeac6-bdc6-495b-8115-c03b6a818f9c", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "5eda2e43-304c-4e99-9f2a-0d352bb7140d", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "adminpass" + }, { + "id": "fa54f4c6-f1b4-422c-be58-b6c1fef27a47", + "comment": "", + "command": "click", + "target": "name=submit", + "targets": [ + ["name=submit", "name"], + ["css=td:nth-child(1) > input", "css:finder"], + ["xpath=//input[@name='submit']", "xpath:attributes"], + ["xpath=//tr[3]/td/input", "xpath:position"] + ], + "value": "" + }, { + "id": "fe445ea9-b8ac-4186-a814-4cda6968f6d7", + "comment": "", + "command": "waitForElementVisible", + "target": "linkText=Admin", + "targets": [], + "value": "30000" + }, { + "id": "277ab8a3-924d-4f2a-a1d4-7b69ecd623ec", + "comment": "", + "command": "click", + "target": "linkText=Admin", + "targets": [ + ["linkText=Admin", "linkText"], + ["css=.nav-item:nth-child(3) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Admin')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/admin/management')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[3]/a", "xpath:position"], + ["xpath=//a[contains(.,'Admin')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "659e4909-239b-4895-aa54-8bf3a6bd57cd", + "comment": "", + "command": "waitForElementVisible", + "target": "css=tr:nth-child(3) .form-control", + "targets": [], + "value": "30000" + }, { + "id": "1c973205-111b-4440-afef-bd0e7e13b18c", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(3) .form-control", + "targets": [ + ["css=tr:nth-child(3) .form-control", "css:finder"], + ["xpath=//tr[3]/td[3]/select", "xpath:position"] + ], + "value": "" + }, { + "id": "dc06ff49-c076-4f60-95d1-a42514cc6038", + "comment": "", + "command": "select", + "target": "css=tr:nth-child(3) .form-control", + "targets": [], + "value": "label=ROLE_USER" + }, { + "id": "fb78d880-ffb7-4477-b1af-f9a8593875de", + "comment": "", + "command": "click", + "target": "css=li:nth-child(3) > .nav-link > translate-i18n", + "targets": [ + ["css=li:nth-child(3) > .nav-link > translate-i18n", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[3]/a/translate-i18n", "xpath:idRelative"], + ["xpath=//li[3]/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Logout')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "01f6bc37-2698-48c9-82f3-51928069ed58", + "comment": "", + "command": "waitForElementEditable", + "target": "name=username", + "targets": [], + "value": "30000" + }, { + "id": "6916ad6c-11db-423a-bb42-ad81287a71b2", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "none" + }, { + "id": "c8bf8ea5-1f75-4a40-aca4-9dfa6a6056dc", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "nonepass" + }, { + "id": "ba66c45f-2436-4fe7-a5a9-31b55ffe8118", + "comment": "", + "command": "click", + "target": "name=submit", + "targets": [ + ["name=submit", "name"], + ["css=td:nth-child(1) > input", "css:finder"], + ["xpath=//input[@name='submit']", "xpath:attributes"], + ["xpath=//tr[3]/td/input", "xpath:position"] + ], + "value": "" + }, { + "id": "16d9ba7b-995c-4383-98c0-07d5e779a27d", + "comment": "", + "command": "waitForElementPresent", + "target": "linkText=Metadata Sources", + "targets": [], + "value": "30000" + }, { + "id": "c2dd7259-7ae0-4b4f-a6b8-2592fa799f9c", + "comment": "", + "command": "assertText", + "target": "linkText=Metadata Sources", + "targets": [ + ["linkText=Metadata Sources", "linkText"], + ["css=.nav-item:nth-child(1) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Sources')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/resolvers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Sources')]", "xpath:innerText"] + ], + "value": "Metadata Sources" + }, { + "id": "5b9612bd-d0ea-439b-895f-3dc372023578", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" + }] + }], + "suites": [{ + "id": "173aaf44-c763-416e-ab3c-d5afd5ffcd29", + "name": "Default Suite", + "persistSession": false, + "parallel": false, + "timeout": 300, + "tests": ["67c3076f-1c47-4104-98ee-d4c3cd6ef870"] + }], + "urls": ["http://localhost:10101/"], + "plugins": [] +} \ No newline at end of file diff --git a/backend/src/integration/resources/SHIBUI-1521.side b/backend/src/integration/resources/SHIBUI-1521.side new file mode 100644 index 000000000..f49fef4c4 --- /dev/null +++ b/backend/src/integration/resources/SHIBUI-1521.side @@ -0,0 +1,1963 @@ +{ + "id": "1b31a551-eb09-4bd4-8db9-694bf1539a46", + "version": "2.0", + "name": "SHIBUI-1521", + "url": "http://localhost:10101", + "tests": [{ + "id": "841ade0e-83bd-4a4b-94f2-de6bd5c536b2", + "name": "SHIBUI-1521", + "commands": [{ + "id": "d6b23986-6d14-4b10-be7b-a7e6f576e3b2", + "comment": "", + "command": "open", + "target": "/login", + "targets": [], + "value": "" + }, { + "id": "f77ecd77-01c2-4463-944e-1a69600f5297", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "c9bf0a22-faa9-494c-b2ed-6c9653248551", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "adminpass" + }, { + "id": "7ab1d854-3582-4101-bd19-f94b8f438090", + "comment": "", + "command": "sendKeys", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "${KEY_ENTER}" + }, { + "id": "ad3811ad-f95b-4cca-a5d9-63a10063a652", + "comment": "", + "command": "click", + "target": "css=#addNewDropdown > translate-i18n", + "targets": [ + ["css=#addNewDropdown > translate-i18n", "css:finder"], + ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], + ["xpath=//translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1caf8be6-a4d9-4b3b-ace1-0f76d3600d62", + "comment": "", + "command": "click", + "target": "linkText=Metadata Source", + "targets": [ + ["linkText=Metadata Source", "linkText"], + ["css=.dropdown-menu > .nav-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li/div/a", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '')])[2]", "xpath:href"], + ["xpath=//div/a", "xpath:position"] + ], + "value": "" + }, { + "id": "218e51fd-49e6-400b-9d7f-61bcd8e0c074", + "comment": "", + "command": "click", + "target": "id=/serviceProviderName", + "targets": [ + ["id=/serviceProviderName", "id"], + ["name=field1", "name"], + ["css=#\\/serviceProviderName", "css:finder"], + ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "9ee43e46-ab9e-46b1-8eb2-9718fb98bda2", + "comment": "", + "command": "type", + "target": "id=/serviceProviderName", + "targets": [ + ["id=field1", "id"], + ["name=field1", "name"], + ["css=#field1", "css:finder"], + ["xpath=//input[@id='field1']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Test Provider" + }, { + "id": "7fe7298b-275c-4797-8d1b-f4547b63eb02", + "comment": "", + "command": "type", + "target": "id=/entityId", + "targets": [ + ["id=/entityId", "id"], + ["name=field2", "name"], + ["css=#\\/entityId", "css:finder"], + ["xpath=//input[@id='/entityId']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "test-1234" + }, { + "id": "8739ddfa-7812-46b3-bee7-b4bc73a3dd35", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[2]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "4d88e469-df2f-40ee-a557-b5eafbc24ef3", + "comment": "", + "command": "click", + "target": "id=/organization/name", + "targets": [ + ["id=/organization/name", "id"], + ["name=field5", "name"], + ["css=#\\/organization\\/name", "css:finder"], + ["xpath=//input[@id='/organization/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "e0168286-af90-4c0a-a0ba-0dd97d64849b", + "comment": "", + "command": "type", + "target": "id=/organization/name", + "targets": [ + ["id=field5", "id"], + ["name=field5", "name"], + ["css=#field5", "css:finder"], + ["xpath=//input[@id='field5']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Test Org" + }, { + "id": "8f6dcf95-41e4-446a-a7fb-a064d928e1bc", + "comment": "", + "command": "type", + "target": "id=/organization/displayName", + "targets": [ + ["id=/organization/displayName", "id"], + ["name=field6", "name"], + ["css=#\\/organization\\/displayName", "css:finder"], + ["xpath=//input[@id='/organization/displayName']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "Test Org Name" + }, { + "id": "7cc2068e-3fa3-4f1c-ac97-c63e78911b9e", + "comment": "", + "command": "type", + "target": "id=/organization/url", + "targets": [ + ["id=/organization/url", "id"], + ["name=field7", "name"], + ["css=#\\/organization\\/url", "css:finder"], + ["xpath=//input[@id='/organization/url']", "xpath:attributes"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "http://test.org" + }, { + "id": "1da05567-4f8d-4fd8-957a-bfddb2380bfb", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5379b245-cd77-43c1-b424-3b6595c74174", + "comment": "", + "command": "click", + "target": "id=/contacts/0/name", + "targets": [ + ["id=/contacts/0/name", "id"], + ["name=field10", "name"], + ["css=#\\/contacts\\/0\\/name", "css:finder"], + ["xpath=//input[@id='/contacts/0/name']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "b658cae2-ba5a-406b-a48c-87d110ff4ed0", + "comment": "", + "command": "type", + "target": "id=/contacts/0/name", + "targets": [ + ["id=field10", "id"], + ["name=field10", "name"], + ["css=#field10", "css:finder"], + ["xpath=//input[@id='field10']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "Test User" + }, { + "id": "3a2de62d-c1c1-43a7-a484-8a0d23bf301e", + "comment": "", + "command": "click", + "target": "id=/contacts/0/type", + "targets": [ + ["id=/contacts/0/type", "id"], + ["name=field11", "name"], + ["css=#\\/contacts\\/0\\/type", "css:finder"], + ["xpath=//select[@id='/contacts/0/type']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "" + }, { + "id": "86e4e429-2a72-496a-add8-df2fc079d157", + "comment": "", + "command": "select", + "target": "id=/contacts/0/type", + "targets": [], + "value": "label=Technical" + }, { + "id": "95531b0b-c084-422d-bac9-60ee7e7a9f16", + "comment": "", + "command": "click", + "target": "id=/contacts/0/emailAddress", + "targets": [ + ["id=/contacts/0/emailAddress", "id"], + ["name=field12", "name"], + ["css=#\\/contacts\\/0\\/emailAddress", "css:finder"], + ["xpath=//input[@id='/contacts/0/emailAddress']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "e5d6662e-38d4-479f-b76b-c0c05fcabe15", + "comment": "", + "command": "type", + "target": "id=/contacts/0/emailAddress", + "targets": [ + ["id=field12", "id"], + ["name=field12", "name"], + ["css=#field12", "css:finder"], + ["xpath=//input[@id='field12']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "user@test.org" + }, { + "id": "b4e3ea55-b4c0-4585-99fe-ac1534efadd8", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "234de758-df6d-47d7-af74-83aee3fa1e72", + "comment": "", + "command": "click", + "target": "id=/contacts/1/name", + "targets": [ + ["id=/contacts/1/name", "id"], + ["name=field14", "name"], + ["css=#\\/contacts\\/1\\/name", "css:finder"], + ["xpath=//input[@id='/contacts/1/name']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "02819e27-7aed-4a1a-867f-f8131c3897d8", + "comment": "", + "command": "type", + "target": "id=/contacts/1/name", + "targets": [ + ["id=field14", "id"], + ["name=field14", "name"], + ["css=#field14", "css:finder"], + ["xpath=//input[@id='field14']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "Test User 2" + }, { + "id": "1d478856-8742-4627-acbe-daed2bb83abe", + "comment": "", + "command": "click", + "target": "id=/contacts/1/type", + "targets": [ + ["css=#field15 > option:nth-child(2)", "css:finder"], + ["xpath=(//option[@value='1: support'])[2]", "xpath:attributes"], + ["xpath=//select[@id='field15']/option[2]", "xpath:idRelative"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "9b4c76b4-3851-4aac-a9f5-67e20c36f174", + "comment": "", + "command": "select", + "target": "id=/contacts/1/type", + "targets": [ + ["id=/contacts/1/type", "id"], + ["name=field15", "name"], + ["css=#\\/contacts\\/1\\/type", "css:finder"], + ["xpath=//select[@id='/contacts/1/type']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] + ], + "value": "label=Support" + }, { + "id": "5e3fddc1-786d-4040-8351-2f553e3c8811", + "comment": "", + "command": "click", + "target": "id=/contacts/1/emailAddress", + "targets": [ + ["id=/contacts/1/emailAddress", "id"], + ["name=field16", "name"], + ["css=#\\/contacts\\/1\\/emailAddress", "css:finder"], + ["xpath=//input[@id='/contacts/1/emailAddress']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "700d8907-6a65-43d5-aebf-60a392379534", + "comment": "", + "command": "type", + "target": "id=/contacts/1/emailAddress", + "targets": [ + ["id=field16", "id"], + ["name=field16", "name"], + ["css=#field16", "css:finder"], + ["xpath=//input[@id='field16']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "user2@test.org" + }, { + "id": "fdda1155-876f-46a4-ae4f-c3519ed34b62", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "f38b7fca-0c0c-4658-9df6-10a26881c6a5", + "comment": "", + "command": "click", + "target": "id=/mdui/displayName", + "targets": [ + ["id=/mdui/displayName", "id"], + ["name=field19", "name"], + ["css=#\\/mdui\\/displayName", "css:finder"], + ["xpath=//input[@id='/mdui/displayName']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "c03c4582-e1f1-449f-9a79-300d48ad69d8", + "comment": "", + "command": "type", + "target": "id=/mdui/displayName", + "targets": [ + ["id=field19", "id"], + ["name=field19", "name"], + ["css=#field19", "css:finder"], + ["xpath=//input[@id='field19']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Display Name" + }, { + "id": "5098507c-fa51-4c13-b9a3-381034e0fa52", + "comment": "", + "command": "type", + "target": "id=/mdui/informationUrl", + "targets": [ + ["id=/mdui/informationUrl", "id"], + ["name=field20", "name"], + ["css=#\\/mdui\\/informationUrl", "css:finder"], + ["xpath=//input[@id='/mdui/informationUrl']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "http://test.org/info" + }, { + "id": "d5de3699-5a18-4abe-a2ea-0a2b7565c525", + "comment": "", + "command": "type", + "target": "id=/mdui/description", + "targets": [ + ["id=/mdui/description", "id"], + ["name=field21", "name"], + ["css=#\\/mdui\\/description", "css:finder"], + ["xpath=//textarea[@id='/mdui/description']", "xpath:attributes"], + ["xpath=//textarea", "xpath:position"] + ], + "value": "This is a description." + }, { + "id": "115bb9a9-e991-4cf0-8bcb-363d9dc3c269", + "comment": "", + "command": "click", + "target": "id=/mdui/privacyStatementUrl", + "targets": [ + ["id=/mdui/privacyStatementUrl", "id"], + ["name=field22", "name"], + ["css=#\\/mdui\\/privacyStatementUrl", "css:finder"], + ["xpath=//input[@id='/mdui/privacyStatementUrl']", "xpath:attributes"], + ["xpath=//fieldset[2]/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "df623bef-a1fc-48ff-aa93-05e0da85ef51", + "comment": "", + "command": "type", + "target": "id=/mdui/privacyStatementUrl", + "targets": [ + ["id=field22", "id"], + ["name=field22", "name"], + ["css=#field22", "css:finder"], + ["xpath=//input[@id='field22']", "xpath:attributes"], + ["xpath=//fieldset[2]/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "http://test.org/privacy" + }, { + "id": "ed17408b-a763-4e5d-86cd-efe575df8d08", + "comment": "", + "command": "type", + "target": "id=/mdui/logoUrl", + "targets": [ + ["id=/mdui/logoUrl", "id"], + ["name=field23", "name"], + ["css=#\\/mdui\\/logoUrl", "css:finder"], + ["xpath=//input[@id='/mdui/logoUrl']", "xpath:attributes"], + ["xpath=//fieldset[2]/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "http://test.org/logo" + }, { + "id": "2946a968-7289-43e5-820d-b1aee442ce96", + "comment": "", + "command": "type", + "target": "id=/mdui/logoWidth", + "targets": [ + ["id=/mdui/logoWidth", "id"], + ["name=field24", "name"], + ["css=#\\/mdui\\/logoWidth", "css:finder"], + ["xpath=//input[@id='/mdui/logoWidth']", "xpath:attributes"], + ["xpath=//integer-component/div/input", "xpath:position"] + ], + "value": "200" + }, { + "id": "ceec5477-13d4-4ab4-944e-a2a34a9b4510", + "comment": "", + "command": "type", + "target": "id=/mdui/logoHeight", + "targets": [ + ["id=/mdui/logoHeight", "id"], + ["name=field25", "name"], + ["css=#\\/mdui\\/logoHeight", "css:finder"], + ["xpath=//input[@id='/mdui/logoHeight']", "xpath:attributes"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/integer-component/div/input", "xpath:position"] + ], + "value": "300" + }, { + "id": "79c55e8f-286d-4c64-a1bc-1a19a7554f7a", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "88054c63-d468-4340-b4d3-c69fb6ed6f96", + "comment": "", + "command": "click", + "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='1: SAML 2']", "xpath:attributes"], + ["xpath=//select[@id='field28']/option[2]", "xpath:idRelative"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'SAML 2')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c77b3648-fce1-46f9-aec9-ca88c90d4c92", + "comment": "", + "command": "select", + "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "targets": [ + ["id=/serviceProviderSsoDescriptor/protocolSupportEnum", "id"], + ["name=field28", "name"], + ["css=#\\/serviceProviderSsoDescriptor\\/protocolSupportEnum", "css:finder"], + ["xpath=//select[@id='/serviceProviderSsoDescriptor/protocolSupportEnum']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=SAML 2" + }, { + "id": "aec93dce-3142-4df3-b09d-735c70d1197b", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "8a9bef2c-566b-4911-b05c-a335952d7be6", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "a0102f51-f1d8-4c38-9170-482022ea7397", + "comment": "", + "command": "click", + "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", + "targets": [ + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "06668dc1-ec69-4363-8935-f27e80b5fc90", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "9033e5ad-4255-4aa7-a878-c7beab69ee8e", + "comment": "", + "command": "click", + "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", + "targets": [ + ["id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", "id"], + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__listbox']/li", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "c21b1d7a-9325-4d70-887d-387c7a042c08", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "0691340f-95ec-4289-9449-a5e4210e64ce", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "c1534880-c4e5-4fbd-b200-c28f9f556ab9", + "comment": "", + "command": "click", + "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", + "targets": [ + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "c6b43283-411e-47f0-8f1b-62c7092a137f", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "d07b2d83-3699-4f48-90e8-6fc883d3a02a", + "comment": "", + "command": "click", + "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", + "targets": [ + ["id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", "id"], + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1__option--1", "css:finder"], + ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "2c77ecbc-45cc-471c-9e39-f87ec06a9385", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5e1ca47b-ae4a-4d85-bba6-c78f5b1a69c0", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "97a98737-862d-4567-8b20-c5c991444ed0", + "comment": "", + "command": "click", + "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", + "targets": [ + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "3d47de6e-6cb9-47bc-b95e-33adccd48335", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "686e004c-2b0f-4308-8622-b04bc05a50a9", + "comment": "", + "command": "click", + "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", + "targets": [ + ["id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", "id"], + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2__option--2", "css:finder"], + ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "104367d3-f250-4439-8721-32dcf9f25e0c", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d13c75f8-9843-4732-b3f6-9fe568c3c68a", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "e2e8d5d4-8b6a-42d5-9fe7-abb8a84216e3", + "comment": "", + "command": "click", + "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", + "targets": [ + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "ade81589-7fa9-4cfc-9114-bbf843fa7302", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "b6ac5230-772b-44bc-b9d1-6ae8a58e0368", + "comment": "", + "command": "click", + "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", + "targets": [ + ["id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", "id"], + ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3__option--3", "css:finder"], + ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__option--3']", "xpath:attributes"], + ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ], + "value": "" + }, { + "id": "d135ef80-69d8-4cd1-b581-5e1973342082", + "comment": "", + "command": "click", + "target": "css=.btn-success > translate-i18n", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "23fd8856-32df-48ed-a198-a74e8ca71b10", + "comment": "", + "command": "type", + "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/4", + "targets": [ + ["id=field34", "id"], + ["css=#field34", "css:finder"], + ["xpath=//input[@id='field34']", "xpath:attributes"], + ["xpath=//div[@id='field34-container']/div/input", "xpath:idRelative"], + ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "somethingElse" + }, { + "id": "4f61120b-7c6b-4f8e-8543-898298451a56", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "0de0345e-c9d2-4904-b797-a36965c5d82c", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "62ade28b-19d4-4c54-b179-0d36312c578f", + "comment": "", + "command": "click", + "target": "id=/logoutEndpoints/0/url", + "targets": [ + ["id=/logoutEndpoints/0/url", "id"], + ["name=field38", "name"], + ["css=#\\/logoutEndpoints\\/0\\/url", "css:finder"], + ["xpath=//input[@id='/logoutEndpoints/0/url']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "517e5991-197d-42fd-86ff-4da5fd04949b", + "comment": "", + "command": "type", + "target": "id=/logoutEndpoints/0/url", + "targets": [ + ["id=field38", "id"], + ["name=field38", "name"], + ["css=#field38", "css:finder"], + ["xpath=//input[@id='field38']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "http://test.org/logout" + }, { + "id": "034f6a60-6b2d-42f1-adb4-515c8a750953", + "comment": "", + "command": "click", + "target": "id=/logoutEndpoints/0/bindingType", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], + ["xpath=//select[@id='field39']/option[2]", "xpath:idRelative"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "6967d0bb-dbf7-4f57-9e55-6de71abd69c1", + "comment": "", + "command": "select", + "target": "id=/logoutEndpoints/0/bindingType", + "targets": [ + ["id=/logoutEndpoints/0/bindingType", "id"], + ["name=field39", "name"], + ["css=#\\/logoutEndpoints\\/0\\/bindingType", "css:finder"], + ["xpath=//select[@id='/logoutEndpoints/0/bindingType']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + }, { + "id": "542f9b37-a63d-4acb-ba3e-2ac3706b6667", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "39dedb16-bcd2-496a-af85-7d20a129593b", + "comment": "", + "command": "click", + "target": "id=/logoutEndpoints/1/url", + "targets": [ + ["id=/logoutEndpoints/1/url", "id"], + ["name=field41", "name"], + ["css=#\\/logoutEndpoints\\/1\\/url", "css:finder"], + ["xpath=//input[@id='/logoutEndpoints/1/url']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "d25f708c-f72a-4fb7-88c1-a25a61d9f72a", + "comment": "", + "command": "type", + "target": "id=/logoutEndpoints/1/url", + "targets": [ + ["id=field41", "id"], + ["name=field41", "name"], + ["css=#field41", "css:finder"], + ["xpath=//input[@id='field41']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "http://test.org/logout2" + }, { + "id": "bee9600e-b6db-484a-9b87-d7c657911108", + "comment": "", + "command": "click", + "target": "id=/logoutEndpoints/1/bindingType", + "targets": [ + ["css=#field42 > option:nth-child(3)", "css:finder"], + ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redir'])[2]", "xpath:attributes"], + ["xpath=//select[@id='field42']/option[3]", "xpath:idRelative"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "e0e7ef9b-4ed1-4df2-b501-9cbb855baa7f", + "comment": "", + "command": "select", + "target": "id=/logoutEndpoints/1/bindingType", + "targets": [ + ["id=/logoutEndpoints/1/bindingType", "id"], + ["name=field42", "name"], + ["css=#\\/logoutEndpoints\\/1\\/bindingType", "css:finder"], + ["xpath=//select[@id='/logoutEndpoints/1/bindingType']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] + ], + "value": "label=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + }, { + "id": "a47fdf43-1336-4fdb-a395-f14f0fe131de", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "6c794e94-9c64-4683-816a-380432f2ed79", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509CertificateAvailable.true", + "targets": [ + ["id=/securityInfo/x509CertificateAvailable.true", "id"], + ["css=#\\/securityInfo\\/x509CertificateAvailable\\.true", "css:finder"], + ["xpath=//input[@id='/securityInfo/x509CertificateAvailable.true']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "f0ade90e-2c31-4a77-b936-3b2a00388477", + "comment": "", + "command": "click", + "target": "id=/securityInfo/authenticationRequestsSigned.true", + "targets": [ + ["id=/securityInfo/authenticationRequestsSigned.true", "id"], + ["css=#\\/securityInfo\\/authenticationRequestsSigned\\.true", "css:finder"], + ["xpath=//input[@id='/securityInfo/authenticationRequestsSigned.true']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "e26eda6f-1897-42e2-9ea9-671b1ff88874", + "comment": "", + "command": "click", + "target": "id=/securityInfo/wantAssertionsSigned.true", + "targets": [ + ["id=/securityInfo/wantAssertionsSigned.true", "id"], + ["css=#\\/securityInfo\\/wantAssertionsSigned\\.true", "css:finder"], + ["xpath=//input[@id='/securityInfo/wantAssertionsSigned.true']", "xpath:attributes"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "3e11e54a-1b36-43ed-a8e5-d91f1fbed991", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509Certificates/0/name", + "targets": [ + ["id=/securityInfo/x509Certificates/0/name", "id"], + ["name=field50", "name"], + ["css=#\\/securityInfo\\/x509Certificates\\/0\\/name", "css:finder"], + ["xpath=//input[@id='/securityInfo/x509Certificates/0/name']", "xpath:attributes"], + ["xpath=//div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "5acb8e19-16a3-4139-a961-1b58c11c4681", + "comment": "", + "command": "type", + "target": "id=/securityInfo/x509Certificates/0/name", + "targets": [ + ["id=field50", "id"], + ["name=field50", "name"], + ["css=#field50", "css:finder"], + ["xpath=//input[@id='field50']", "xpath:attributes"], + ["xpath=//div/input", "xpath:position"] + ], + "value": "Cert 1 Name" + }, { + "id": "23ff8b87-ac6c-4f82-a779-aa91be11f49c", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509Certificates/0/type.0", + "targets": [ + ["id=/securityInfo/x509Certificates/0/type.0", "id"], + ["name=field55", "name"], + ["css=#\\/securityInfo\\/x509Certificates\\/0\\/type\\.0", "css:finder"], + ["xpath=//input[@id='/securityInfo/x509Certificates/0/type.0']", "xpath:attributes"], + ["xpath=//div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "dd15088c-ddc9-42fd-8f8d-f73338be71b6", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509Certificates/0/value", + "targets": [ + ["id=/securityInfo/x509Certificates/0/value", "id"], + ["name=field52", "name"], + ["css=#\\/securityInfo\\/x509Certificates\\/0\\/value", "css:finder"], + ["xpath=//textarea[@id='/securityInfo/x509Certificates/0/value']", "xpath:attributes"], + ["xpath=//textarea", "xpath:position"] + ], + "value": "" + }, { + "id": "813bf709-6c73-41ac-837a-5be076fa43c7", + "comment": "", + "command": "type", + "target": "id=/securityInfo/x509Certificates/0/value", + "targets": [ + ["name=field52", "name"], + ["css=.text-widget", "css:finder"], + ["xpath=//textarea[@name='field52']", "xpath:attributes"], + ["xpath=//textarea", "xpath:position"] + ], + "value": "This is cert 1." + }, { + "id": "fcf4cc15-54f4-4add-a093-e7ba5f2dc556", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "cbe577f6-3d18-49d9-95ab-2e597e5308a6", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509Certificates/1/name", + "targets": [ + ["id=/securityInfo/x509Certificates/1/name", "id"], + ["name=field54", "name"], + ["css=#\\/securityInfo\\/x509Certificates\\/1\\/name", "css:finder"], + ["xpath=//input[@id='/securityInfo/x509Certificates/1/name']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "ae98e813-77f4-424e-9141-d48e6127d9b6", + "comment": "", + "command": "type", + "target": "id=/securityInfo/x509Certificates/1/name", + "targets": [ + ["id=field54", "id"], + ["name=field54", "name"], + ["css=#field54", "css:finder"], + ["xpath=//input[@id='field54']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "Cert 2 Name" + }, { + "id": "835ad053-0a10-4606-a148-c7ba36be316f", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509Certificates/1/type.1", + "targets": [ + ["id=/securityInfo/x509Certificates/1/type.1", "id"], + ["css=#\\/securityInfo\\/x509Certificates\\/1\\/type\\.1", "css:finder"], + ["xpath=//input[@id='/securityInfo/x509Certificates/1/type.1']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-radio-widget/div/div[2]/input", "xpath:position"] + ], + "value": "" + }, { + "id": "e272cafa-3aba-4aff-972e-b1d45e627b88", + "comment": "", + "command": "click", + "target": "id=/securityInfo/x509Certificates/1/value", + "targets": [ + ["id=/securityInfo/x509Certificates/1/value", "id"], + ["name=field56", "name"], + ["css=#\\/securityInfo\\/x509Certificates\\/1\\/value", "css:finder"], + ["xpath=//textarea[@id='/securityInfo/x509Certificates/1/value']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/textarea-component/div/textarea", "xpath:position"] + ], + "value": "" + }, { + "id": "ae42d668-92ba-4cb8-9daf-a2a64ac18404", + "comment": "", + "command": "type", + "target": "id=/securityInfo/x509Certificates/1/value", + "targets": [ + ["name=field56", "name"], + ["css=.ng-untouched:nth-child(3)", "css:finder"], + ["xpath=//textarea[@name='field56']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/textarea-component/div/textarea", "xpath:position"] + ], + "value": "This is cert 2." + }, { + "id": "4e64d71e-8e6f-4288-b277-3d3945f57c53", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "573c9f4c-c677-4175-96c5-3aaaf86e5ac1", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "50c1a3a1-b51c-41f9-81ff-d3d2894861ad", + "comment": "", + "command": "click", + "target": "id=/assertionConsumerServices/0/locationUrl", + "targets": [ + ["id=/assertionConsumerServices/0/locationUrl", "id"], + ["name=field60", "name"], + ["css=#\\/assertionConsumerServices\\/0\\/locationUrl", "css:finder"], + ["xpath=//input[@id='/assertionConsumerServices/0/locationUrl']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "6ff4002a-1c57-4778-b402-f917efaa5194", + "comment": "", + "command": "type", + "target": "id=/assertionConsumerServices/0/locationUrl", + "targets": [ + ["id=field60", "id"], + ["name=field60", "name"], + ["css=#field60", "css:finder"], + ["xpath=//input[@id='field60']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "http://test.org/assert" + }, { + "id": "e81c5045-98c3-499c-bff5-2645efa4c55d", + "comment": "", + "command": "click", + "target": "id=/assertionConsumerServices/0/binding", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], + ["xpath=//select[@id='field61']/option[2]", "xpath:idRelative"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "24c810c8-747a-4ae2-91e5-16685d589f21", + "comment": "", + "command": "select", + "target": "id=/assertionConsumerServices/0/binding", + "targets": [ + ["id=/assertionConsumerServices/0/binding", "id"], + ["name=field61", "name"], + ["css=#\\/assertionConsumerServices\\/0\\/binding", "css:finder"], + ["xpath=//select[@id='/assertionConsumerServices/0/binding']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + }, { + "id": "c221b1f5-2961-4cbd-a545-1e34a09b8153", + "comment": "", + "command": "click", + "target": "css=.custom-control-label", + "targets": [ + ["css=.custom-control-label", "css:finder"], + ["xpath=//div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Mark as Default')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "cb058717-f20f-4a54-81e5-9a7dcf66ec0e", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "f9998203-830b-44d3-8392-45b737544177", + "comment": "", + "command": "click", + "target": "id=/assertionConsumerServices/1/locationUrl", + "targets": [ + ["id=/assertionConsumerServices/1/locationUrl", "id"], + ["name=field64", "name"], + ["css=#\\/assertionConsumerServices\\/1\\/locationUrl", "css:finder"], + ["xpath=//input[@id='/assertionConsumerServices/1/locationUrl']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "d5cbf5e8-7c5b-45f7-8645-dd9f9d39922e", + "comment": "", + "command": "type", + "target": "id=/assertionConsumerServices/1/locationUrl", + "targets": [ + ["id=field64", "id"], + ["name=field64", "name"], + ["css=#field64", "css:finder"], + ["xpath=//input[@id='field64']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "http://test.org/assert2" + }, { + "id": "74de4187-3d1e-4a4d-af8e-966f00649ab8", + "comment": "", + "command": "click", + "target": "id=/assertionConsumerServices/1/binding", + "targets": [ + ["css=#field65 > option:nth-child(3)", "css:finder"], + ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:1.0:profiles:browser-po'])[2]", "xpath:attributes"], + ["xpath=//select[@id='field65']/option[3]", "xpath:idRelative"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "929c1047-f455-418b-b23e-a383d681f028", + "comment": "", + "command": "select", + "target": "id=/assertionConsumerServices/1/binding", + "targets": [ + ["id=/assertionConsumerServices/1/binding", "id"], + ["name=field65", "name"], + ["css=#\\/assertionConsumerServices\\/1\\/binding", "css:finder"], + ["xpath=//select[@id='/assertionConsumerServices/1/binding']", "xpath:attributes"], + ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] + ], + "value": "label=urn:oasis:names:tc:SAML:1.0:profiles:browser-post" + }, { + "id": "d113cc67-659a-48f0-a50c-98355a07b187", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "134bf1f3-1e86-49e7-91de-185e513b02be", + "comment": "", + "command": "click", + "target": "css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", + "targets": [ + ["css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5cd1ae5f-678a-4be8-a03f-b290006e52fe", + "comment": "", + "command": "click", + "target": "css=div:nth-child(2) > sf-form-element .custom-control-label", + "targets": [ + ["css=div:nth-child(2) > sf-form-element .custom-control-label", "css:finder"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "5895d555-6ef5-4344-b177-00e905f9007c", + "comment": "", + "command": "click", + "target": "css=div:nth-child(3) > sf-form-element .custom-control-label", + "targets": [ + ["css=div:nth-child(3) > sf-form-element .custom-control-label", "css:finder"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "8d834380-e312-494d-9b4b-c5b798cc9b15", + "comment": "", + "command": "click", + "target": "css=div:nth-child(4) .custom-control-label", + "targets": [ + ["css=div:nth-child(4) .custom-control-label", "css:finder"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "bcf532a9-ba5a-4ca1-a342-dde53bc4a592", + "comment": "", + "command": "click", + "target": "css=div:nth-child(5) .custom-control-label", + "targets": [ + ["css=div:nth-child(5) .custom-control-label", "css:finder"], + ["xpath=//div[5]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Ignore any SP-Requested Authentication Method?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "45f3df44-1c34-4649-aedb-14207e9ce999", + "comment": "", + "command": "click", + "target": "css=div:nth-child(6) .custom-control-label", + "targets": [ + ["css=div:nth-child(6) .custom-control-label", "css:finder"], + ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "7ccb7d88-b113-4ee9-8582-b3d781fa8846", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/responderId", + "targets": [ + ["id=/relyingPartyOverrides/responderId", "id"], + ["name=field121", "name"], + ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "afe1b839-3421-4816-bf69-c804add681ba", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/responderId", + "targets": [ + ["id=field75", "id"], + ["name=field75", "name"], + ["css=#field75", "css:finder"], + ["xpath=//input[@id='field75']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "responder-id-123" + }, { + "id": "ba74d18d-0996-485f-8a9f-01a39428eb0c", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .btn", + "targets": [ + ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "94cd4815-7417-40ef-a07a-5e1fd4fd697c", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "2a91666b-5453-4064-8923-c3384835b6fd", + "comment": "", + "command": "click", + "target": "css=.btn-outline-secondary", + "targets": [ + ["css=.btn-outline-secondary", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "6fe62627-3568-48f0-a49c-ddb562b3aba2", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "6e8718ef-e053-48d8-91e5-f5128e371f56", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--0", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/0__option--0", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "ec3afb37-30b4-4d07-93a6-dcf022605532", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "ae91c905-fb35-4e10-bb74-06595cfb6489", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "fd33610c-dbca-410d-b2a4-117a1b2b6a79", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "b4002361-ca74-453f-aaf4-16b7f4bde28d", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "3cd47415-5e57-4148-a40b-9571e6791f3f", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/1__option--1", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/1__option--1", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1__option--1", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/1__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "8b340d1f-4944-4d10-a4cd-5e79be6804ef", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1b71cf52-12f0-4117-9972-418977413b86", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "208b33cf-f983-4a82-9b1b-19cdf2a937fc", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "3a6d00cb-95bc-4230-9e92-148bc238362f", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "b4beb2b3-8481-4431-9299-a39a4107f17f", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/2__option--2", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/2__option--2", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2__option--2", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/2__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "d6e7a640-a578-415b-9c1b-b2313b62ad46", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "4c237050-18f1-44fb-a624-6fdabe5c42c7", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "788a5b63-a75f-4aeb-9a5d-17c41e8f718e", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "f5f865fd-e9e6-4d8c-8368-06455e3b72f0", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "c82d6951-13e2-4d32-9e19-eac52bfdc188", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/3__option--3", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/3__option--3", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3__option--3", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/3__option--3']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ], + "value": "" + }, { + "id": "4c15be93-75be-4673-b703-07a705300d0f", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .btn", + "targets": [ + ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "1a1b509e-1768-4291-820d-26f4b73a9d71", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/nameIdFormats/4']", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/4-container']/div/input", "xpath:idRelative"], + ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "433d6e9d-9d03-4042-9ee0-6284570f8a3c", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "targets": [ + ["id=field83", "id"], + ["css=#field83", "css:finder"], + ["xpath=//input[@id='field83']", "xpath:attributes"], + ["xpath=//div[@id='field83-container']/div/input", "xpath:idRelative"], + ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "somethingElse" + }, { + "id": "c8bb3bee-3d61-4324-a3aa-38b78232b969", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .btn", + "targets": [], + "value": "" + }, { + "id": "a264ad94-60d9-4634-b341-49016d821a8c", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "cbf15c4c-35d9-4f80-ba3d-bfe960048cd1", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "e4a30d5e-2d62-4e7d-9fe6-08d1397184d1", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "6c62d514-0143-49d9-97b3-6b7cb443df9d", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "ed769470-9c3f-4c23-bbed-85513dcea800", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "bd192c25-e728-4955-93e3-a63e0f09ad38", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "2b063eb8-f2d6-4a59-85bb-b04c467d9874", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/1-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "f7b66d8c-8679-4c97-8dda-c024b97d8b42", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "5a32d59b-1ac3-4cd0-a2d8-0e934f8182fd", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/1__option--1", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/1__option--1", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1__option--1", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/1__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/1__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "892ddc96-970b-4dde-9189-0dc9ed197dab", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "b1f77f35-fb18-4070-b24b-5bf0fe13c85a", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "64e215d9-6e46-422f-882c-13b6fb102622", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/2-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "4e0e4812-b9ee-45bd-b3d1-d8b92186678b", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "6a7bce1a-34be-4d4c-b732-d2f198e8b8a1", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/2__option--2", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/2__option--2", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2__option--2", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/2__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/2__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "f0dd4b79-eab5-4d4b-af2e-07ca661f8288", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .btn", + "targets": [ + ["css=div:nth-child(9) .btn > translate-i18n", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "dacd34b0-9e48-4838-b137-bf22dd027ed0", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/authenticationMethods/3']", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/3-container']/div/input", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "cc9dd18b-ee87-4aa7-91f2-59f02834759b", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "targets": [ + ["id=field87", "id"], + ["css=#field87", "css:finder"], + ["xpath=//input[@id='field87']", "xpath:attributes"], + ["xpath=//div[@id='field87-container']/div/input", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "otherThings" + }, { + "id": "7c85fe59-dc95-4328-a010-33d1a06a5ce5", + "comment": "", + "command": "click", + "target": "css=div:nth-child(10) .custom-control-label", + "targets": [ + ["css=div:nth-child(10) .custom-control-label", "css:finder"], + ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "204ea80c-4aac-497f-8956-6370967ba73e", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "553dd570-b1bb-43bb-a469-63ee08a09794", + "comment": "", + "command": "click", + "target": "css=.fa-check", + "targets": [ + ["css=.fa-check", "css:finder"], + ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], + ["xpath=//td[2]/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "4adb7283-b1ad-4553-a934-afc54fa8b04f", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "14ca713a-313d-4cda-82ca-a0b814ce81dc", + "comment": "", + "command": "click", + "target": "css=.custom-control-label", + "targets": [ + ["css=.custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Enable this service?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "3baa7bd3-55c0-4d10-8aa3-c0daa63ec4d4", + "comment": "", + "command": "assertText", + "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "targets": [ + ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] + ], + "value": "test-1234" + }, { + "id": "0d355ff0-0449-49a7-ae75-14d7c405b97c", + "comment": "", + "command": "assertText", + "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", + "targets": [ + ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] + ], + "value": "http://test.org/assert2" + }, { + "id": "e53030b6-f344-4361-981d-b8303a721c5d", + "comment": "", + "command": "assertText", + "target": "css=array-property:nth-child(8) .border-0", + "targets": [ + ["css=array-property:nth-child(8) .border-0", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:idRelative"], + ["xpath=//section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:position"] + ], + "value": "somethingElse" + }, { + "id": "18636780-2feb-458f-97be-cf4a625b22e1", + "comment": "", + "command": "assertText", + "target": "css=.d-flex:nth-child(5) > .py-2 > span", + "targets": [ + ["css=.d-flex:nth-child(5) > .py-2 > span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section[9]/div/div[2]/object-property/array-property/div/div[5]/div/span", "xpath:idRelative"], + ["xpath=//div/div[5]/div/span", "xpath:position"] + ], + "value": "True" + }, { + "id": "1406d7e4-907d-4359-8de8-a40206f0993e", + "comment": "", + "command": "click", + "target": "css=.save", + "targets": [ + ["css=.save", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "4e0fa4f5-817f-41fb-9885-60f37b699436", + "comment": "", + "command": "waitForElementVisible", + "target": "css=tr > .text-right", + "targets": [ + ["css=tr > .text-right", "css:finder"], + ["xpath=//td[5]", "xpath:position"], + ["xpath=//td[contains(.,'Enabled')]", "xpath:innerText"] + ], + "value": "10000" + }, { + "id": "ba9fb8e8-d332-45bd-accd-703284744136", + "comment": "", + "command": "assertText", + "target": "css=td:nth-child(1)", + "targets": [ + ["linkText=Test Provider", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Provider')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/resolver/ee3aedc4-b56a-46c4-b8db-09603dd5b473/configuration/options')]", "xpath:href"], + ["xpath=//td/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Provider')]", "xpath:innerText"] + ], + "value": "Test Provider" + }, { + "id": "eff4c9fe-7daf-4082-a162-4a9dff323293", + "comment": "", + "command": "assertText", + "target": "css=td:nth-child(2)", + "targets": [ + ["css=td:nth-child(2)", "css:finder"], + ["xpath=//td[2]", "xpath:position"], + ["xpath=//td[contains(.,'test-1234')]", "xpath:innerText"] + ], + "value": "test-1234" + }, { + "id": "b2d9f789-fb94-459f-9947-5364cebc43d1", + "comment": "", + "command": "assertText", + "target": "css=td:nth-child(3)", + "targets": [ + ["css=td:nth-child(3)", "css:finder"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'root')]", "xpath:innerText"] + ], + "value": "admin" + }, { + "id": "b4838a01-6fc1-4fe0-892d-c163f7d22387", + "comment": "", + "command": "click", + "target": "css=#addNewDropdown > translate-i18n", + "targets": [ + ["css=#addNewDropdown > translate-i18n", "css:finder"], + ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], + ["xpath=//translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1f5d483b-38f2-48cb-847d-dea42927cc0a", + "comment": "", + "command": "click", + "target": "linkText=Metadata Source", + "targets": [ + ["linkText=Metadata Source", "linkText"], + ["css=.dropdown-menu > .nav-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li/div/a", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '')])[2]", "xpath:href"], + ["xpath=//div/a", "xpath:position"] + ], + "value": "" + }, { + "id": "b31168aa-bed3-4a6d-9b59-ba7a7f6235e0", + "comment": "", + "command": "waitForElementEditable", + "target": "id=/serviceProviderName", + "targets": [], + "value": "30000" + }, { + "id": "3c429a72-2a1d-40a2-8bfa-9221862fc98e", + "comment": "", + "command": "type", + "target": "id=/serviceProviderName", + "targets": [ + ["id=/serviceProviderName", "id"], + ["name=field93", "name"], + ["css=#\\/serviceProviderName", "css:finder"], + ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Test Provider" + }, { + "id": "7e1ddf1c-adb6-4a0f-92e1-e22dc1a202f6", + "comment": "", + "command": "type", + "target": "id=/entityId", + "targets": [ + ["id=/entityId", "id"], + ["name=field94", "name"], + ["css=#\\/entityId", "css:finder"], + ["xpath=//input[@id='/entityId']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "test-1234" + }, { + "id": "3767b7f4-65ff-47e6-9b0b-ecf23f04825b", + "comment": "", + "command": "click", + "target": "id=/serviceProviderName", + "targets": [ + ["id=/serviceProviderName", "id"], + ["name=field96", "name"], + ["css=#\\/serviceProviderName", "css:finder"], + ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "e698f9bf-5771-4c9f-893c-55c99e2c7396", + "comment": "", + "command": "assertText", + "target": "css=.form-text > translate-i18n", + "targets": [ + ["css=.form-text > translate-i18n", "css:finder"], + ["xpath=//small/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'ID must be unique.')]", "xpath:innerText"] + ], + "value": "ID must be unique." + }] + }], + "suites": [{ + "id": "d2caeac4-7520-4e3c-96b1-840610b6983c", + "name": "Default Suite", + "persistSession": false, + "parallel": false, + "timeout": 300, + "tests": ["841ade0e-83bd-4a4b-94f2-de6bd5c536b2"] + }], + "urls": ["http://localhost:10101/"], + "plugins": [] +} \ No newline at end of file diff --git a/backend/src/integration/resources/SHIBUI-950.side b/backend/src/integration/resources/SHIBUI-950.side index f37692052..7eb184198 100644 --- a/backend/src/integration/resources/SHIBUI-950.side +++ b/backend/src/integration/resources/SHIBUI-950.side @@ -163,6 +163,13 @@ ["xpath=//td[contains(.,'https://wiki.shibboleth.net/shibboleth')]", "xpath:innerText"] ], "value": "https://wiki.shibboleth.net/shibboleth" + }, { + "id": "c5bfb51f-fd8e-4518-880d-2735077baebb", + "comment": "", + "command": "close", + "target": "", + "targets": [], + "value": "" }] }], "suites": [{ @@ -175,4 +182,4 @@ }], "urls": ["http://localhost:10101/"], "plugins": [] -} +} \ No newline at end of file diff --git a/backend/src/integration/resources/false.side b/backend/src/integration/resources/false.side new file mode 100644 index 000000000..480ad53c7 --- /dev/null +++ b/backend/src/integration/resources/false.side @@ -0,0 +1,2218 @@ +{ + "id": "57bde36d-15e6-4364-b117-4fb36e1e4941", + "version": "2.0", + "name": "SHIBUI-1364-1", + "url": "http://localhost:10101", + "tests": [{ + "id": "d87336f9-5279-422f-bf4d-73403f34fc85", + "name": "SHIBUI-1364-1", + "commands": [{ + "id": "2f6aa07a-6a16-439f-8c16-9822163c7b61", + "comment": "", + "command": "open", + "target": "/login", + "targets": [], + "value": "" + }, { + "id": "f1c7d7be-3f12-43f3-8646-ba7294416beb", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=tr:nth-child(1) input", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "f293afde-ce8a-4b85-9a19-fb77f21df988", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=tr:nth-child(2) input", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//tr[2]/td[2]/input", "xpath:position"] + ], + "value": "adminpass" + }, { + "id": "358c31ea-fab8-4709-9b25-d9e5e82e123c", + "comment": "", + "command": "click", + "target": "name=submit", + "targets": [ + ["name=submit", "name"], + ["css=td:nth-child(1) > input", "css:finder"], + ["xpath=//input[@name='submit']", "xpath:attributes"], + ["xpath=//tr[3]/td/input", "xpath:position"] + ], + "value": "" + }, { + "id": "fdea3214-f0e0-4f13-9d5d-e07ef92d71f1", + "comment": "", + "command": "click", + "target": "css=#addNewDropdown", + "targets": [ + ["css=#addNewDropdown > translate-i18n", "css:finder"], + ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], + ["xpath=//translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "2c40ac99-5e92-4c1c-923a-5a6100cadf43", + "comment": "", + "command": "click", + "target": "linkText=Metadata Provider", + "targets": [ + ["linkText=Metadata Provider", "linkText"], + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "7a42de04-995f-45aa-ba3f-095900a564ec", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "b2725ef6-b394-4f87-a2a5-031be085cedb", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field4", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "File Backed HTTP Metadata Provider" + }, { + "id": "ca36b018-a4df-43d1-9fbd-973d6653d3e0", + "comment": "", + "command": "select", + "target": "id=/type", + "targets": [ + ["id=/type", "id"], + ["name=field2", "name"], + ["css=#\\/type", "css:finder"], + ["xpath=//select[@id='/type']", "xpath:attributes"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=FileBackedHttpMetadataProvider" + }, { + "id": "e5d1d696-3029-4f9d-ad53-2e60b4789935", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[2]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "352f066f-c2af-4735-81b1-5440ba7a3432", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/xmlId", + "targets": [], + "value": "10000" + }, { + "id": "e7462621-f4e4-4512-b200-20afa5685fc6", + "comment": "", + "command": "type", + "target": "id=/xmlId", + "targets": [ + ["id=/xmlId", "id"], + ["name=field7", "name"], + ["css=#\\/xmlId", "css:finder"], + ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "12345" + }, { + "id": "7bfaa2a7-c66d-4e36-b1f4-1de30b02ebd0", + "comment": "", + "command": "type", + "target": "id=/metadataURL", + "targets": [ + ["id=/metadataURL", "id"], + ["name=field8", "name"], + ["css=#\\/metadataURL", "css:finder"], + ["xpath=//input[@id='/metadataURL']", "xpath:attributes"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "https://idp.unicon.net/idp/shibboleth" + }, { + "id": "047e1ea4-e28c-4b1b-86fc-ff19a3c0efcc", + "comment": "", + "command": "click", + "target": "id=/initializeFromBackupFile.false", + "targets": [ + ["id=/initializeFromBackupFile.false", "id"], + ["css=#\\/initializeFromBackupFile\\.false", "css:finder"], + ["xpath=//input[@id='/initializeFromBackupFile.false']", "xpath:attributes"], + ["xpath=//div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "34124b74-7b90-424a-9219-1f0bfbf06b70", + "comment": "", + "command": "type", + "target": "id=/backingFile", + "targets": [ + ["id=/backingFile", "id"], + ["name=field10", "name"], + ["css=#\\/backingFile", "css:finder"], + ["xpath=//input[@id='/backingFile']", "xpath:attributes"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "%{idp.home}/foo.txt" + }, { + "id": "91a96cbd-57f4-4dc2-8f75-eb3e96526ae7", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "0668032d-608b-4a01-9ac8-e4e2ac058294", + "comment": "", + "command": "click", + "target": "css=.btn-outline-secondary", + "targets": [ + ["css=.btn-outline-secondary", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "19657c78-782d-4046-abce-64093bd17fa7", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "35dfa0f8-c0f2-4356-a6b0-18b5dc35337b", + "comment": "", + "command": "click", + "target": "id=/backupFileInitNextRefreshDelay__option--1", + "targets": [ + ["id=/backupFileInitNextRefreshDelay__option--1", "id"], + ["css=#\\/backupFileInitNextRefreshDelay__option--1", "css:finder"], + ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], + ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b4d0a551-3bc1-466f-b204-ec7164af44ec", + "comment": "", + "command": "click", + "target": "id=/failFastInitialization.false", + "targets": [ + ["id=/failFastInitialization.false", "id"], + ["css=#\\/failFastInitialization\\.false", "css:finder"], + ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], + ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "bef80dbb-25a6-4381-8b0e-331faaeb4392", + "comment": "", + "command": "click", + "target": "id=/satisfyAnyPredicates.true", + "targets": [ + ["id=/satisfyAnyPredicates.true", "id"], + ["css=#\\/satisfyAnyPredicates\\.true", "css:finder"], + ["xpath=//input[@id='/satisfyAnyPredicates.true']", "xpath:attributes"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ], + "value": "" + }, { + "id": "d0af8425-5f4c-4037-a549-52553b828179", + "comment": "", + "command": "pause", + "target": "1000", + "targets": [], + "value": "" + }, { + "id": "9fe532ee-4ce6-4ff8-ab6c-ea92eb527ded", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "44e705a1-f284-4303-a0b6-c4bc9896c78d", + "comment": "", + "command": "pause", + "target": "1000", + "targets": [], + "value": "" + }, { + "id": "91c42709-f202-48eb-bd7f-389ec454b86b", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "824b4515-ae14-436e-a56f-d631ea9e1edc", + "comment": "", + "command": "click", + "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "targets": [ + ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "12ba0481-b236-495c-b2a3-a665c5eec502", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "9ee7065a-823e-4b4a-b212-0582eeaf7a00", + "comment": "", + "command": "click", + "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--0", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--0", "id"], + ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--0", "css:finder"], + ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li", "xpath:position"], + ["xpath=//li[contains(.,'PT0S')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1e063a3c-c3c9-4ab6-9e7b-a7fb4d785288", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "618cc5f1-417b-4bc6-9388-3238f2304904", + "comment": "", + "command": "click", + "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "targets": [ + ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "0b129e41-adb3-47ef-a2b4-34899ca6d8fb", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "a89f1b4d-10bd-48f7-9b97-865710cfe01f", + "comment": "", + "command": "click", + "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", "id"], + ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--2", "css:finder"], + ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "143b781c-56ae-48c6-a7f5-8c93953f6095", + "comment": "", + "command": "click", + "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], + ["name=field20", "name"], + ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "dcd01c7a-f733-4977-9cc2-e9084903e079", + "comment": "", + "command": "type", + "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "targets": [ + ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], + ["name=field20", "name"], + ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "0.5" + }, { + "id": "b7522094-c53a-4e79-8c7c-e38a3b2615f4", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "faf43746-1293-437f-a1ce-63145f5d6135", + "comment": "", + "command": "pause", + "target": "1500", + "targets": [], + "value": "" + }, { + "id": "363af92e-0327-47b9-918c-1560adab40cc", + "comment": "", + "command": "click", + "target": "css=.btn-outline-secondary", + "targets": [ + ["css=.btn-outline-secondary", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "a14576bb-2d15-4e51-89c6-b8289311e58a", + "comment": "", + "command": "pause", + "target": "1500", + "targets": [], + "value": "" + }, { + "id": "a4470d6f-04a7-4c4b-8c1e-70cff2f35e8a", + "comment": "", + "command": "click", + "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", + "targets": [ + ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", "id"], + ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--1", "css:finder"], + ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], + ["xpath=//li[contains(.,'P14D')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "4530c1b4-8f27-4272-9633-c792a3a54f90", + "comment": "", + "command": "click", + "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "targets": [ + ["css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/metadataFilters/SignatureValidation/requireSignedRoot.parent']/label", "xpath:idRelative"], + ["xpath=//div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "10cd8cee-fc6a-4e5b-a11b-a7b0a9338f5d", + "comment": "", + "command": "type", + "target": "id=/metadataFilters/SignatureValidation/certificateFile", + "targets": [ + ["id=/metadataFilters/SignatureValidation/certificateFile", "id"], + ["name=field27", "name"], + ["css=#\\/metadataFilters\\/SignatureValidation\\/certificateFile", "css:finder"], + ["xpath=//input[@id='/metadataFilters/SignatureValidation/certificateFile']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "%{idp.home}/foo2.txt" + }, { + "id": "a3ce889f-0607-4071-bd39-25b169c30114", + "comment": "", + "command": "click", + "target": "css=div:nth-child(3) > sf-form-element .bg-light", + "targets": [ + ["css=div:nth-child(3) > sf-form-element .bg-light", "css:finder"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/fieldset-object/div/div/fieldset/div", "xpath:position"] + ], + "value": "" + }, { + "id": "f205ec23-b433-44bb-af80-e72330b4c7a3", + "comment": "", + "command": "click", + "target": "css=.fa-plus", + "targets": [ + ["css=.fa-plus", "css:finder"], + ["xpath=//array-component/div/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "4dae6914-ae68-45e2-b332-cc4c1ac71e43", + "comment": "", + "command": "select", + "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", + "targets": [], + "value": "label=SPSSODescriptor" + }, { + "id": "4b257d69-1948-4c5f-a88d-b1bfa8f2ba72", + "comment": "", + "command": "click", + "target": "css=option:nth-child(2)", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='1: md:SPSSODescriptor']", "xpath:attributes"], + ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d47fc8b5-4062-4813-90a8-cdc91b777f1d", + "comment": "", + "command": "click", + "target": "css=.btn-success", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "442c5b8d-f108-488e-8779-06171f5081f6", + "comment": "", + "command": "select", + "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/1", + "targets": [], + "value": "label=AttributeAuthorityDescriptor" + }, { + "id": "42eddc22-9eed-41d1-aaee-2d4a1d933fa9", + "comment": "", + "command": "click", + "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(3)", + "targets": [ + ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(3)", "css:finder"], + ["xpath=(//option[@value='2: md:AttributeAuthorityDescriptor'])[2]", "xpath:attributes"], + ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/1']/option[3]", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "4ebbc08c-ee24-43d8-8c2d-b639a625189c", + "comment": "", + "command": "click", + "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeRolelessEntityDescriptors.parent']/label", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1c23c527-46e7-4fe6-8f60-37833af073c8", + "comment": "", + "command": "click", + "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeEmptyEntitiesDescriptors\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeEmptyEntitiesDescriptors\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeEmptyEntitiesDescriptors.parent']/label", "xpath:idRelative"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Remove Empty Entities Descriptors?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "ee3d0257-56e2-402d-8fef-c21c8e62b9fe", + "comment": "", + "command": "click", + "target": "css=.next", + "targets": [ + ["css=.next", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "7cd861ea-d86c-4faa-a07b-c1508811b506", + "comment": "", + "command": "click", + "target": "css=.custom-control-label", + "targets": [ + ["css=.custom-control-label", "css:finder"], + ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Enable this service?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "0c112a41-8feb-42da-a58b-8fc04e9a3bf6", + "comment": "", + "command": "click", + "target": "css=.save", + "targets": [ + ["css=.save", "css:finder"], + ["xpath=//li[3]/button", "xpath:position"] + ], + "value": "" + }, { + "id": "12673aa7-fc4e-4877-9842-a9d88dbc2d97", + "comment": "", + "command": "click", + "target": "linkText=File Backed HTTP Metadata Provider", + "targets": [ + ["linkText=File Backed HTTP Metadata Provider", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'File Backed HTTP Metadata Provider')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/da22a0b7-40d7-418c-bbe9-7ba4c37d3905/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'File Backed HTTP Metadata Provider')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "daa2d46a-d238-4a48-aca7-0f34c9b93d5f", + "comment": "", + "command": "click", + "target": "css=.btn:nth-child(2) > translate-i18n", + "targets": [ + ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], + ["xpath=//div/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d86e9a98-a0a1-4696-b454-1bca1d01f9d0", + "comment": "", + "command": "click", + "target": "css=#filters .actions span", + "targets": [ + ["css=#filters .actions span", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], + ["xpath=//div/a/span", "xpath:position"], + ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "dc41b26d-b101-4ead-866f-482df0bfee04", + "comment": "", + "command": "select", + "target": "name=type", + "targets": [], + "value": "label=EntityAttributes" + }, { + "id": "49fe7508-4f42-4eae-a47d-85a0983efb64", + "comment": "", + "command": "click", + "target": "css=option:nth-child(2)", + "targets": [ + ["css=option:nth-child(2)", "css:finder"], + ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], + ["xpath=//option[2]", "xpath:position"], + ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "8a52ad88-b583-41b7-92a6-bdb185b03a06", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "b1c779b1-d3ed-47cc-bc88-e5c280161c32", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field37", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Entity Attributes Filter" + }, { + "id": "9ac14c43-206b-4a60-8e58-c4ce64efa2c8", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "a10a6faf-90cd-4713-8ea3-60c768ed935e", + "comment": "", + "command": "click", + "target": "id=/entityAttributesFilterTarget.valuedd", + "targets": [ + ["id=/entityAttributesFilterTarget.valuedd", "id"], + ["css=#\\/entityAttributesFilterTarget\\.valuedd", "css:finder"], + ["xpath=//button[@id='/entityAttributesFilterTarget.valuedd']", "xpath:attributes"], + ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1f54a508-0b40-4dc0-b6e0-706971fb19bf", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "1f2b93b8-23ae-4a9c-b015-96ca890ae150", + "comment": "", + "command": "click", + "target": "linkText=Regex", + "targets": [ + ["linkText=Regex", "linkText"], + ["css=.dropdown-item:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div/div/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b2a41370-db61-4bae-a5f7-a8c5e852e15e", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "5c2ed93d-3630-408c-bb89-0b2baffb73c0", + "comment": "", + "command": "click", + "target": "id=/entityAttributesFilterTarget.target", + "targets": [ + ["id=/entityAttributesFilterTarget.target", "id"], + ["name=script", "name"], + ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], + ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], + ["xpath=//div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "6dec176f-0c5a-4982-867e-087342c90987", + "comment": "", + "command": "sendKeys", + "target": "id=/entityAttributesFilterTarget.target", + "targets": [], + "value": "/foo.*/" + }, { + "id": "f4e6e8a5-0040-4aac-a0f9-9b49abbd9568", + "comment": "", + "command": "click", + "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], + ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "603aff60-cf79-4804-90c5-2ffd0f5ef550", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/signAssertion.parent']/label", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "9456ba02-3dd6-4305-a0d3-f031e1e79b16", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/dontSignResponse.parent']/label", "xpath:idRelative"], + ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "a1ce4398-4f95-498c-b01b-2f25e1fd3380", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/turnOffEncryption.parent']/label", "xpath:idRelative"], + ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "dcaa766a-3800-4412-9631-0f279e23bf41", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/useSha.parent']/label", "xpath:idRelative"], + ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c7a9bd88-9198-4ce0-8ae0-618b90fd787a", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/ignoreAuthenticationMethod\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/ignoreAuthenticationMethod\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/ignoreAuthenticationMethod.parent']/label", "xpath:idRelative"], + ["xpath=//div[5]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Ignore any SP-Requested Authentication Method?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c806723d-9713-4710-96e2-6410b79895c0", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/omitNotBefore.parent']/label", "xpath:idRelative"], + ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1c7d678e-5b74-4542-bf6c-a64d0117f831", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/responderId", + "targets": [ + ["id=/relyingPartyOverrides/responderId", "id"], + ["name=field50", "name"], + ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], + ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ], + "value": "id-123" + }, { + "id": "027b4448-eaf6-4f24-ae2f-5b592db910ed", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1bb700ae-08eb-403c-b3ba-0090132b69ff", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "fd1af538-1b5b-4d6a-b56b-d56e7f01bb40", + "comment": "", + "command": "click", + "target": "css=.fa-caret-down", + "targets": [ + ["css=.fa-caret-down", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button/i", "xpath:idRelative"], + ["xpath=//auto-complete/div/div/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "6afaa45d-1beb-4f15-8810-278af7489657", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "cc233154-4159-425b-8ac5-761c26a0de15", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--0", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/0__option--0", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "d8e3df44-0db6-458e-b133-36b7ec08fbb7", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .btn", + "targets": [ + ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], + ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "3395ec88-2d19-4785-99f9-3921dddfba28", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "562c7f9f-1e55-432a-8fff-0cae15b23a33", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "c80afbe5-2c88-4207-b133-6d151fea12a8", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "f5f27af2-b869-4b99-a3d9-3efce014be06", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/1__option--1", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/1__option--1", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1__option--1", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/1__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "4e595806-b2c6-43c6-bd1f-78e659f795e4", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5e26a17f-98e4-4adc-b851-4e854228ebba", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "b717af46-a3c1-40f2-ac1a-2c7f84fbf33f", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "d07e6da7-ed28-4460-914a-eb355b3a2de3", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "4655a981-c5d6-4b48-aad2-77295dc37859", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/2__option--2", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/2__option--2", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2__option--2", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/2__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "9902d02a-d7f7-4424-92f4-2a6072916421", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "605d3970-c910-4bec-accd-d7c4d0334f91", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "df07e4c7-8e0f-4eed-ab58-42e2b5bcfc93", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "0ef4ae64-3b16-4488-b19e-629162a9c84d", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "cd34bc8a-564b-4d15-90c9-f09e12d7e078", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/nameIdFormats/3__option--3", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/3__option--3", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3__option--3", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/3__option--3']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ], + "value": "" + }, { + "id": "624fd275-3ee2-4cd0-890a-4ae22b152ed4", + "comment": "", + "command": "click", + "target": "css=div:nth-child(8) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "e6c3d2db-386e-4b9b-a160-c091b025c1b9", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "targets": [ + ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], + ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/nameIdFormats/4']", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/4-container']/div/input", "xpath:idRelative"], + ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "nameIdFormat" + }, { + "id": "82093807-448e-4a25-96bf-ed1dfca77452", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "1acc3e01-45ae-4c6d-9291-165affb7306f", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "fcd7d891-5ea4-45a6-8554-4298ec5804c9", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "faf08fb6-7c62-465c-b198-6da8ef3a1dd5", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "9bb8951c-c932-4236-89d8-9d2c8d49a702", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "743e6d84-98b7-461a-8fb9-05826abb8e22", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "926e66e1-3bcb-41bd-a6a8-83ed90ceab59", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "81517bc9-7996-46be-9dfe-9eea57f0e616", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/1-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "8343153e-ade7-4713-a9f6-079b0bfbac44", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "8f00493c-94ef-4182-8423-5d23bd01136f", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/1__option--1", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/1__option--1", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1__option--1", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/1__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/1__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "7a3a49b4-4348-4318-a35c-ba0a2192e811", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "b9b5a336-2b99-4315-8c14-13ee1c5af2ed", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "c2f97ae8-fddf-4e48-b961-1d4154ceae9f", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/2-container']/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "39a8ea0f-a57a-49b6-b640-7b608eb29b88", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "3dcbc6b1-2571-4ab8-9014-66b19727fe0a", + "comment": "", + "command": "click", + "target": "id=/relyingPartyOverrides/authenticationMethods/2__option--2", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/2__option--2", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2__option--2", "css:finder"], + ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/2__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/2__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "efad42c9-5d79-42f6-a348-54ba5fe59e9d", + "comment": "", + "command": "click", + "target": "css=div:nth-child(9) .d-flex > .btn", + "targets": [ + ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "9a7b2bfe-8702-40be-a6fe-a76b9a01cdde", + "comment": "", + "command": "type", + "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "targets": [ + ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], + ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], + ["xpath=//input[@id='/relyingPartyOverrides/authenticationMethods/3']", "xpath:attributes"], + ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/3-container']/div/input", "xpath:idRelative"], + ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "someOverride" + }, { + "id": "82bf7075-6128-4471-a631-c8e4c3525eea", + "comment": "", + "command": "click", + "target": "css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/relyingPartyOverrides/forceAuthn.parent']/label", "xpath:idRelative"], + ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "4098e48d-eef1-42e8-a1a4-e4eb48f5f9bd", + "comment": "", + "command": "click", + "target": "css=.fa-check", + "targets": [ + ["css=.fa-check", "css:finder"], + ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], + ["xpath=//td[2]/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "2c3908a1-3fbf-4bbe-8611-fb8a87da1a66", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c49e62e6-f8b6-44b9-be12-5329e8bc5495", + "comment": "", + "command": "click", + "target": "linkText=Add Filter", + "targets": [ + ["linkText=Add Filter", "linkText"], + ["css=.btn-success", "css:finder"], + ["xpath=//a[contains(@href, '/metadata/provider/d71151a4-a27d-4cb9-bd96-882280454c4a/filter/new')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "097ea9f6-e75c-41a3-b4e9-a4a80a866802", + "comment": "", + "command": "select", + "target": "name=type", + "targets": [], + "value": "label=NameIDFormat" + }, { + "id": "9cf1a2b7-f951-4908-9ffe-dfcd3258a48d", + "comment": "", + "command": "click", + "target": "css=option:nth-child(3)", + "targets": [ + ["css=option:nth-child(3)", "css:finder"], + ["xpath=//option[@value='NameIDFormat']", "xpath:attributes"], + ["xpath=//option[3]", "xpath:position"], + ["xpath=//option[contains(.,'NameIDFormat')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "4a663db9-9f10-4b12-9cb9-61aa01ecc0c0", + "comment": "", + "command": "waitForElementVisible", + "target": "id=/name", + "targets": [], + "value": "10000" + }, { + "id": "92fdc836-2479-4faa-9e3d-447f5b82cc11", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field65", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "Name ID Format Filter" + }, { + "id": "563c9606-0174-4432-877a-ad769eb3206a", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "abfa17d5-ebfe-4bb2-b64a-ef5f127bac86", + "comment": "", + "command": "click", + "target": "id=/nameIdFormatFilterTarget.valuedd", + "targets": [ + ["id=/nameIdFormatFilterTarget.valuedd", "id"], + ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], + ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], + ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "43878e34-28cc-424f-9044-87b8cb61db03", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "6040112e-86c4-4e98-b258-79d7e61dfb6d", + "comment": "", + "command": "click", + "target": "linkText=Entity ID", + "targets": [ + ["linkText=Entity ID", "linkText"], + ["css=.show > .dropdown-item:nth-child(1)", "css:finder"], + ["xpath=//a[contains(text(),'Entity ID')]", "xpath:link"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "70eba7e8-d84f-4b65-b5e8-d1523514dd29", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "bba23377-23a1-46d5-b044-15047a08ee53", + "comment": "", + "command": "type", + "target": "id=/nameIdFormatFilterTarget.target", + "targets": [ + ["id=/nameIdFormatFilterTarget.target", "id"], + ["css=#\\/nameIdFormatFilterTarget\\.target", "css:finder"], + ["xpath=//input[@id='/nameIdFormatFilterTarget.target']", "xpath:attributes"], + ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], + ["xpath=//div/div/input", "xpath:position"] + ], + "value": "https://idp.unicon.net/idp/shibboleth" + }, { + "id": "6fbb57d1-0fc6-42bc-86ca-4a5fe872ea34", + "comment": "", + "command": "click", + "target": "css=.btn-success:nth-child(1)", + "targets": [ + ["css=.btn-success:nth-child(1)", "css:finder"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add Entity ID')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "fa75b464-10a7-43da-939e-550e88748eb6", + "comment": "", + "command": "click", + "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], + ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "a721538a-5f95-4567-8d7c-5851f67f3ae0", + "comment": "", + "command": "click", + "target": "css=#\\/removeExistingFormats\\.parent > .custom-control-label", + "targets": [ + ["css=#\\/removeExistingFormats\\.parent > .custom-control-label", "css:finder"], + ["xpath=//div[@id='/removeExistingFormats.parent']/label", "xpath:idRelative"], + ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], + ["xpath=//label[contains(.,'Remove Existing Formats?')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "78c6d6fc-a3e6-4ae7-9f62-49b64c457232", + "comment": "", + "command": "click", + "target": "css=.array-add-button", + "targets": [ + ["css=.array-add-button", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "1503abb6-b674-495f-922b-f2ba07bb46bd", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "76b5506e-ebd3-416b-9a2d-391d39b8b282", + "comment": "", + "command": "click", + "target": "css=.input-group-append > .btn", + "targets": [ + ["css=.input-group-append > .btn", "css:finder"], + ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], + ["xpath=//div[@id='/formats/0-container']/div/div/button", "xpath:idRelative"], + ["xpath=//auto-complete/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "e71b7c21-86c7-46e1-8451-4005940dbf02", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "ee812306-8d00-4162-9d92-eb598802f4bc", + "comment": "", + "command": "click", + "target": "id=/formats/0__option--0", + "targets": [ + ["id=/formats/0__option--0", "id"], + ["css=#\\/formats\\/0__option--0", "css:finder"], + ["xpath=//li[@id='/formats/0__option--0']", "xpath:attributes"], + ["xpath=//ul[@id='/formats/0__listbox']/li", "xpath:idRelative"], + ["xpath=//datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ], + "value": "" + }, { + "id": "ddcda076-a6d1-4a6f-861d-c32642305841", + "comment": "", + "command": "click", + "target": "css=.array-add-button", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "da1e1b22-55cb-4934-9d0c-8955e5434289", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "1f3cca46-1bf0-469f-9ac5-6481c8447633", + "comment": "", + "command": "click", + "target": "css=#\\/formats\\/1-container .btn", + "targets": [ + ["css=#\\/formats\\/1-container .btn", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='/formats/1-container']/div/div/button", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ], + "value": "" + }, { + "id": "65b07bc0-3c1d-4eeb-b268-baa2f2a0992c", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "aa0cb8e5-a5b5-4956-91dc-d25ea30ff87a", + "comment": "", + "command": "click", + "target": "id=/formats/1__option--1", + "targets": [ + ["id=/formats/1__option--1", "id"], + ["css=#\\/formats\\/1__option--1", "css:finder"], + ["xpath=//li[@id='/formats/1__option--1']", "xpath:attributes"], + ["xpath=//ul[@id='/formats/1__listbox']/li[2]", "xpath:idRelative"], + ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "233f96b6-032e-40c4-8232-dc65583830fc", + "comment": "", + "command": "click", + "target": "css=.array-add-button", + "targets": [ + ["css=.array-add-button", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "43200793-5c4c-47dd-93b7-7bdd138eb6d4", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "f313f186-80e1-42ea-9b19-c59efe66a92d", + "comment": "", + "command": "click", + "target": "css=#\\/formats\\/2-container .btn", + "targets": [ + ["css=#\\/formats\\/2-container .fa", "css:finder"], + ["xpath=//div[@id='/formats/2-container']/div/div/button/i", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "26e1228a-a453-4f79-bd7d-222f50e21b69", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "bf10f8f1-f5b8-43f5-b1d8-6e4e67e92621", + "comment": "", + "command": "click", + "target": "id=/formats/2__option--2", + "targets": [ + ["id=/formats/2__option--2", "id"], + ["css=#\\/formats\\/2__option--2", "css:finder"], + ["xpath=//li[@id='/formats/2__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/formats/2__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "be2cee3b-966a-47e8-8907-9d21bb63a61c", + "comment": "", + "command": "click", + "target": "css=.array-add-button", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "0502f5d7-bc0a-4b4c-b0d0-5cf159dd0492", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "823e4972-3bdd-4286-a22d-8805adef4f2c", + "comment": "", + "command": "click", + "target": "css=#\\/formats\\/3-container .btn", + "targets": [ + ["css=#\\/formats\\/3-container .fa", "css:finder"], + ["xpath=//div[@id='/formats/3-container']/div/div/button/i", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "55751a6d-974e-45cb-83fa-cea50fd6612c", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "3cba2ead-22cd-4bc9-b0ca-bb1f5ebb10a2", + "comment": "", + "command": "click", + "target": "id=/formats/3__option--3", + "targets": [ + ["id=/formats/3__option--3", "id"], + ["css=#\\/formats\\/3__option--3", "css:finder"], + ["xpath=//li[@id='/formats/3__option--3']", "xpath:attributes"], + ["xpath=//ul[@id='/formats/3__listbox']/li[4]", "xpath:idRelative"], + ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ], + "value": "" + }, { + "id": "e793e30f-cefa-4a31-9a92-56c49c87b339", + "comment": "", + "command": "click", + "target": "css=.array-add-button", + "targets": [ + ["css=.btn-success > translate-i18n", "css:finder"], + ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ], + "value": "" + }, { + "id": "f0ae75e7-b2c0-49fa-9806-23f4f228e3e1", + "comment": "", + "command": "type", + "target": "id=/formats/4", + "targets": [ + ["id=/formats/4", "id"], + ["css=#\\/formats\\/4", "css:finder"], + ["xpath=//input[@id='/formats/4']", "xpath:attributes"], + ["xpath=//div[@id='/formats/4-container']/div/input", "xpath:idRelative"], + ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ], + "value": "name id format" + }, { + "id": "3a97e6c5-badb-45c8-b6e5-a7e8462ee77f", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "c28d683a-552d-4752-aa89-465e33d60887", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "100902ee-6d6e-4148-a69b-b37746a4ad6e", + "comment": "", + "command": "assertText", + "target": "css=tr:nth-child(1) > .td-lg:nth-child(3)", + "targets": [ + ["css=tr:nth-child(1) > .td-lg:nth-child(3)", "css:finder"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] + ], + "value": "Entity Attributes Filter" + }, { + "id": "9cc5dbab-bb39-455d-9338-6bdd054841e0", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .fa-arrow-circle-down", + "targets": [ + ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], + ["xpath=//button[2]/i", "xpath:position"] + ], + "value": "" + }, { + "id": "febfcea8-8f72-4a17-b1a8-b1e323c8cced", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "c9d498da-9f59-40ae-b5d4-cae397a13766", + "comment": "", + "command": "assertText", + "target": "css=tr:nth-child(1) > .td-lg:nth-child(3)", + "targets": [ + ["css=tr:nth-child(1) > .td-lg:nth-child(3)", "css:finder"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'Name ID Format Filter')]", "xpath:innerText"] + ], + "value": "Name ID Format Filter" + }, { + "id": "1b05bac6-3412-4f4d-b168-0f7fb124e5d0", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .fa-arrow-circle-down", + "targets": [ + ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], + ["xpath=//button[2]/i", "xpath:position"] + ], + "value": "" + }, { + "id": "4fdc2334-0b93-4f4c-b44e-80656f808f6d", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "441608df-24a3-4a60-bfce-50a90ff0ee16", + "comment": "", + "command": "assertText", + "target": "css=tr:nth-child(1) > .td-lg:nth-child(3)", + "targets": [ + ["css=tr:nth-child(1) > .td-lg:nth-child(3)", "css:finder"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] + ], + "value": "Entity Attributes Filter" + }, { + "id": "50677e6f-49ab-467c-bd04-ac6064445b87", + "comment": "", + "command": "click", + "target": "linkText=Dashboard", + "targets": [ + ["linkText=Dashboard", "linkText"], + ["css=.nav-item > .nav-link", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], + ["xpath=//li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "b01aa467-757f-49a9-97bb-965238f84b9c", + "comment": "", + "command": "click", + "target": "linkText=Metadata Providers", + "targets": [ + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d9f794d9-0d45-41a8-8fa9-55497ba17667", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "2c922b5f-35d4-4c31-bb06-7e936cf8cd1a", + "comment": "", + "command": "click", + "target": "linkText=File Backed HTTP Metadata Provider", + "targets": [ + ["linkText=File Backed HTTP Metadata Provider", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'File Backed HTTP Metadata Provider')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/8324f6d9-5390-4f99-8ca0-f7cd9f08fb71/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'File Backed HTTP Metadata Provider')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "ce07e08e-53a0-423a-9d00-7b0417a9697e", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1)", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "4c543e76-dc9b-4786-b569-4c3071a88f07", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) a", + "targets": [ + ["linkText=Sep 25, 2019 10:20:58 (Current)", "linkText"], + ["css=tr:nth-child(1) a", "css:finder"], + ["xpath=//a[contains(@href, '/metadata/provider/5ac01c48-a78d-42a9-b5fa-fd9a057ebb17/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Sep 25, 2019 10:20:58 (Current)')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "138845c8-0cbf-4cba-b256-8c7e58065c26", + "comment": "", + "command": "click", + "target": "css=.mb-4:nth-child(1) .actions span", + "targets": [ + ["css=.mb-4:nth-child(1) .actions span", "css:finder"], + ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], + ["xpath=//div/button/span", "xpath:position"], + ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "eb4df817-c23d-47e6-92a8-e013701c90de", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "ae293184-6d83-4ecb-8e25-b757931c49f0", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [], + "value": "Provider Version 2" + }, { + "id": "9c887b33-de0e-4f38-8ea8-d6d0f0a9d841", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "1006ef2d-f7c8-456d-a2fb-96a71625ae89", + "comment": "", + "command": "click", + "target": "css=.btn-outline-secondary", + "targets": [ + ["css=.btn-outline-secondary", "css:finder"], + ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button", "xpath:idRelative"], + ["xpath=//auto-complete/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "33aedef5-ccf2-45b6-a2d9-729d159908c1", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "6ebd7167-8187-4564-b441-213daa903faa", + "comment": "", + "command": "click", + "target": "id=/backupFileInitNextRefreshDelay__option--2", + "targets": [ + ["id=/backupFileInitNextRefreshDelay__option--2", "id"], + ["css=#\\/backupFileInitNextRefreshDelay__option--2", "css:finder"], + ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--2']", "xpath:attributes"], + ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[3]", "xpath:idRelative"], + ["xpath=//auto-complete/div/ul/li[3]", "xpath:position"], + ["xpath=//li[contains(.,'PT1M')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "accf38c6-12f0-46cc-a174-e8ed589ea431", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "9e6add34-b3a4-4cbf-a8ca-b1bb262db729", + "comment": "", + "command": "click", + "target": "css=.btn-info", + "targets": [ + ["css=.btn-info", "css:finder"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "141842d1-cde8-483a-a9dd-6723fe3642f0", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "e5478587-138e-4e8d-94dd-073af6559f07", + "comment": "", + "command": "click", + "target": "css=td > a", + "targets": [ + ["linkText=File Backed HTTP Metadata Provider Version 2", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'File Backed HTTP Metadata Provider Version 2')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/9325baaf-0eac-49d6-9df4-c379703aae7e/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'File Backed HTTP Metadata Provider Version 2')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "8c0f82f1-d6b4-4e62-bdb0-087dd31471cf", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "f2788695-b02e-4405-8082-d9828f7207c3", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "aca347cb-5c59-473b-8771-8706ec762277", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [ + ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "78651bb7-815c-4267-9fc6-4013a4d8548d", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(2) .custom-control-label", + "targets": [ + ["css=tr:nth-child(2) .custom-control-label", "css:finder"], + ["xpath=//tr[2]/td/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "6733a65d-7c16-4bf4-a6b4-bb3007e08c87", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//history-list/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "0abf4b7f-cc20-4a29-8338-90a67421dc41", + "comment": "", + "command": "waitForElementVisible", + "target": "css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", + "targets": [], + "value": "30000" + }, { + "id": "2b495102-da87-400d-8c70-1758de76452d", + "comment": "", + "command": "assertText", + "target": "css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "Provider Version 2" + }, { + "id": "63e1b12d-a50a-4877-9588-21209a08b364", + "comment": "", + "command": "assertText", + "target": "css=primitive-property:nth-child(8) .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=primitive-property:nth-child(8) .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//primitive-property[8]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'PT1M')]", "xpath:innerText"] + ], + "value": "PT1M" + }, { + "id": "1f3e3d25-ea44-4110-913c-c6dc9a7ec215", + "comment": "", + "command": "click", + "target": "css=.fa-toggle-off", + "targets": [ + ["css=.fa-toggle-off", "css:finder"], + ["xpath=//div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "cfebf080-7825-4412-8a2d-924af79d4b26", + "comment": "", + "command": "assertText", + "target": "css=primitive-property:nth-child(1) .d-block:nth-child(2)", + "targets": [ + ["css=primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "Provider Version 2" + }, { + "id": "75f45cb6-9c38-44e7-82dc-a473fa7fab62", + "comment": "", + "command": "assertText", + "target": "css=primitive-property:nth-child(2) .d-block:nth-child(2)", + "targets": [ + ["css=primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], + ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'PT1M')]", "xpath:innerText"] + ], + "value": "PT1M" + }, { + "id": "0b097967-1b4e-40cc-b8d7-bd0529fd46d2", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "3bd7e8ca-0481-4b94-9037-e75145e2d545", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) a", + "targets": [ + ["linkText=Sep 25, 2019 10:33:02 (Current)", "linkText"], + ["css=tr:nth-child(1) a", "css:finder"], + ["xpath=//a[contains(@href, '/metadata/provider/9325baaf-0eac-49d6-9df4-c379703aae7e/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Sep 25, 2019 10:33:02 (Current)')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "180eec64-f1c7-4c4d-b34f-3f59258f48ec", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "d2d4b08e-1056-4c7f-b9c0-b7efa76dfb94", + "comment": "", + "command": "click", + "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "targets": [ + ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], + ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "afc71068-d135-466b-9ea0-ca020eb3116f", + "comment": "", + "command": "pause", + "target": "2000", + "targets": [], + "value": "" + }, { + "id": "27db83c9-2893-4958-8547-9496cc73440f", + "comment": "", + "command": "click", + "target": "css=.justify-content-between > .btn:nth-child(1) > translate-i18n", + "targets": [ + ["css=.justify-content-between > .btn:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div[2]/div/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div[2]/div/div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Edit')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "92d9e04a-f8cc-41b1-ac37-409fe4bb9942", + "comment": "", + "command": "pause", + "target": "3000", + "targets": [], + "value": "" + }, { + "id": "2152a1f9-8608-420c-85d8-368f69260c21", + "comment": "", + "command": "type", + "target": "id=/name", + "targets": [ + ["id=/name", "id"], + ["name=field118", "name"], + ["css=#\\/name", "css:finder"], + ["xpath=//input[@id='/name']", "xpath:attributes"], + ["xpath=//custom-string/div/input", "xpath:position"] + ], + "value": "Entity Attributes Filter Version 2" + }, { + "id": "55de5aff-fc78-488f-aa1a-977dabb678dc", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "97c031ee-65f1-4089-ab43-a4a98bfb3798", + "comment": "", + "command": "click", + "target": "css=.nav-item translate-i18n", + "targets": [ + ["css=.nav-item translate-i18n", "css:finder"], + ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], + ["xpath=//a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "59391129-1806-43da-9aa1-df5658550d02", + "comment": "", + "command": "click", + "target": "linkText=Metadata Providers", + "targets": [ + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d5d78a35-098e-47c0-8f27-7ab8c79b0661", + "comment": "", + "command": "click", + "target": "css=td > a", + "targets": [ + ["linkText=File Backed HTTP Metadata Provider Version 2", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'File Backed HTTP Metadata Provider Version 2')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/9325baaf-0eac-49d6-9df4-c379703aae7e/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'File Backed HTTP Metadata Provider Version 2')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "42bc2d8d-550f-462b-af96-c3811768e78c", + "comment": "", + "command": "click", + "target": "css=.btn-link:nth-child(1) > translate-i18n", + "targets": [ + ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], + ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], + ["xpath=//div/a/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "7df630cc-9134-403c-956c-40ac6646b0d4", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(1) .custom-control-label", + "targets": [ + ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "f3f246d8-bdd4-4fff-9fe2-fbdacac5940e", + "comment": "", + "command": "click", + "target": "css=tr:nth-child(2) .custom-control-label", + "targets": [ + ["css=tr:nth-child(2) .custom-control-label", "css:finder"], + ["xpath=//tr[2]/td/div/label", "xpath:position"] + ], + "value": "" + }, { + "id": "ae62dd1e-1474-447b-a0f4-93568e060b0f", + "comment": "", + "command": "click", + "target": "css=.btn-primary", + "targets": [ + ["css=.btn-primary", "css:finder"], + ["xpath=//history-list/button", "xpath:position"], + ["xpath=//button[contains(.,'Compare Selected(2)')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "2ff5a597-9fe0-46b4-9ca5-63123ddb3cef", + "comment": "", + "command": "click", + "target": "css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", + "targets": [ + ["css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", "css:finder"], + ["xpath=//div[2]/div/button/i", "xpath:position"] + ], + "value": "" + }, { + "id": "d5c5a3da-6634-4c1f-8eae-cd87baab22ef", + "comment": "", + "command": "click", + "target": "css=.btn-primary > translate-i18n", + "targets": [ + ["css=.btn-primary > translate-i18n", "css:finder"], + ["xpath=//div[3]/button/translate-i18n", "xpath:position"], + ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "d7b5550d-1db8-4fa5-800f-fde753413c13", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=.bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'Entity Attributes Filter Version 2')]", "xpath:innerText"] + ], + "value": "Entity Attributes Filter Version 2" + }, { + "id": "ad797f09-746e-4778-954e-6f92ac5934ea", + "comment": "", + "command": "assertText", + "target": "css=.bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=.bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[3]", "xpath:position"] + ], + "value": "Entity Attributes Filter" + }] + }], + "suites": [{ + "id": "248ba015-77cd-430f-b973-d14fd4f39a27", + "name": "Default Suite", + "persistSession": false, + "parallel": false, + "timeout": 300, + "tests": ["d87336f9-5279-422f-bf4d-73403f34fc85"] + }], + "urls": ["http://localhost:10101/"], + "plugins": [] +} \ No newline at end of file diff --git a/backend/src/main/docker-files/loader.properties b/backend/src/main/docker-files/loader.properties index 646068881..08cec3654 100644 --- a/backend/src/main/docker-files/loader.properties +++ b/backend/src/main/docker-files/loader.properties @@ -1 +1 @@ -loader.path=libs/ +loader.path=libs/ \ No newline at end of file diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/RelyingPartyOverridesJsonSchemaValidatingControllerAdvice.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/EntityDescriptorSchemaValidatingControllerAdvice.groovy similarity index 70% rename from backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/RelyingPartyOverridesJsonSchemaValidatingControllerAdvice.groovy rename to backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/EntityDescriptorSchemaValidatingControllerAdvice.groovy index 620d2252c..f25950256 100644 --- a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/RelyingPartyOverridesJsonSchemaValidatingControllerAdvice.groovy +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/EntityDescriptorSchemaValidatingControllerAdvice.groovy @@ -2,7 +2,6 @@ package edu.internet2.tier.shibboleth.admin.ui.jsonschema import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRepresentation -import mjson.Json import org.springframework.beans.factory.annotation.Autowired import org.springframework.core.MethodParameter import org.springframework.http.HttpInputMessage @@ -14,6 +13,7 @@ import javax.annotation.PostConstruct import java.lang.reflect.Type import static edu.internet2.tier.shibboleth.admin.ui.jsonschema.JsonSchemaLocationLookup.metadataSourcesSchema +import static edu.internet2.tier.shibboleth.admin.ui.jsonschema.LowLevelJsonSchemaValidator.validatePayloadAgainstSchema /** * Controller advice implementation for validating relying party overrides payload coming from UI layer @@ -22,7 +22,7 @@ import static edu.internet2.tier.shibboleth.admin.ui.jsonschema.JsonSchemaLocati * @author Dmitriy Kopylenko */ @ControllerAdvice -class RelyingPartyOverridesJsonSchemaValidatingControllerAdvice extends RequestBodyAdviceAdapter { +class EntityDescriptorSchemaValidatingControllerAdvice extends RequestBodyAdviceAdapter { @Autowired JsonSchemaResourceLocationRegistry jsonSchemaResourceLocationRegistry @@ -38,22 +38,12 @@ class RelyingPartyOverridesJsonSchemaValidatingControllerAdvice extends RequestB HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class> converterType) throws IOException { - def bytes = inputMessage.body.bytes - def schema = Json.schema(this.jsonSchemaLocation.uri) - - def stream = new ByteArrayInputStream(bytes) - def validationResult = schema.validate(Json.read(stream.getText())) - if (!validationResult.at('ok')) { - throw new JsonSchemaValidationFailedException(validationResult.at('errors').asList()) - } - return [ - getBody: { new ByteArrayInputStream(bytes) }, - getHeaders: { inputMessage.headers } - ] as HttpInputMessage + + return validatePayloadAgainstSchema(inputMessage, this.jsonSchemaLocation.uri) } @PostConstruct void init() { - this.jsonSchemaLocation = metadataSourcesSchema(this.jsonSchemaResourceLocationRegistry); + this.jsonSchemaLocation = metadataSourcesSchema(this.jsonSchemaResourceLocationRegistry) } } diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/LowLevelJsonSchemaValidator.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/LowLevelJsonSchemaValidator.groovy new file mode 100644 index 000000000..bcf25b4d9 --- /dev/null +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/LowLevelJsonSchemaValidator.groovy @@ -0,0 +1,90 @@ +package edu.internet2.tier.shibboleth.admin.ui.jsonschema + +import mjson.Json +import org.springframework.http.HttpInputMessage + +import static edu.internet2.tier.shibboleth.admin.ui.jsonschema.JsonSchemaLocationLookup.dynamicHttpMetadataProviderSchema +import static edu.internet2.tier.shibboleth.admin.ui.jsonschema.JsonSchemaLocationLookup.entityAttributesFiltersSchema +import static edu.internet2.tier.shibboleth.admin.ui.jsonschema.JsonSchemaLocationLookup.filesystemMetadataProviderSchema +import static edu.internet2.tier.shibboleth.admin.ui.jsonschema.JsonSchemaLocationLookup.localDynamicMetadataProviderSchema +import static edu.internet2.tier.shibboleth.admin.ui.jsonschema.JsonSchemaLocationLookup.nameIdFormatFilterSchema + +/** + * Currently uses mjson library. + * + * @author Dmitriy Kopylenko + */ +class LowLevelJsonSchemaValidator { + + static HttpInputMessage validatePayloadAgainstSchema(HttpInputMessage inputMessage, URI schemaUri) { + def origInput = [inputMessage.body.bytes, inputMessage.headers] + def json = extractJsonPayload(origInput) + def schema = Json.schema(schemaUri) + doValidate(origInput, schema, json) + } + + static HttpInputMessage validateMetadataResolverTypePayloadAgainstSchema(HttpInputMessage inputMessage, + JsonSchemaResourceLocationRegistry schemaRegistry) { + + def origInput = [inputMessage.body.bytes, inputMessage.headers] + def json = extractJsonPayload(origInput) + def schemaUri = null + switch (json.asMap()['@type']) { + case 'LocalDynamicMetadataResolver': + schemaUri = localDynamicMetadataProviderSchema(schemaRegistry).uri + break + case 'DynamicHttpMetadataResolver': + schemaUri = dynamicHttpMetadataProviderSchema(schemaRegistry).uri + break + case 'FilesystemMetadataResolver': + schemaUri = filesystemMetadataProviderSchema(schemaRegistry).uri + break + default: + break + } + if (!schemaUri) { + return newInputMessage(origInput) + } + doValidate(origInput, Json.schema(schemaUri), json) + } + + static HttpInputMessage validateMetadataFilterTypePayloadAgainstSchema(HttpInputMessage inputMessage, + JsonSchemaResourceLocationRegistry schemaRegistry) { + def origInput = [inputMessage.body.bytes, inputMessage.headers] + def json = extractJsonPayload(origInput) + def schemaUri = null + switch (json.asMap()['@type']) { + case 'EntityAttributes': + schemaUri = entityAttributesFiltersSchema(schemaRegistry).uri + break + case 'NameIDFormat': + schemaUri = nameIdFormatFilterSchema(schemaRegistry).uri + break + default: + break + } + if (!schemaUri) { + return newInputMessage(origInput) + } + doValidate(origInput, Json.schema(schemaUri), json) + } + + private static Json extractJsonPayload(List origInput) { + Json.read(new ByteArrayInputStream(origInput[0]).getText()) + } + + private static HttpInputMessage doValidate(List origInput, Json.Schema schema, Json json) { + def validationResult = schema.validate(json) + if (!validationResult.at('ok')) { + throw new JsonSchemaValidationFailedException(validationResult.at('errors').asList()) + } + newInputMessage(origInput) + } + + private static newInputMessage(origInput) { + [ + getBody : { new ByteArrayInputStream(origInput[0]) }, + getHeaders: { origInput[1] } + ] as HttpInputMessage + } +} diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/MetadataFiltersSchemaValidatingControllerAdvice.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/MetadataFiltersSchemaValidatingControllerAdvice.groovy new file mode 100644 index 000000000..3608da194 --- /dev/null +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/MetadataFiltersSchemaValidatingControllerAdvice.groovy @@ -0,0 +1,40 @@ +package edu.internet2.tier.shibboleth.admin.ui.jsonschema + +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.MetadataFilter +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.core.MethodParameter +import org.springframework.http.HttpInputMessage +import org.springframework.http.converter.HttpMessageConverter +import org.springframework.web.bind.annotation.ControllerAdvice +import org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdviceAdapter + +import java.lang.reflect.Type + +import static edu.internet2.tier.shibboleth.admin.ui.jsonschema.LowLevelJsonSchemaValidator.validateMetadataFilterTypePayloadAgainstSchema + +/** + * Controller advice implementation for validating metadata filters payload coming from UI layer + * against pre-defined JSON schema for their respected types. Choosing of the appropriate schema based on incoming + * resolver types is delegated to @{LowLevelJsonSchemaValidator}. + * + * @author Dmitriy Kopylenko + */ +@ControllerAdvice +class MetadataFiltersSchemaValidatingControllerAdvice extends RequestBodyAdviceAdapter { + + @Autowired + JsonSchemaResourceLocationRegistry jsonSchemaResourceLocationRegistry + + @Override + boolean supports(MethodParameter methodParameter, Type targetType, Class> converterType) { + targetType.typeName == MetadataFilter.typeName + } + + @Override + HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, + Type targetType, Class> converterType) + throws IOException { + + validateMetadataFilterTypePayloadAgainstSchema(inputMessage, jsonSchemaResourceLocationRegistry) + } +} diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/MetadataResolversSchemaValidatingControllerAdvice.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/MetadataResolversSchemaValidatingControllerAdvice.groovy new file mode 100644 index 000000000..1c051a9c0 --- /dev/null +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/jsonschema/MetadataResolversSchemaValidatingControllerAdvice.groovy @@ -0,0 +1,41 @@ +package edu.internet2.tier.shibboleth.admin.ui.jsonschema + + +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.core.MethodParameter +import org.springframework.http.HttpInputMessage +import org.springframework.http.converter.HttpMessageConverter +import org.springframework.web.bind.annotation.ControllerAdvice +import org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdviceAdapter + +import java.lang.reflect.Type + +import static edu.internet2.tier.shibboleth.admin.ui.jsonschema.LowLevelJsonSchemaValidator.validateMetadataResolverTypePayloadAgainstSchema + +/** + * Controller advice implementation for validating metadata resolvers payload coming from UI layer + * against pre-defined JSON schema for their respected types. Choosing of the appropriate schema based on incoming + * resolver types is delegated to @{LowLevelJsonSchemaValidator}. + * + * @author Dmitriy Kopylenko + */ +@ControllerAdvice +class MetadataResolversSchemaValidatingControllerAdvice extends RequestBodyAdviceAdapter { + + @Autowired + JsonSchemaResourceLocationRegistry jsonSchemaResourceLocationRegistry + + @Override + boolean supports(MethodParameter methodParameter, Type targetType, Class> converterType) { + targetType.typeName == MetadataResolver.typeName + } + + @Override + HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, + Type targetType, Class> converterType) + throws IOException { + + validateMetadataResolverTypePayloadAgainstSchema(inputMessage, jsonSchemaResourceLocationRegistry) + } +} diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy index b34a5b2c6..8558026a6 100644 --- a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy @@ -489,7 +489,7 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService { sourceKeyGeneratorRef: resolver.sourceKeyGeneratorRef, id: resolver.xmlId, - 'xsi:type': 'DynamicHttpMetadataProvider', + 'xsi:type': 'LocalDynamicMetadataProvider', requireValidMetadata: !resolver.requireValidMetadata ?: null, failFastInitialization: !resolver.failFastInitialization ?: null, sortKey: resolver.sortKey, diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/ShibbolethUiApplication.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/ShibbolethUiApplication.java index 42e7901e7..d539ad025 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/ShibbolethUiApplication.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/ShibbolethUiApplication.java @@ -16,17 +16,21 @@ import org.springframework.context.annotation.Profile; import org.springframework.context.event.EventListener; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; +import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import javax.script.ScriptException; + @SpringBootApplication @ComponentScan(excludeFilters = @ComponentScan.Filter(type = FilterType.REGEX, pattern = "edu.internet2.tier.shibboleth.admin.ui.configuration.auto.*")) @EntityScan(basePackages = {"edu.internet2.tier.shibboleth.admin.ui.domain", "edu.internet2.tier.shibboleth.admin.ui.envers", "edu.internet2.tier.shibboleth.admin.ui.security.model"}) @EnableJpaAuditing @EnableScheduling @EnableWebSecurity +@EnableAsync public class ShibbolethUiApplication extends SpringBootServletInitializer { private static final Logger logger = LoggerFactory.getLogger(ShibbolethUiApplication.class); @@ -69,7 +73,16 @@ public void initializeResolvers(ApplicationStartedEvent e) { metadataResolverRepository.findAll() .forEach(it -> { logger.info(String.format("Reloading filters for resolver [%s: %s]", it.getName(), it.getResourceId())); - metadataResolverService.reloadFilters(it.getResourceId()); + try { + metadataResolverService.reloadFilters(it.getResourceId()); + } + catch (Throwable ex) { + if(ex instanceof ScriptException) { + logger.warn("Caught invalid script parsing error. Please fix the script data.", ex); + return; + } + throw ex; + } }); } } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorController.java index 8bb0da84f..914ae8d1b 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorController.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorController.java @@ -71,6 +71,7 @@ public void initRestTemplate() { } @PostMapping("/EntityDescriptor") + @Transactional public ResponseEntity create(@RequestBody EntityDescriptorRepresentation edRepresentation) { final String entityId = edRepresentation.getEntityId(); @@ -93,11 +94,13 @@ public ResponseEntity create(@RequestBody EntityDescriptorRepresentation edRe } @PostMapping(value = "/EntityDescriptor", consumes = "application/xml") + @Transactional public ResponseEntity upload(@RequestBody byte[] entityDescriptorXml, @RequestParam String spName) throws Exception { return handleUploadingEntityDescriptorXml(entityDescriptorXml, spName); } @PostMapping(value = "/EntityDescriptor", consumes = "application/x-www-form-urlencoded") + @Transactional public ResponseEntity upload(@RequestParam String metadataUrl, @RequestParam String spName) throws Exception { try { byte[] xmlContents = this.restTemplate.getForObject(metadataUrl, byte[].class); @@ -112,6 +115,7 @@ public ResponseEntity upload(@RequestParam String metadataUrl, @RequestParam } @PutMapping("/EntityDescriptor/{resourceId}") + @Transactional public ResponseEntity update(@RequestBody EntityDescriptorRepresentation edRepresentation, @PathVariable String resourceId) { User currentUser = userService.getCurrentUser(); EntityDescriptor existingEd = entityDescriptorRepository.findByResourceId(resourceId); @@ -163,6 +167,7 @@ public ResponseEntity getAll() { } @GetMapping("/EntityDescriptor/{resourceId}") + @Transactional(readOnly = true) public ResponseEntity getOne(@PathVariable String resourceId) { User currentUser = userService.getCurrentUser(); EntityDescriptor ed = entityDescriptorRepository.findByResourceId(resourceId); @@ -180,6 +185,7 @@ public ResponseEntity getOne(@PathVariable String resourceId) { } @GetMapping(value = "/EntityDescriptor/{resourceId}", produces = "application/xml") + @Transactional(readOnly = true) public ResponseEntity getOneXml(@PathVariable String resourceId) throws MarshallingException { User currentUser = userService.getCurrentUser(); EntityDescriptor ed = entityDescriptorRepository.findByResourceId(resourceId); @@ -195,7 +201,7 @@ public ResponseEntity getOneXml(@PathVariable String resourceId) throws Marsh } } - @Transactional + @Transactional(readOnly = true) @GetMapping(value = "/EntityDescriptor/disabledNonAdmin") public Iterable getDisabledAndNotOwnedByAdmin() { return entityDescriptorRepository.findAllDisabledAndNotOwnedByAdmin() @@ -205,6 +211,7 @@ public Iterable getDisabledAndNotOwnedByAdmin() @Secured("ROLE_ADMIN") @DeleteMapping(value = "/EntityDescriptor/{resourceId}") + @Transactional public ResponseEntity deleteOne(@PathVariable String resourceId) { EntityDescriptor ed = entityDescriptorRepository.findByResourceId(resourceId); if (ed == null) { @@ -220,6 +227,7 @@ public ResponseEntity deleteOne(@PathVariable String resourceId) { //Versioning endpoints @GetMapping("/EntityDescriptor/{resourceId}/Versions") + @Transactional(readOnly = true) public ResponseEntity getAllVersions(@PathVariable String resourceId) { EntityDescriptor ed = entityDescriptorRepository.findByResourceId(resourceId); if (ed == null) { @@ -236,6 +244,7 @@ public ResponseEntity getAllVersions(@PathVariable String resourceId) { } @GetMapping("/EntityDescriptor/{resourceId}/Versions/{versionId}") + @Transactional(readOnly = true) public ResponseEntity getSpecificVersion(@PathVariable String resourceId, @PathVariable String versionId) { EntityDescriptorRepresentation edRepresentation = versionService.findSpecificVersionOfEntityDescriptor(resourceId, versionId); 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 b640f6362..87c7a8bd3 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 @@ -15,6 +15,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.GetMapping; @@ -27,6 +28,7 @@ import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.servlet.support.ServletUriComponentsBuilder; +import javax.script.ScriptException; import java.net.URI; import java.util.ArrayList; import java.util.List; @@ -57,7 +59,7 @@ public class MetadataFiltersController { @ExceptionHandler public ResponseEntity notFoundHandler(HttpClientErrorException ex) { - if(ex.getStatusCode() == NOT_FOUND) { + if (ex.getStatusCode() == NOT_FOUND) { return ResponseEntity.notFound().build(); } throw ex; @@ -78,13 +80,14 @@ public ResponseEntity getOne(@PathVariable String metadataResolverId, @PathVa } @PostMapping("/Filters") + @Transactional public ResponseEntity create(@PathVariable String metadataResolverId, @RequestBody MetadataFilter createdFilter) { MetadataResolver metadataResolver = findResolverOrThrowHttp404(metadataResolverId); metadataResolver.addFilter(createdFilter); MetadataResolver persistedMr = repository.save(metadataResolver); // we reload the filters here after save - metadataResolverService.reloadFilters(persistedMr.getResourceId()); + reloadFiltersAndHandleScriptException(persistedMr.getResourceId()); MetadataFilter persistedFilter = newlyPersistedFilter(persistedMr.getMetadataFilters().stream(), createdFilter.getResourceId()); @@ -94,6 +97,7 @@ public ResponseEntity create(@PathVariable String metadataResolverId, @Reques } @PutMapping("/Filters/{resourceId}") + @Transactional public ResponseEntity update(@PathVariable String metadataResolverId, @PathVariable String resourceId, @RequestBody MetadataFilter updatedFilter) { @@ -106,7 +110,7 @@ public ResponseEntity update(@PathVariable String metadataResolverId, .stream() .filter(it -> it.getResourceId().equals(resourceId)) .findFirst(); - if(!filterTobeUpdatedOptional.isPresent()) { + if (!filterTobeUpdatedOptional.isPresent()) { return ResponseEntity.notFound().build(); } MetadataFilter filterTobeUpdated = filterTobeUpdatedOptional.get(); @@ -129,8 +133,8 @@ public ResponseEntity update(@PathVariable String metadataResolverId, metadataResolver.markAsModified(); repository.save(metadataResolver); - // TODO: this is wrong - metadataResolverService.reloadFilters(metadataResolver.getResourceId()); + // TODO: do we need to reload filters here? + reloadFiltersAndHandleScriptException(metadataResolver.getResourceId()); return ResponseEntity.ok().body(persistedFilter); } @@ -149,7 +153,7 @@ public ResponseEntity delete(@PathVariable String metadataResolverId, //change that we need to make in the entire code base List updatedFilters = new ArrayList<>(resolver.getMetadataFilters()); boolean removed = updatedFilters.removeIf(f -> f.getResourceId().equals(resourceId)); - if(!removed) { + if (!removed) { throw HTTP_404_CLIENT_ERROR_EXCEPTION.get(); } resolver.setMetadataFilters(updatedFilters); @@ -164,9 +168,23 @@ public ResponseEntity delete(@PathVariable String metadataResolverId, return ResponseEntity.noContent().build(); } + private void reloadFiltersAndHandleScriptException(String resolverResourceId) { + try { + metadataResolverService.reloadFilters(resolverResourceId); + } catch (Throwable ex) { + //explicitly mark transaction for rollback when we get ScriptException as we call reloadFilters + //after persistence call. Then re-throw the exception + //to let RestControllerSupport advice return proper 400 error message + if (ex instanceof ScriptException) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + throw ex; + } + } + } + private MetadataResolver findResolverOrThrowHttp404(String resolverResourceId) { MetadataResolver resolver = repository.findByResourceId(resolverResourceId); - if(resolver == null) { + if (resolver == null) { throw HTTP_404_CLIENT_ERROR_EXCEPTION.get(); } return resolver; @@ -174,7 +192,7 @@ private MetadataResolver findResolverOrThrowHttp404(String resolverResourceId) { private MetadataFilter findFilterOrThrowHttp404(String filterResourceId) { MetadataFilter filter = filterRepository.findByResourceId(filterResourceId); - if(filter == null) { + if (filter == null) { throw HTTP_404_CLIENT_ERROR_EXCEPTION.get(); } return filter; @@ -189,28 +207,25 @@ private MetadataFilter newlyPersistedFilter(Stream filters, fina } /** - * * Add else if instanceof block here for each concrete filter types we add in the future */ private void updateConcreteFilterTypeData(MetadataFilter filterToBeUpdated, MetadataFilter filterWithUpdatedData) { //TODO: Could we maybe use Dozer here before things get out of control? https://dozermapper.github.io // Mapper mapper = new net.sf.dozer.Mapper(); // or autowire one // mapper.map(fromFilter, toFilter); - if(filterWithUpdatedData instanceof EntityAttributesFilter) { + if (filterWithUpdatedData instanceof EntityAttributesFilter) { EntityAttributesFilter toFilter = EntityAttributesFilter.class.cast(filterToBeUpdated); EntityAttributesFilter fromFilter = EntityAttributesFilter.class.cast(filterWithUpdatedData); toFilter.setEntityAttributesFilterTarget(fromFilter.getEntityAttributesFilterTarget()); toFilter.setRelyingPartyOverrides(fromFilter.getRelyingPartyOverrides()); toFilter.setAttributeRelease(fromFilter.getAttributeRelease()); - } - else if(filterWithUpdatedData instanceof EntityRoleWhiteListFilter) { + } else if (filterWithUpdatedData instanceof EntityRoleWhiteListFilter) { EntityRoleWhiteListFilter toFilter = EntityRoleWhiteListFilter.class.cast(filterToBeUpdated); EntityRoleWhiteListFilter fromFilter = EntityRoleWhiteListFilter.class.cast(filterWithUpdatedData); toFilter.setRemoveEmptyEntitiesDescriptors(fromFilter.getRemoveEmptyEntitiesDescriptors()); toFilter.setRemoveRolelessEntityDescriptors(fromFilter.getRemoveRolelessEntityDescriptors()); toFilter.setRetainedRoles(fromFilter.getRetainedRoles()); - } - else if (filterWithUpdatedData instanceof SignatureValidationFilter) { + } else if (filterWithUpdatedData instanceof SignatureValidationFilter) { SignatureValidationFilter toFilter = SignatureValidationFilter.class.cast(filterToBeUpdated); SignatureValidationFilter fromFilter = SignatureValidationFilter.class.cast(filterWithUpdatedData); toFilter.setRequireSignedRoot(fromFilter.getRequireSignedRoot()); @@ -220,13 +235,11 @@ else if (filterWithUpdatedData instanceof SignatureValidationFilter) { toFilter.setDynamicTrustedNamesStrategyRef(fromFilter.getDynamicTrustedNamesStrategyRef()); toFilter.setTrustEngineRef(fromFilter.getTrustEngineRef()); toFilter.setPublicKey(fromFilter.getPublicKey()); - } - else if(filterWithUpdatedData instanceof RequiredValidUntilFilter) { + } else if (filterWithUpdatedData instanceof RequiredValidUntilFilter) { RequiredValidUntilFilter toFilter = RequiredValidUntilFilter.class.cast(filterToBeUpdated); RequiredValidUntilFilter fromFilter = RequiredValidUntilFilter.class.cast(filterWithUpdatedData); toFilter.setMaxValidityInterval(fromFilter.getMaxValidityInterval()); - } - else if (filterWithUpdatedData instanceof NameIdFormatFilter) { + } else if (filterWithUpdatedData instanceof NameIdFormatFilter) { NameIdFormatFilter toFilter = NameIdFormatFilter.class.cast(filterToBeUpdated); NameIdFormatFilter fromFilter = NameIdFormatFilter.class.cast(filterWithUpdatedData); toFilter.setRemoveExistingFormats(fromFilter.getRemoveExistingFormats()); diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversController.java index dbdc0ddd1..96906980b 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversController.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversController.java @@ -157,6 +157,7 @@ public ResponseEntity update(@PathVariable String resourceId, @RequestBody Me //Versioning endpoints @GetMapping("/MetadataResolvers/{resourceId}/Versions") + @Transactional(readOnly = true) public ResponseEntity getAllVersions(@PathVariable String resourceId) { MetadataResolver resolver = resolverRepository.findByResourceId(resourceId); if (resolver == null) { @@ -170,6 +171,7 @@ public ResponseEntity getAllVersions(@PathVariable String resourceId) { } @GetMapping("/MetadataResolvers/{resourceId}/Versions/{versionId}") + @Transactional(readOnly = true) public ResponseEntity getSpecificVersion(@PathVariable String resourceId, @PathVariable String versionId) { MetadataResolver resolver = versionService.findSpecificVersionOfMetadataResolver(resourceId, versionId); if (resolver == null) { diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/RootUiViewController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/RootUiViewController.java index b0ef4984c..fe9e4b246 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/RootUiViewController.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/RootUiViewController.java @@ -1,7 +1,22 @@ package edu.internet2.tier.shibboleth.admin.ui.controller; +import com.google.common.io.ByteStreams; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.Resource; import org.springframework.stereotype.Controller; +import org.springframework.util.StreamUtils; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.URISyntaxException; +import java.nio.charset.Charset; +import java.util.stream.Collectors; @Controller public class RootUiViewController { @@ -10,4 +25,20 @@ public class RootUiViewController { public String index() { return "redirect:/index.html"; } + + @RequestMapping(value = {"**/index.html", "/dashboard/**", "/metadata/**"}) + public void indexHtml(HttpServletRequest request, HttpServletResponse response) throws IOException, URISyntaxException { + //This method is necessary in order for Angular framework to honor dynamic ServletContext + //under which shib ui application is deployed, both during initial index.html load and subsequest page refreshes + String content = new BufferedReader(new InputStreamReader(request.getServletContext() + .getResourceAsStream("/WEB-INF/classes/resources/index.html"))) + .lines() + .collect(Collectors.joining("\n")); + + content = content.replaceFirst("", ""); + response.setContentType("text/html"); + try (OutputStream writer = response.getOutputStream()) { + writer.write(content.getBytes()); + } + } } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/AbstractAttributeExtensibleXMLObject.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/AbstractAttributeExtensibleXMLObject.java index 62bb46df8..50f2bdbe8 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/AbstractAttributeExtensibleXMLObject.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/AbstractAttributeExtensibleXMLObject.java @@ -43,4 +43,4 @@ void prePersist() { void postLoad() { this.unknownAttributes.putAll(this.storageAttributeMap); } -} \ No newline at end of file +} diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilter.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilter.java index 5d6d3132a..a3e0a6a93 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilter.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilter.java @@ -18,6 +18,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; import static edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions.getAttributeListFromAttributeReleaseList; import static edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions.getAttributeListFromRelyingPartyOverridesRepresentation; @@ -69,6 +70,8 @@ private void rebuildAttributes() { @PostLoad public void intoTransientRepresentation() { + //For some update operations, list of attributes could contain null values. Filter them out + this.attributes.removeIf(Objects::isNull); this.attributeRelease = getAttributeReleaseListFromAttributeList(this.attributes); this.relyingPartyOverrides = getRelyingPartyOverridesRepresentationFromAttributeList(this.attributes); } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilterTarget.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilterTarget.java index ffff2ca30..0a0da096f 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilterTarget.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilterTarget.java @@ -5,12 +5,10 @@ import lombok.EqualsAndHashCode; import org.hibernate.envers.AuditOverride; import org.hibernate.envers.Audited; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import javax.persistence.Column; import javax.persistence.ElementCollection; import javax.persistence.Entity; -import javax.persistence.FetchType; import javax.persistence.OrderColumn; import java.util.ArrayList; import java.util.List; @@ -25,12 +23,11 @@ public enum EntityAttributesFilterTargetType { ENTITY, CONDITION_SCRIPT, CONDITION_REF, REGEX } - private static Logger LOGGER = LoggerFactory.getLogger(EntityAttributesFilterTarget.class); - private EntityAttributesFilterTargetType entityAttributesFilterTargetType; @ElementCollection @OrderColumn + @Column(length = 760) private List value; public EntityAttributesFilterTargetType getEntityAttributesFilterTargetType() { diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/NameIdFormatFilterTarget.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/NameIdFormatFilterTarget.java index c8fd10c90..eef906500 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/NameIdFormatFilterTarget.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/NameIdFormatFilterTarget.java @@ -1,5 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.domain.filters; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import edu.internet2.tier.shibboleth.admin.ui.domain.AbstractAuditable; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -17,6 +18,7 @@ @ToString @Audited @AuditOverride(forClass = AbstractAuditable.class) +@JsonIgnoreProperties({"handler", "hibernateLazyInitializer"}) public class NameIdFormatFilterTarget extends AbstractAuditable { public enum NameIdFormatFilterTargetType { diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/DynamicMetadataResolverAttributes.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/DynamicMetadataResolverAttributes.java index 564f2871e..9a87d1ffa 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/DynamicMetadataResolverAttributes.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/DynamicMetadataResolverAttributes.java @@ -20,17 +20,17 @@ public class DynamicMetadataResolverAttributes { private String taskTimerRef; - private Double refreshDelayFactor = 0.75; + private Float refreshDelayFactor; - private String minCacheDuration = "PT10M"; + private String minCacheDuration; - private String maxCacheDuration = "PT8H"; + private String maxCacheDuration; - private String maxIdleEntityData = "PT8H"; + private String maxIdleEntityData; private Boolean removeIdleEntityData; - private String cleanupTaskInterval = "PT30M"; + private String cleanupTaskInterval; private String persistentCacheManagerRef; @@ -40,7 +40,7 @@ public class DynamicMetadataResolverAttributes { private Boolean initializeFromPersistentCacheInBackground = true; - private String backgroundInitializationFromCacheDelay = "PT2S"; + private String backgroundInitializationFromCacheDelay; private String initializationFromCachePredicateRef; diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataRequestURLConstructionScheme.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataRequestURLConstructionScheme.java index af3b0eab5..a1223840e 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataRequestURLConstructionScheme.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataRequestURLConstructionScheme.java @@ -1,5 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; @@ -28,6 +29,7 @@ @JsonSubTypes.Type(value=RegexScheme.class, name="Regex")}) @Audited @AuditOverride(forClass = AbstractAuditable.class) +@JsonIgnoreProperties({"handler", "hibernateLazyInitializer"}) public abstract class MetadataRequestURLConstructionScheme extends AbstractAuditable { public enum SchemeType { METADATA_QUERY_PROTOCOL("MetadataQueryProtocol"), diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolver.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolver.java index 9e67a5549..d24cd3638 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolver.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolver.java @@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import edu.internet2.tier.shibboleth.admin.ui.domain.AbstractAuditable; +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter; import edu.internet2.tier.shibboleth.admin.ui.domain.filters.MetadataFilter; import lombok.EqualsAndHashCode; import lombok.Getter; @@ -100,4 +101,14 @@ public void addFilter(MetadataFilter metadataFilter) { public void markAsModified() { this.versionModifiedTimestamp = System.currentTimeMillis(); } + + public void entityAttributesFilterIntoTransientRepresentation() { + //expose explicit API to call to convert into transient representation + //used in unit/integration tests where JPA's @PostLoad callback execution engine is not available + this.metadataFilters + .stream() + .filter(EntityAttributesFilter.class::isInstance) + .map(EntityAttributesFilter.class::cast) + .forEach(EntityAttributesFilter::intoTransientRepresentation); + } } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlFileBackedHTTPMetadataResolver.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlFileBackedHTTPMetadataResolver.java index d7d124a0a..9660950d7 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlFileBackedHTTPMetadataResolver.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlFileBackedHTTPMetadataResolver.java @@ -15,6 +15,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import static edu.internet2.tier.shibboleth.admin.util.DurationUtility.toMillis; @@ -83,6 +84,15 @@ protected void initMetadataResolver() throws ComponentInitializationException { indexWriter); } + @Nonnull + @Override + protected BatchEntityBackingStore getBackingStore() { + if (super.getBackingStore() == null) { + super.setBackingStore(super.createNewBackingStore()); + } + return super.getBackingStore(); + } + /** * {@inheritDoc} */ diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlFilesystemMetadataResolver.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlFilesystemMetadataResolver.java index 8da204c3e..cfd3bdf2c 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlFilesystemMetadataResolver.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlFilesystemMetadataResolver.java @@ -11,6 +11,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.io.File; @@ -51,15 +52,31 @@ public DateTime getLastRefresh() { @Override protected void initMetadataResolver() throws ComponentInitializationException { + //Necessary to make sure backing store is initialized by the super class to avoid NPE during re-filtering + try { + setBackingStore(createNewBackingStore()); + } + catch(Throwable e) { + logger.warn("Error caught and ignored during initialization necessary to init backingStore", e); + } + if (this.sourceResolver.getDoInitialization()) { super.initMetadataResolver(); - delegate.addIndexedDescriptorsFromBackingStore(this.getBackingStore(), this.sourceResolver.getResourceId(), indexWriter); } } + @Nonnull + @Override + protected BatchEntityBackingStore getBackingStore() { + if (super.getBackingStore() == null) { + super.setBackingStore(super.createNewBackingStore()); + } + return super.getBackingStore(); + } + /** * {@inheritDoc} */ diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlMetadataResolverConstructorHelper.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlMetadataResolverConstructorHelper.java index d52e47448..862624b05 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlMetadataResolverConstructorHelper.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlMetadataResolverConstructorHelper.java @@ -57,7 +57,7 @@ public static void updateOpenSamlMetadataResolverFromDynamicMetadataResolverAttr } if (attributes.getRefreshDelayFactor() != null) { - dynamicMetadataResolver.setRefreshDelayFactor(attributes.getRefreshDelayFactor().floatValue()); + dynamicMetadataResolver.setRefreshDelayFactor(attributes.getRefreshDelayFactor()); } if (attributes.getRemoveIdleEntityData() != null) { diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlResourceBackedMetadataResolver.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlResourceBackedMetadataResolver.java index 0a4b2a7f2..62bdb37d8 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlResourceBackedMetadataResolver.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlResourceBackedMetadataResolver.java @@ -11,6 +11,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.io.IOException; @@ -59,6 +60,15 @@ protected void initMetadataResolver() throws ComponentInitializationException { indexWriter); } + @Nonnull + @Override + protected BatchEntityBackingStore getBackingStore() { + if (super.getBackingStore() == null) { + super.setBackingStore(super.createNewBackingStore()); + } + return super.getBackingStore(); + } + /** * {@inheritDoc} */ diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/envers/PrincipalAwareRevisionEntity.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/envers/PrincipalAwareRevisionEntity.java index e0aef8807..0685eba92 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/envers/PrincipalAwareRevisionEntity.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/envers/PrincipalAwareRevisionEntity.java @@ -6,6 +6,7 @@ import org.hibernate.envers.RevisionEntity; import javax.persistence.Entity; +import javax.persistence.Table; /** * Extension of the default envers revision entity to track authenticated principals diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/hibernate/QNameTypeContributor.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/hibernate/QNameTypeContributor.java new file mode 100644 index 000000000..0cca1f713 --- /dev/null +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/hibernate/QNameTypeContributor.java @@ -0,0 +1,15 @@ +package edu.internet2.tier.shibboleth.admin.ui.hibernate; + +import org.hibernate.boot.model.TypeContributions; +import org.hibernate.boot.model.TypeContributor; +import org.hibernate.service.ServiceRegistry; + +import javax.xml.namespace.QName; + +public class QNameTypeContributor implements TypeContributor { + + @Override + public void contribute(TypeContributions typeContributions, ServiceRegistry serviceRegistry) { + typeContributions.contributeType(new QNameUserType(), "qname", QName.class.getName()); + } +} diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/hibernate/QNameUserType.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/hibernate/QNameUserType.java new file mode 100644 index 000000000..f87bb8a73 --- /dev/null +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/hibernate/QNameUserType.java @@ -0,0 +1,150 @@ +package edu.internet2.tier.shibboleth.admin.ui.hibernate; + +import net.shibboleth.utilities.java.support.xml.QNameSupport; +import org.hibernate.HibernateException; +import org.hibernate.engine.spi.SharedSessionContractImplementor; +import org.hibernate.usertype.UserType; + +import javax.xml.namespace.QName; +import java.io.Serializable; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Types; + +/** + * Hibernate custom UserType needed to properly persist QName objects. + * Base implementation is taken from {@link https://github.com/tomsontom/emf-databinding-example/blob/0ae7faa67697a84171846852a5c5b0492d9a8f7d/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/QNameUserType.java} + */ +public class QNameUserType implements UserType { + + private static final int[] SQL_TYPES = new int[]{Types.VARCHAR}; + + /* + * (non-Javadoc) + * + * @see org.hibernate.usertype.UserType#assemble(java.io.Serializable, java.lang.Object) + */ + public Object assemble(Serializable cached, Object owner) throws HibernateException { + return cached; + } + + /* + * (non-Javadoc) + * + * @see org.hibernate.usertype.UserType#deepCopy(java.lang.Object) + */ + public Object deepCopy(Object value) throws HibernateException { + return value; + } + + /* + * (non-Javadoc) + * + * @see org.hibernate.usertype.UserType#disassemble(java.lang.Object) + */ + public Serializable disassemble(Object value) throws HibernateException { + return (Serializable) value; + } + + public boolean equals(Object x, Object y) throws HibernateException { + if (x == y) { + return true; + } else if (x == null || y == null) { + return false; + } else { + return x.equals(y); + } + } + + /* + * (non-Javadoc) + * + * @see org.hibernate.usertype.UserType#hashCode(java.lang.Object) + */ + public int hashCode(Object x) throws HibernateException { + return x.hashCode(); + } + + /** + * Not mutable + */ + public boolean isMutable() { + return false; + } + + /* + * (non-Javadoc) + * + * @see org.hibernate.usertype.UserType#nullSafeGet(java.sql.ResultSet, java.lang.String[], + * java.lang.Object) + */ + public Object nullSafeGet(ResultSet rs, String[] names, SharedSessionContractImplementor sessionContractImplementor, Object owner) throws HibernateException, SQLException { + final String str = rs.getString(names[0]); + if (rs.wasNull()) { + return null; + } + return convertFromString(str); + } + + /* + * (non-Javadoc) + * + * @see org.hibernate.usertype.UserType#nullSafeSet(java.sql.PreparedStatement, + * java.lang.Object, int) + */ + public void nullSafeSet(PreparedStatement st, Object value, int index, SharedSessionContractImplementor sessionContractImplementor) throws HibernateException, SQLException { + if (value == null) { + st.setNull(index, Types.VARCHAR); + } else { + st.setString(index, convertToString((QName) value)); + } + } + + /* + * (non-Javadoc) + * + * @see org.hibernate.usertype.UserType#replace(java.lang.Object, java.lang.Object, + * java.lang.Object) + */ + public Object replace(Object original, Object target, Object owner) throws HibernateException { + return original; + } + + /** + * Returns the parameterizezd enumType + */ + public Class returnedClass() { + return QName.class; + } + + /** + * An enum is stored in one varchar + */ + public int[] sqlTypes() { + return SQL_TYPES; + } + + protected String convertToString(QName qName) { + return "{" + qName.getNamespaceURI() + "}" + qName.getPrefix() + ":" + qName.getLocalPart(); + } + + protected QName convertFromString(String str) { + if (str.indexOf("{") == -1) { + throw new HibernateException("String " + str + " can not be converted to a QName, missing starting {"); + } + final int endIndexNS = str.indexOf("}"); + if (endIndexNS == -1) { + throw new HibernateException("String " + str + + " can not be converted to a QName, missing end ns delimiter } "); + } + final int prefixIndex = str.indexOf(":", endIndexNS); + if (prefixIndex == -1) { + throw new HibernateException("String " + str + " can not be converted to a QName, missing prefix delimiter :"); + } + final String ns = str.substring(1, endIndexNS); + final String prefix = str.substring(endIndexNS + 1, prefixIndex); + final String localPart = str.substring(prefixIndex + 1); + return QNameSupport.constructQName(ns, localPart, prefix); + } +} diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/Role.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/Role.java index 41acabdca..64792774d 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/Role.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/Role.java @@ -41,6 +41,7 @@ public Role(String name, int rank) { @Column(unique = true) private String name; + @Column(name = "ROLE_RANK") private int rank; //Ignore properties annotation here is to prevent stack overflow recursive error during JSON serialization diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/User.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/User.java index 1a36ffdcc..c30c4ceff 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/User.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/User.java @@ -16,6 +16,7 @@ import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; +import javax.persistence.Table; import javax.persistence.Transient; import java.util.HashSet; import java.util.Set; @@ -31,6 +32,7 @@ @Setter @EqualsAndHashCode(callSuper = true, exclude = "roles") @ToString(exclude = "roles") +@Table(name = "USERS") public class User extends AbstractAuditable { @Column(nullable = false, unique = true) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EnversMetadataResolverVersionService.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EnversMetadataResolverVersionService.java index c98203eca..b0d90195f 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EnversMetadataResolverVersionService.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EnversMetadataResolverVersionService.java @@ -1,5 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.service; +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter; import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver; import edu.internet2.tier.shibboleth.admin.ui.domain.versioning.Version; import edu.internet2.tier.shibboleth.admin.ui.envers.EnversVersionServiceSupport; @@ -27,6 +28,16 @@ public List findVersionsForMetadataResolver(String resourceId) { @Override public MetadataResolver findSpecificVersionOfMetadataResolver(String resourceId, String versionId) { Object mrObject = enversVersionServiceSupport.findSpecificVersionOfPersistentEntity(resourceId, versionId, MetadataResolver.class); - return mrObject == null ? null : (MetadataResolver) mrObject; + if(mrObject == null) { + return null; + } + MetadataResolver resolver = (MetadataResolver) mrObject; + + //The @PostLoad is not honored by Envers. So need to do this manually for EntityAttributesFilters + //So the correct representation is built and returned to upstream clients expecting JSON + resolver.entityAttributesFilterIntoTransientRepresentation(); + + return resolver; + } } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolverConverterServiceImpl.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolverConverterServiceImpl.java index 8088793a9..ee5f8cec3 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolverConverterServiceImpl.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolverConverterServiceImpl.java @@ -13,6 +13,7 @@ import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects; import net.shibboleth.ext.spring.resource.ResourceHelper; import net.shibboleth.utilities.java.support.component.ComponentInitializationException; +import net.shibboleth.utilities.java.support.logic.ConstraintViolationException; import net.shibboleth.utilities.java.support.resolver.ResolverException; import net.shibboleth.utilities.java.support.resource.Resource; import org.apache.lucene.index.IndexWriter; @@ -21,13 +22,10 @@ import org.opensaml.saml.metadata.resolver.MetadataResolver; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.ClassPathResource; -import org.springframework.stereotype.Service; -import javax.validation.ConstraintViolationException; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; -import java.net.URL; import static edu.internet2.tier.shibboleth.admin.util.TokenPlaceholderResolvers.placeholderResolverService; @@ -46,8 +44,8 @@ private OpenSamlFunctionDrivenDynamicHTTPMetadataResolver convertToOpenSamlRepre IndexWriter indexWriter = indexWriterService.getIndexWriter(resolver.getResourceId()); OpenSamlFunctionDrivenDynamicHTTPMetadataResolver openSamlResolver = new OpenSamlFunctionDrivenDynamicHTTPMetadataResolver(openSamlObjects.getParserPool(), - indexWriter, - resolver); + indexWriter, + resolver); openSamlResolver.initialize(); return openSamlResolver; } @@ -68,31 +66,25 @@ private OpenSamlFilesystemMetadataResolver convertToOpenSamlRepresentation(Files } OpenSamlFilesystemMetadataResolver openSamlResolver = new OpenSamlFilesystemMetadataResolver(openSamlObjects.getParserPool(), - indexWriter, - resolver, - metadataFile); + indexWriter, + resolver, + metadataFile); openSamlResolver.initialize(); return openSamlResolver; } private OpenSamlLocalDynamicMetadataResolver convertToOpenSamlRepresentation(LocalDynamicMetadataResolver resolver) throws IOException, ComponentInitializationException { - IndexWriter indexWriter = indexWriterService.getIndexWriter(resolver.getResourceId()); - - XMLObjectLoadSaveManager manager = null; - if (resolver.getDoInitialization()) { - try { - manager = new FilesystemLoadSaveManager(placeholderResolverService() - .resolveValueFromPossibleTokenPlaceholder(resolver.getSourceDirectory())); - } catch (ConstraintViolationException e) { - // the base directory string instance was null or empty - //TODO: What should we do here? Currently, this causes a test to fail. - throw new RuntimeException("An exception occurred while attempting to instantiate a FilesystemLoadSaveManger for the path: " + resolver.getSourceDirectory(), e); - } + try { + IndexWriter indexWriter = indexWriterService.getIndexWriter(resolver.getResourceId()); + XMLObjectLoadSaveManager manager = new FilesystemLoadSaveManager(new AlwaysExistingVirtualMetadataDirectory(placeholderResolverService() + .resolveValueFromPossibleTokenPlaceholder(resolver.getSourceDirectory()))); + OpenSamlLocalDynamicMetadataResolver openSamlResolver = new OpenSamlLocalDynamicMetadataResolver(openSamlObjects.getParserPool(), indexWriter, resolver, manager); + openSamlResolver.initialize(); + return openSamlResolver; + } catch (ConstraintViolationException e) { + // the base directory string instance was null or empty + throw new RuntimeException("An exception occurred while attempting to instantiate a FilesystemLoadSaveManger for the path: " + resolver.getSourceDirectory(), e); } - - OpenSamlLocalDynamicMetadataResolver openSamlResolver = new OpenSamlLocalDynamicMetadataResolver(openSamlObjects.getParserPool(), indexWriter, resolver, manager); - openSamlResolver.initialize(); - return openSamlResolver; } private OpenSamlResourceBackedMetadataResolver convertToOpenSamlRepresentation(ResourceBackedMetadataResolver resolver) throws IOException, ComponentInitializationException { @@ -112,9 +104,9 @@ private OpenSamlResourceBackedMetadataResolver convertToOpenSamlRepresentation(R } OpenSamlResourceBackedMetadataResolver openSamlResolver = new OpenSamlResourceBackedMetadataResolver(openSamlObjects.getParserPool(), - indexWriter, - resolver, - resource); + indexWriter, + resolver, + resource); openSamlResolver.initialize(); return openSamlResolver; } @@ -136,4 +128,27 @@ public MetadataResolver convertToOpenSamlRepresentation(edu.internet2.tier.shibb throw new RuntimeException("Unsupported metadata resolver type!"); } } + + /** + * Use this class when creating FilesystemLoadSaveManager for OpenSamlLocalDynamicMetadataResolver + * as we guard the system from any file-related exceptions during init of open saml object representation. + * File with the same name might exist and we don't force the + * system to create a directory in this case. Shibboleth Idp would take care of these directory-creating aspects + * instead. + */ + private static class AlwaysExistingVirtualMetadataDirectory extends File { + public AlwaysExistingVirtualMetadataDirectory(String pathname) { + super(pathname); + } + + @Override + public boolean exists() { + return true; + } + + @Override + public boolean isDirectory() { + return true; + } + } } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/util/AttributeUtility.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/util/AttributeUtility.java index 20fca363c..7677c1b56 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/util/AttributeUtility.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/util/AttributeUtility.java @@ -64,7 +64,10 @@ public edu.internet2.tier.shibboleth.admin.ui.domain.Attribute createAttributeWi } public edu.internet2.tier.shibboleth.admin.ui.domain.Attribute createAttributeWithStringValues(String name, String friendlyName, List values) { - return createAttributeWithStringValues(name, friendlyName, values.toArray(new String[]{})); + if(values.size() > 0) { + return createAttributeWithStringValues(name, friendlyName, values.toArray(new String[]{})); + } + return null; } /* Calling this method with name = MDDCConstants.RELEASE_ATTRIBUTES seems to be a special case. In this case, diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/util/ModelRepresentationConversions.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/util/ModelRepresentationConversions.java index b1669d8a9..12a1bad82 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/util/ModelRepresentationConversions.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/util/ModelRepresentationConversions.java @@ -39,8 +39,7 @@ public ModelRepresentationConversions(CustomPropertiesConfiguration customProper OpenSamlObjects openSamlObjects = new OpenSamlObjects(); try { openSamlObjects.init(); - } - catch (ComponentInitializationException e) { + } catch (ComponentInitializationException e) { throw new IllegalStateException(e); } ATTRIBUTE_UTILITY = new AttributeUtility(openSamlObjects); @@ -81,7 +80,7 @@ public static List getStringListValueOfAttribute(Attribute attribute) { public static Optional getOverrideByAttributeName(String attributeName) { return customPropertiesConfiguration.getOverrides().stream().filter(it -> it.getAttributeName().equals(attributeName)).findFirst(); - } + } public static Map getRelyingPartyOverridesRepresentationFromAttributeList(List attributeList) { Map relyingPartyOverrides = new HashMap<>(); @@ -91,8 +90,8 @@ public static Map getRelyingPartyOverridesRepresentationFromAttr Optional override = getOverrideByAttributeName(jpaAttribute.getName()); if (override.isPresent()) { - relyingPartyOverrides.put(((RelyingPartyOverrideProperty)override.get()).getName(), - getOverrideFromAttribute(jpaAttribute)); + relyingPartyOverrides.put(((RelyingPartyOverrideProperty) override.get()).getName(), + getOverrideFromAttribute(jpaAttribute)); } } @@ -112,7 +111,7 @@ public static Object getOverrideFromAttribute(Attribute attribute) { .filter(it -> it.getAttributeFriendlyName().equals(attribute.getFriendlyName())).findFirst().get(); List attributeValues = attribute.getAttributeValues(); - switch(AttributeTypes.valueOf(relyingPartyOverrideProperty.getDisplayType().toUpperCase())) { + switch (AttributeTypes.valueOf(relyingPartyOverrideProperty.getDisplayType().toUpperCase())) { case BOOLEAN: if (relyingPartyOverrideProperty.getPersistType() != null && (!relyingPartyOverrideProperty.getPersistType().equalsIgnoreCase("boolean"))) { @@ -140,11 +139,11 @@ public static String getValueFromXMLObject(XMLObject xmlObject) { String objectType = xmlObject.getClass().getSimpleName(); switch (objectType) { case "XSAny": - return ((XSAny)xmlObject).getTextContent(); + return ((XSAny) xmlObject).getTextContent(); case "XSString": - return ((XSString)xmlObject).getValue(); + return ((XSString) xmlObject).getValue(); case "XSBoolean": - return ((XSBoolean)xmlObject).getStoredValue(); + return ((XSBoolean) xmlObject).getStoredValue(); default: throw new RuntimeException(String.format("Unsupported XML Object type [%s]", objectType)); } @@ -157,7 +156,7 @@ public static List getAttributeListFromA attributeList.add(ATTRIBUTE_UTILITY.createAttributeWithStringValues(MDDCConstants.RELEASE_ATTRIBUTES, attributeReleaseList)); } - return (List)(List)attributeList; + return (List) (List) attributeList; } public static List getAttributeListFromRelyingPartyOverridesRepresentation @@ -182,8 +181,8 @@ public static List getAttributeListFromA public static Attribute getAttributeFromObjectAndRelyingPartyOverrideProperty(Object o, RelyingPartyOverrideProperty overrideProperty) { switch (ModelRepresentationConversions.AttributeTypes.valueOf(overrideProperty.getDisplayType().toUpperCase())) { case BOOLEAN: - if ((o instanceof Boolean && ((Boolean)o)) || - (o instanceof String) && Boolean.valueOf((String)o)) { + if ((o instanceof Boolean && ((Boolean) o)) || + (o instanceof String) && Boolean.valueOf((String) o)) { if (overrideProperty.getPersistType() != null && !overrideProperty.getPersistType().equalsIgnoreCase("boolean")) { return ATTRIBUTE_UTILITY.createAttributeWithStringValues(overrideProperty.getAttributeName(), @@ -195,7 +194,7 @@ public static Attribute getAttributeFromObjectAndRelyingPartyOverrideProperty(Ob overrideProperty.getAttributeFriendlyName(), Boolean.valueOf((String) o)); } else { - Boolean value = Boolean.valueOf(overrideProperty.getInvert()) ^ (Boolean)o; + Boolean value = Boolean.valueOf(overrideProperty.getInvert()) ^ (Boolean) o; return ATTRIBUTE_UTILITY.createAttributeWithBooleanValue(overrideProperty.getAttributeName(), overrideProperty.getAttributeFriendlyName(), value); @@ -215,16 +214,17 @@ public static Attribute getAttributeFromObjectAndRelyingPartyOverrideProperty(Ob return ATTRIBUTE_UTILITY.createAttributeWithStringValues(overrideProperty.getAttributeName(), overrideProperty.getAttributeFriendlyName(), (List) o); + case LIST: return ATTRIBUTE_UTILITY.createAttributeWithStringValues(overrideProperty.getAttributeName(), overrideProperty.getAttributeFriendlyName(), (List) o); + default: throw new UnsupportedOperationException("getAttributeListFromRelyingPartyOverridesRepresentation was called with an unsupported type (" + overrideProperty.getDisplayType() + ")!"); } } - public enum AttributeTypes { BOOLEAN, INTEGER, diff --git a/backend/src/main/resources/META-INF/services/org.hibernate.boot.model.TypeContributor b/backend/src/main/resources/META-INF/services/org.hibernate.boot.model.TypeContributor new file mode 100644 index 000000000..5f1ae5827 --- /dev/null +++ b/backend/src/main/resources/META-INF/services/org.hibernate.boot.model.TypeContributor @@ -0,0 +1 @@ +edu.internet2.tier.shibboleth.admin.ui.hibernate.QNameTypeContributor diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties index 81dba27ae..81ea10e80 100644 --- a/backend/src/main/resources/application.properties +++ b/backend/src/main/resources/application.properties @@ -86,3 +86,13 @@ shibui.mail.html.email-template-path-prefix=/mail/html/ shibui.mail.system-email-address=doNotReply@shibui.org shibui.roles=ROLE_ADMIN,ROLE_USER,ROLE_NONE + +#In order to enable authentication via configured pac4j library (with external SAMl Idp, for example) +#This property must be set to true and pac4j properties configured. For sample pac4j properties, see application.yml +#for an example pac4j configuration +#shibui.pac4j-enabled=true + +#This property must be set to true in order to enable posting stats to beacon endpoint. Furthermore, appropriate +#environment variables must be set for beacon publisher to be used (the ones that are set when running shib-ui in +#docker container +shibui.beacon-enabled=true \ No newline at end of file diff --git a/backend/src/main/resources/application.yml b/backend/src/main/resources/application.yml index 8e823e8a3..fd5224758 100644 --- a/backend/src/main/resources/application.yml +++ b/backend/src/main/resources/application.yml @@ -1,3 +1,21 @@ +#shibui: +# pac4j-enabled: true +# pac4j: +# keystorePath: "/etc/shibui/samlKeystore.jks" +# keystorePassword: "changeit" +# privateKeyPassword: "changeit" +# serviceProviderEntityId: "https://idp.example.com/shibui" +# serviceProviderMetadataPath: "/etc/shibui/sp-metadata.xml" +# identityProviderMetadataPath: "/etc/shibui/idp-metadata.xml" +# forceServiceProviderMetadataGeneration: false +# callbackUrl: "https://localhost:8443/callback" +# maximumAuthenticationLifetime: 3600000 +# saml2ProfileMapping: +# username: urn:oid:0.9.2342.19200300.100.1.1 +# firstname: urn:oid:2.5.4.42 +# lastname: urn:oid:2.5.4.4 +# email: urn:oid:0.9.2342.19200300.100.1.3 + custom: attributes: # Default attributes diff --git a/backend/src/main/resources/dynamic-http-metadata-provider.schema.json b/backend/src/main/resources/dynamic-http-metadata-provider.schema.json index f7106c6e5..28758fee6 100644 --- a/backend/src/main/resources/dynamic-http-metadata-provider.schema.json +++ b/backend/src/main/resources/dynamic-http-metadata-provider.schema.json @@ -4,7 +4,6 @@ "name", "@type", "xmlId", - "metadataURL", "metadataRequestURLConstructionScheme" ], "properties": { @@ -147,14 +146,15 @@ "refreshDelayFactor": { "title": "label.refresh-delay-factor", "description": "tooltip.refresh-delay-factor", - "type": "string", + "type": "number", "widget": { - "id": "string", - "help": "message.real-number" + "id": "float", + "help": "message.real-number", + "step": 0.01 }, "placeholder": "label.real-number", - "default": "", - "pattern": "^(?:([0]*(\\.[0-9]+)?|[0]*\\.[0-9]*[1-9][0-9]*)|)$" + "minimum": 0.001, + "maximum": 0.999 }, "minCacheDuration": { "title": "label.min-cache-duration", @@ -576,11 +576,14 @@ } }, "metadataFilters": { + "$id": "metadataFilters", "title": "", "description": "", - "type": "object", - "properties": { - "RequiredValidUntil": { + "type": "array", + "additionalItems": true, + "items": [ + { + "$id": "RequiredValidUntil", "title": "label.required-valid-until", "type": "object", "widget": { @@ -611,7 +614,8 @@ } } }, - "SignatureValidation": { + { + "$id": "SignatureValidation", "title": "label.signature-validation-filter", "type": "object", "widget": { @@ -654,7 +658,8 @@ } ] }, - "EntityRoleWhiteList": { + { + "$id": "EntityRoleWhiteList", "title": "label.entity-role-whitelist", "type": "object", "widget": { @@ -700,7 +705,7 @@ } } } - } + ] } } -} \ No newline at end of file +} diff --git a/backend/src/main/resources/file-system-metadata-provider.schema.json b/backend/src/main/resources/file-system-metadata-provider.schema.json index af2f8af0a..f6037c79b 100644 --- a/backend/src/main/resources/file-system-metadata-provider.schema.json +++ b/backend/src/main/resources/file-system-metadata-provider.schema.json @@ -128,14 +128,15 @@ "refreshDelayFactor": { "title": "label.refresh-delay-factor", "description": "tooltip.refresh-delay-factor", - "type": "string", + "type": "number", "widget": { - "id": "string", - "help": "message.real-number" + "id": "float", + "help": "message.real-number", + "step": 0.01 }, "placeholder": "label.real-number", - "default": "", - "pattern": "^(?:([0]*(\\.[0-9]+)?|[0]*\\.[0-9]*[1-9][0-9]*)|)$" + "minimum": 0.001, + "maximum": 0.999 } } } diff --git a/backend/src/main/resources/filebacked-http-metadata-provider.schema.json b/backend/src/main/resources/filebacked-http-metadata-provider.schema.json new file mode 100644 index 000000000..505fe6ebd --- /dev/null +++ b/backend/src/main/resources/filebacked-http-metadata-provider.schema.json @@ -0,0 +1,653 @@ +{ + "type": "object", + "order": [ + "name", + "@type", + "enabled", + "xmlId", + "metadataURL", + "initializeFromBackupFile", + "backingFile", + "backupFileInitNextRefreshDelay", + "requireValidMetadata", + "failFastInitialization", + "useDefaultPredicateRegistry", + "satisfyAnyPredicates", + "httpMetadataResolverAttributes", + "reloadableMetadataResolverAttributes", + "metadataFilters" + ], + "required": [ + "name", + "@type", + "xmlId", + "metadataURL", + "backingFile", + "backupFileInitNextRefreshDelay" + ], + "properties": { + "name": { + "title": "label.metadata-provider-name-dashboard-display-only", + "description": "tooltip.metadata-provider-name-dashboard-display-only", + "type": "string", + "widget": { + "id": "string", + "help": "message.must-be-unique" + } + }, + "@type": { + "title": "label.metadata-provider-type", + "description": "tooltip.metadata-provider-type", + "placeholder": "label.select-metadata-type", + "type": "string", + "readOnly": true, + "widget": { + "id": "select", + "disabled": true + }, + "oneOf": [ + { + "enum": [ + "FileBackedHttpMetadataResolver" + ], + "description": "value.file-backed-http-metadata-provider" + } + ] + }, + "enabled": { + "title": "label.enable-service", + "description": "tooltip.enable-service", + "type": "boolean", + "default": false + }, + "xmlId": { + "title": "label.xml-id", + "description": "tooltip.xml-id", + "type": "string", + "default": "", + "minLength": 1 + }, + "metadataURL": { + "title": "label.metadata-url", + "description": "tooltip.metadata-url", + "type": "string", + "default": "", + "minLength": 1 + }, + "initializeFromBackupFile": { + "title": "label.init-from-backup", + "description": "tooltip.init-from-backup", + "type": "boolean", + "widget": { + "id": "boolean-radio" + }, + "oneOf": [ + { + "enum": [ + true + ], + "description": "value.true" + }, + { + "enum": [ + false + ], + "description": "value.false" + } + ], + "default": true + }, + "backingFile": { + "title": "label.backing-file", + "description": "tooltip.backing-file", + "type": "string", + "default": "" + }, + "backupFileInitNextRefreshDelay": { + "title": "label.backup-file-init-refresh-delay", + "description": "tooltip.backup-file-init-refresh-delay", + "type": "string", + "widget": { + "id": "datalist", + "data": [ + "PT0S", + "PT30S", + "PT1M", + "PT10M", + "PT30M", + "PT1H", + "PT4H", + "PT12H", + "PT24H" + ] + }, + "default": null, + "pattern": "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" + }, + "requireValidMetadata": { + "title": "label.require-valid-metadata", + "description": "tooltip.require-valid-metadata", + "type": "boolean", + "widget": { + "id": "boolean-radio" + }, + "oneOf": [ + { + "enum": [ + true + ], + "description": "value.true" + }, + { + "enum": [ + false + ], + "description": "value.false" + } + ], + "default": true + }, + "failFastInitialization": { + "title": "label.fail-fast-init", + "description": "tooltip.fail-fast-init", + "type": "boolean", + "widget": { + "id": "boolean-radio" + }, + "oneOf": [ + { + "enum": [ + true + ], + "description": "value.true" + }, + { + "enum": [ + false + ], + "description": "value.false" + } + ], + "default": true + }, + "useDefaultPredicateRegistry": { + "title": "label.use-default-predicate-reg", + "description": "tooltip.use-default-predicate-reg", + "type": "boolean", + "widget": { + "id": "boolean-radio" + }, + "oneOf": [ + { + "enum": [ + true + ], + "description": "value.true" + }, + { + "enum": [ + false + ], + "description": "value.false" + } + ], + "default": true + }, + "satisfyAnyPredicates": { + "$id": "satisfyAnyPredicates", + "title": "label.satisfy-any-predicates", + "description": "tooltip.satisfy-any-predicates", + "type": "boolean", + "widget": { + "id": "boolean-radio" + }, + "oneOf": [ + { + "enum": [ + true + ], + "description": "value.true" + }, + { + "enum": [ + false + ], + "description": "value.false" + } + ], + "default": false + }, + "httpMetadataResolverAttributes": { + "$id": "httpMetadataResolverAttributes", + "order": [], + "type": "object", + "fieldsets": [ + { + "title": "label.http-connection-attributes", + "type": "section", + "fields": [ + "connectionRequestTimeout", + "connectionTimeout", + "socketTimeout" + ] + }, + { + "title": "label.http-security-attributes", + "type": "section", + "class": "col-12", + "fields": [ + "disregardTLSCertificate" + ] + }, + { + "title": "label.http-proxy-attributes", + "type": "section", + "class": "col-12", + "fields": [ + "proxyHost", + "proxyPort", + "proxyUser", + "proxyPassword" + ] + }, + { + "title": "label.http-caching-attributes", + "type": "section", + "class": "col-12", + "fields": [ + "httpCaching", + "httpCacheDirectory", + "httpMaxCacheEntries", + "httpMaxCacheEntrySize" + ] + }, + { + "title": "", + "type": "hidden", + "class": "col-12", + "fields": [ + "tlsTrustEngineRef", + "httpClientSecurityParametersRef", + "httpClientRef" + ] + } + ], + "properties": { + "httpClientRef": { + "type": "string", + "title": "", + "description": "", + "placeholder": "", + "widget": "hidden" + }, + "connectionRequestTimeout": { + "type": "string", + "title": "label.connection-request-timeout", + "description": "tooltip.connection-request-timeout", + "placeholder": "label.duration", + "widget": { + "id": "datalist", + "data": [ + "PT0S", + "PT30S", + "PT1M", + "PT10M", + "PT30M", + "PT1H", + "PT4H", + "PT12H", + "PT24H" + ] + }, + "pattern": "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" + }, + "connectionTimeout": { + "type": "string", + "title": "label.connection-timeout", + "description": "tooltip.connection-timeout", + "placeholder": "label.duration", + "widget": { + "id": "datalist", + "data": [ + "PT0S", + "PT30S", + "PT1M", + "PT10M", + "PT30M", + "PT1H", + "PT4H", + "PT12H", + "PT24H" + ] + }, + "pattern": "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" + }, + "socketTimeout": { + "type": "string", + "title": "label.socket-timeout", + "description": "tooltip.socket-timeout", + "placeholder": "label.duration", + "widget": { + "id": "datalist", + "data": [ + "PT0S", + "PT30S", + "PT1M", + "PT10M", + "PT30M", + "PT1H", + "PT4H", + "PT12H", + "PT24H" + ] + }, + "pattern": "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" + }, + "disregardTLSCertificate": { + "type": "boolean", + "title": "label.disregard-tls-cert", + "description": "tooltip.disregard-tls-cert", + "widget": { + "id": "boolean-radio" + }, + "oneOf": [ + { + "enum": [ + true + ], + "description": "True" + }, + { + "enum": [ + false + ], + "description": "False" + } + ] + }, + "tlsTrustEngineRef": { + "type": "string", + "title": "", + "description": "", + "placeholder": "", + "widget": "hidden" + }, + "httpClientSecurityParametersRef": { + "type": "string", + "title": "", + "description": "", + "placeholder": "", + "widget": "hidden" + }, + "proxyHost": { + "type": "string", + "title": "label.proxy-host", + "description": "tooltip.proxy-host", + "placeholder": "" + }, + "proxyPort": { + "type": "string", + "title": "label.proxy-port", + "description": "tooltip.proxy-port", + "placeholder": "" + }, + "proxyUser": { + "type": "string", + "title": "label.proxy-user", + "description": "tooltip.proxy-user", + "placeholder": "" + }, + "proxyPassword": { + "type": "string", + "title": "label.proxy-password", + "description": "tooltip.proxy-password", + "placeholder": "" + }, + "httpCaching": { + "type": "string", + "title": "label.http-caching", + "description": "tooltip.http-caching", + "placeholder": "label.select-caching-type", + "widget": { + "id": "select" + }, + "oneOf": [ + { + "enum": [ + "none" + ], + "description": "value.none" + }, + { + "enum": [ + "file" + ], + "description": "value.file" + }, + { + "enum": [ + "memory" + ], + "description": "value.memory" + } + ] + }, + "httpCacheDirectory": { + "type": "string", + "title": "label.http-caching-directory", + "description": "tooltip.http-caching-directory", + "placeholder": "" + }, + "httpMaxCacheEntries": { + "type": "integer", + "title": "label.http-max-cache-entries", + "description": "tooltip.http-max-cache-entries", + "placeholder": "", + "minimum": 0 + }, + "httpMaxCacheEntrySize": { + "type": "integer", + "title": "label.max-cache-entry-size", + "description": "tooltip.max-cache-entry-size", + "placeholder": "", + "minimum": 0 + } + } + }, + "reloadableMetadataResolverAttributes": { + "$id": "reloadableMetadataResolverAttributes", + "type": "object", + "properties": { + "minRefreshDelay": { + "title": "label.min-refresh-delay", + "description": "tooltip.min-refresh-delay", + "type": "string", + "placeholder": "label.duration", + "widget": { + "id": "datalist", + "data": [ + "PT0S", + "PT30S", + "PT1M", + "PT10M", + "PT30M", + "PT1H", + "PT4H", + "PT12H", + "PT24H" + ] + }, + "default": null, + "pattern": "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" + }, + "maxRefreshDelay": { + "title": "label.max-refresh-delay", + "description": "tooltip.max-refresh-delay", + "type": "string", + "placeholder": "label.duration", + "widget": { + "id": "datalist", + "data": [ + "PT0S", + "PT30S", + "PT1M", + "PT10M", + "PT30M", + "PT1H", + "PT4H", + "PT12H", + "PT24H" + ] + }, + "default": null, + "pattern": "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" + }, + "refreshDelayFactor": { + "title": "label.refresh-delay-factor", + "description": "tooltip.refresh-delay-factor", + "type": "number", + "widget": { + "id": "float", + "help": "message.real-number", + "step": 0.01 + }, + "placeholder": "label.real-number", + "minimum": 0.001, + "maximum": 0.999 + } + } + }, + "metadataFilters": { + "$id": "metadataFilters", + "title": "", + "description": "", + "type": "array", + "additionalItems": true, + "items": [ + { + "$id": "RequiredValidUntil", + "title": "label.required-valid-until", + "type": "object", + "widget": { + "id": "fieldset" + }, + "properties": { + "maxValidityInterval": { + "title": "label.max-validity-interval", + "description": "tooltip.max-validity-interval", + "type": "string", + "placeholder": "label.duration", + "widget": { + "id": "datalist", + "data": [ + "PT0S", + "PT30S", + "PT1M", + "PT10M", + "PT30M", + "PT1H", + "PT4H", + "PT12H", + "PT24H" + ] + }, + "default": null, + "pattern": "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" + } + } + }, + { + "$id": "SignatureValidation", + "title": "label.signature-validation-filter", + "type": "object", + "widget": { + "id": "fieldset" + }, + "properties": { + "requireSignedRoot": { + "title": "label.require-signed-root", + "description": "tooltip.require-signed-root", + "type": "boolean", + "default": true + }, + "certificateFile": { + "title": "label.certificate-file", + "description": "tooltip.certificate-file", + "type": "string" + } + }, + "anyOf": [ + { + "properties": { + "requireSignedRoot": { + "enum": [ + true + ] + } + }, + "required": [ + "certificateFile" + ] + }, + { + "properties": { + "requireSignedRoot": { + "enum": [ + false + ] + } + } + } + ] + }, + { + "$id": "EntityRoleWhiteList", + "title": "label.entity-role-whitelist", + "type": "object", + "widget": { + "id": "fieldset" + }, + "properties": { + "retainedRoles": { + "title": "label.retained-roles", + "description": "tooltip.retained-roles", + "type": "array", + "items": { + "widget": { + "id": "select" + }, + "type": "string", + "oneOf": [ + { + "enum": [ + "SPSSODescriptor" + ], + "description": "value.spdescriptor" + }, + { + "enum": [ + "AttributeAuthorityDescriptor" + ], + "description": "value.attr-auth-descriptor" + } + ] + } + }, + "removeRolelessEntityDescriptors": { + "title": "label.remove-roleless-entity-descriptors", + "description": "tooltip.remove-roleless-entity-descriptors", + "type": "boolean", + "default": true + }, + "removeEmptyEntitiesDescriptors": { + "title": "label.remove-empty-entities-descriptors", + "description": "tooltip.remove-empty-entities-descriptors", + "type": "boolean", + "default": true + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/backend/src/main/resources/i18n/messages.properties b/backend/src/main/resources/i18n/messages.properties index ff6eb36d2..0d5356269 100644 --- a/backend/src/main/resources/i18n/messages.properties +++ b/backend/src/main/resources/i18n/messages.properties @@ -57,6 +57,8 @@ action.close=Close action.back-to-top=Back to Top action.restore=Restore action.view-only-changes=View Only Changes +action.user-role=User Role +action.toggle-view=Toggle view value.enabled=Enabled value.disabled=Disabled @@ -206,8 +208,8 @@ label.service-provider-status=Metadata Source Status: label.current-metadata-sources=Current Metadata Sources label.current-metadata-providers=Current Metadata Providers label.add-a-new-metadata-provider=Add a new metadata provider -label.service-resolver-name-dashboard-display-only=Service Resolver Name (Dashboard Display Only) -label.service-resolver-entity-id=Service Resolver Entity ID +label.service-resolver-name-dashboard-display-only=Service Provider Name (Dashboard Display Only) +label.service-resolver-entity-id=Service Provider Entity ID label.add-a-new-metadata-source=Add a new metadata source - Finish Summary label.name-and-entityid=Name and Entity ID. label.finish-summary-validation=Finished! @@ -220,8 +222,8 @@ label.how-are-you-adding-the-metadata-information=How are you adding the metadat label.upload-url=Upload/URL label.or=or label.name-and-upload-url=Name and Upload Url -label.service-resolver-file=Select Resolver Metadata File -label.service-resolver-metadata-url=Service Resolver Metadata URL +label.service-resolver-file=Select Provider Metadata File +label.service-resolver-metadata-url=Service Provider Metadata URL label.search-criteria-by=Search Criteria by { displayType } label.entity-ids-added=Entity Ids Added label.ui-mdui-info=User Interface / MDUI Information @@ -280,6 +282,7 @@ label.filter-enable=Enable this Filter? label.search-criteria=Search Criteria label.metadata-filter=Metadata Filter label.metadata-filter-type=Metadata Filter Type +label.filter-versions=Filter Versions label.http-connection-attributes=HTTP Connection Attributes label.http-security-attributes=HTTP Security Attributes @@ -424,6 +427,9 @@ label.restore-version=Restore Version ({ date }) label.saved=Saved label.by=By +label.source=Metadata Source +label.provider=Metadata Provider + message.delete-user-title=Delete User? message.delete-user-body=You are requesting to delete a user. If you complete this process the user will be removed. This cannot be undone. Do you wish to continue? @@ -442,6 +448,8 @@ message.type-required=Missing required property: Type message.match-required=Missing required property: Match message.value-required=Missing required property: Value +message.protocol-support-required=Protocol Support Enumeration is required if any NameID formats are defined. + message.conflict=Conflict message.data-version-contention=Data Version Contention message.contention-new-version=A newer version of this metadata source has been saved. Below are a list of changes. You can use your changes or their changes. @@ -460,9 +468,10 @@ message.unsaved-editor=You have not saved your changes. If you exit this screen, message.editor-invalid=All forms must be valid before changes can be saved! message.unsaved-source-1=You have not completed the wizard! Do you wish to save this information? You can finish the wizard later by clicking the \u0027Edit\u0027 message.unsaved-source-2=icon on the dashboard. -message.service-resolver-name-required=Service Resolver Name is required +message.service-resolver-name-required=Service Provider Name is required message.entity-id-required=Entity ID is required message.entity-id-must-be-unique=Entity ID must be unique +message.target-required=Entity ID to copy is required message.file-upload-alert=Note: You can only import a file with a single entityID (EntityDescriptor element) in it. Anything more in that file will result in an error. message.add-new-md-resolver=Add a new metadata source message.wizard-status=Step { index } of { length } @@ -480,6 +489,8 @@ message.restoring-this-version-will-copy=Restoring this version will copy the Ve message.invalid-regex-pattern=Invalid Regular Expression +message.invalid-signing=Unless the response or the assertions are signed, SAML security is compromised and the service should reject the SAML response. (If it doesn\u0027t, investigate, as that is serious unless the HTTP-Artifact binding is in use.) + tooltip.entity-id=Entity ID tooltip.service-provider-name=Service Provider Name (Dashboard Display Only) tooltip.force-authn=Disallows use (or reuse) of authentication results and login flows that don\u0027t provide a real-time proof of user presence in the login process @@ -497,6 +508,7 @@ tooltip.mark-as-default=Mark as Default tooltip.protocol-support-enumeration=Protocol Support Enumeration tooltip.nameid-format=Content is name identifier format which is added to all the applicable roles of the entities which match any of the following or {{}}elements. tooltip.enable-this-service-upon-saving=If checkbox is clicked, the metadata provider is enabled for integration with the IdP +tooltip.is-there-a-x509-certificate=Is there a X509 Certificate? tooltip.authentication-requests-signed=Authentication Requests Signed tooltip.want-assertions-signed=Want Assertions Signed tooltip.certificate-name=Certificate Name @@ -555,7 +567,7 @@ tooltip.enable-provider-upon-saving=If checkbox is clicked, the metadata provide tooltip.max-validity-interval=Defines the window within which the metadata is valid. tooltip.require-signed-root=If true, this fails to load metadata with no signature on the root XML element. -tooltip.certificate-file=A key used to verify the signature. Conflicts with trustEngineRef and both of the child elements. +tooltip.certificate-file=A path (on the local file system) to a certificate file whose key is used to verify the signature. Conflicts with trustEngineRef and both of the child elements. tooltip.retained-roles=Note that property replacement cannot be used on this element. tooltip.remove-roleless-entity-descriptors=Controls whether to keep entity descriptors that contain no roles. Note: If this attribute is set to false, the resulting output may not be schema-valid since an element must include at least one role descriptor. tooltip.remove-empty-entities-descriptors=Controls whether to keep entities descriptors that contain no entity descriptors. Note: If this attribute is set to false, the resulting output may not be schema-valid since an element must include at least one child element, either an element or an element. diff --git a/backend/src/main/resources/i18n/messages_en.properties b/backend/src/main/resources/i18n/messages_en.properties index 8eb45a024..9acefbf40 100644 --- a/backend/src/main/resources/i18n/messages_en.properties +++ b/backend/src/main/resources/i18n/messages_en.properties @@ -196,13 +196,13 @@ label.service-provider-status=Metadata Source Status: label.current-metadata-sources=Current Metadata Sources label.current-metadata-providers=Current Metadata Providers label.add-a-new-metadata-provider=Add a new metadata provider -label.service-resolver-name-dashboard-display-only=Service Resolver Name (Dashboard Display Only) -label.service-resolver-entity-id=Service Resolver Entity ID +label.service-resolver-name-dashboard-display-only=Service Provider Name (Dashboard Display Only) +label.service-resolver-entity-id=Service Provider Entity ID label.add-a-new-metadata-source=Add a new metadata source - Finish Summary label.name-and-entityid=Name and Entity ID. label.finish-summary-validation=Finished! label.select-entity-id-to-copy=Select the Entity ID to copy -label.metadata-source-name-dashboard-display-only=Metadata Source Name (Dashboard Display Only) +label.metadata-source-name-dashboard-display-only=Service Provider Name (Dashboard Display Only) label.new-entity-id=New Entity ID label.sections-to-copy=Sections to Copy? label.add-a-new-metadata-resolver=Add a new metadata source @@ -210,8 +210,8 @@ label.how-are-you-adding-the-metadata-information=How are you adding the metadat label.upload-url=Upload/URL label.or=or label.name-and-upload-url=Name and Upload Url -label.service-resolver-file=Select Resolver Metadata File -label.service-resolver-metadata-url=Service Resolver Metadata URL +label.service-resolver-file=Select Provider Metadata File +label.service-resolver-metadata-url=Service Provider Metadata URL label.search-criteria-by=Search Criteria by { displayType } label.entity-ids-added=Entity Ids Added label.ui-mdui-info=User Interface / MDUI Information @@ -328,6 +328,7 @@ label.dynamic-attributes=Dynamic Attributes label.metadata-filter-plugins=Metadata Filter Plugins label.advanced-settings=Advanced Settings label.edit-metadata-provider=Edit Metadata Provider +label.edit-metadata-source=Edit Metadata Source label.http-settings-advanced=Http Settings (Advanced) label.metadata-ui=User Interface / MDUI Information @@ -391,6 +392,9 @@ label.enable=Enable label.disable=Disable label.enable-metadata-sources=Enable Metadata Sources +label.source=Metadata Source +label.provider=Metadata Provider + message.delete-user-title=Delete User? message.delete-user-body=You are requesting to delete a user. If you complete this process the user will be removed. This cannot be undone. Do you wish to continue? @@ -429,9 +433,10 @@ message.unsaved-editor=You have not saved your changes. If you exit this screen, message.editor-invalid=All forms must be valid before changes can be saved! message.unsaved-source-1=You have not completed the wizard! Do you wish to save this information? You can finish the wizard later by clicking the \u0027Edit\u0027 message.unsaved-source-2=icon on the dashboard. -message.service-resolver-name-required=Service Resolver Name is required +message.service-resolver-name-required=Service Provider Name is required message.entity-id-required=Entity ID is required message.entity-id-must-be-unique=Entity ID must be unique +message.target-required=Entity ID to copy is required message.file-upload-alert=Note: You can only import a file with a single entityID (EntityDescriptor element) in it. Anything more in that file will result in an error. message.add-new-md-resolver=Add a new metadata source message.wizard-status=Step { index } of { length } @@ -521,7 +526,7 @@ tooltip.enable-provider-upon-saving=If checkbox is clicked, the metadata provide tooltip.max-validity-interval=Defines the window within which the metadata is valid. tooltip.require-signed-root=If true, this fails to load metadata with no signature on the root XML element. -tooltip.certificate-file=A key used to verify the signature. Conflicts with trustEngineRef and both of the child elements. +tooltip.certificate-file=A path (on the local file system) to a certificate file whose key is used to verify the signature. Conflicts with trustEngineRef and both of the child elements. tooltip.retained-roles=Note that property replacement cannot be used on this element. tooltip.remove-roleless-entity-descriptors=Controls whether to keep entity descriptors that contain no roles. Note: If this attribute is set to false, the resulting output may not be schema-valid since an element must include at least one role descriptor. tooltip.remove-empty-entities-descriptors=Controls whether to keep entities descriptors that contain no entity descriptors. Note: If this attribute is set to false, the resulting output may not be schema-valid since an element must include at least one child element, either an element or an element. diff --git a/backend/src/main/resources/local-dynamic-metadata-provider.schema.json b/backend/src/main/resources/local-dynamic-metadata-provider.schema.json index f39904f36..c7cfeb360 100644 --- a/backend/src/main/resources/local-dynamic-metadata-provider.schema.json +++ b/backend/src/main/resources/local-dynamic-metadata-provider.schema.json @@ -61,14 +61,15 @@ "refreshDelayFactor": { "title": "label.refresh-delay-factor", "description": "tooltip.refresh-delay-factor", - "type": "string", + "type": "number", "widget": { - "id": "string", - "help": "message.real-number" + "id": "float", + "help": "message.real-number", + "step": 0.01 }, "placeholder": "label.real-number", - "default": "", - "pattern": "^(?:([0]*(\\.[0-9]+)?|[0]*\\.[0-9]*[1-9][0-9]*)|)$" + "minimum": 0.001, + "maximum": 0.999 }, "minCacheDuration": { "title": "label.min-cache-duration", @@ -188,4 +189,4 @@ } } } -} \ No newline at end of file +} diff --git a/backend/src/main/resources/metadata-sources-ui-schema.json b/backend/src/main/resources/metadata-sources-ui-schema.json index 9d64e75b4..9a0b4fb9e 100644 --- a/backend/src/main/resources/metadata-sources-ui-schema.json +++ b/backend/src/main/resources/metadata-sources-ui-schema.json @@ -26,44 +26,7 @@ "default": false }, "organization": { - "type": "object", - "properties": { - "name": { - "title": "label.organization-name", - "description": "tooltip.organization-name", - "type": "string" - }, - "displayName": { - "title": "label.organization-display-name", - "description": "tooltip.organization-display-name", - "type": "string" - }, - "url": { - "title": "label.organization-url", - "description": "tooltip.organization-url", - "type": "string" - } - }, - "dependencies": { - "name": { - "required": [ - "displayName", - "url" - ] - }, - "displayName": { - "required": [ - "name", - "url" - ] - }, - "url": { - "required": [ - "name", - "displayName" - ] - } - } + "$ref": "#/definitions/Organization" }, "contacts": { "title": "label.contact-information", @@ -74,73 +37,7 @@ } }, "mdui": { - "type": "object", - "widget": { - "id": "fieldset" - }, - "fieldsets": [ - { - "type": "group", - "fields": [ - "displayName", - "informationUrl", - "description" - ] - }, - { - "type": "group", - "fields": [ - "privacyStatementUrl", - "logoUrl", - "logoWidth", - "logoHeight" - ] - } - ], - "properties": { - "displayName": { - "title": "label.display-name", - "description": "tooltip.mdui-display-name", - "type": "string" - }, - "informationUrl": { - "title": "label.information-url", - "description": "tooltip.mdui-information-url", - "type": "string" - }, - "privacyStatementUrl": { - "title": "label.privacy-statement-url", - "description": "tooltip.mdui-privacy-statement-url", - "type": "string" - }, - "description": { - "title": "label.description", - "description": "tooltip.mdui-description", - "type": "string", - "widget": { - "id": "textarea" - } - }, - "logoUrl": { - "title": "label.logo-url", - "description": "tooltip.mdui-logo-url", - "type": "string" - }, - "logoHeight": { - "title": "label.logo-height", - "description": "tooltip.mdui-logo-height", - "min": 0, - "type": "integer", - "default": 0 - }, - "logoWidth": { - "title": "label.logo-width", - "description": "tooltip.mdui-logo-width", - "min": 0, - "type": "integer", - "default": 0 - } - } + "$ref": "#/definitions/MDUI" }, "securityInfo": { "type": "object", @@ -252,9 +149,6 @@ }, "serviceProviderSsoDescriptor": { "type": "object", - "widget": { - "id": "fieldset" - }, "fieldsets": [ { "type": "group", @@ -375,7 +269,7 @@ "title": "label.contact-email-address", "description": "tooltip.contact-email", "type": "string", - "pattern": "^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$", + "pattern": "^(mailto:)?(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$", "minLength": 1, "maxLength": 255 } @@ -385,7 +279,6 @@ "type": "object", "title": "label.certificate", "required": [ - "name", "type", "value" ], @@ -394,7 +287,6 @@ "title": "label.certificate-name-display-only", "description": "tooltip.certificate-name", "type": "string", - "minLength": 1, "maxLength": 255 }, "type": { @@ -439,6 +331,10 @@ "AssertionConsumerService": { "type": "object", "title": "label.assertion-consumer-service-endpoint", + "required": [ + "locationUrl", + "binding" + ], "properties": { "locationUrl": { "title": "label.assertion-consumer-service-location", @@ -463,11 +359,35 @@ ], "description": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" }, + { + "enum": [ + "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" + ], + "description": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" + }, + { + "enum": [ + "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" + ], + "description": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" + }, + { + "enum": [ + "urn:oasis:names:tc:SAML:2.0:bindings:PAOS" + ], + "description": "urn:oasis:names:tc:SAML:2.0:bindings:PAOS" + }, { "enum": [ "urn:oasis:names:tc:SAML:1.0:profiles:browser-post" ], "description": "urn:oasis:names:tc:SAML:1.0:profiles:browser-post" + }, + { + "enum": [ + "urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" + ], + "description": "urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" } ] }, @@ -520,10 +440,139 @@ "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" ], "description": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + }, + { + "enum": [ + "urn:oasis:names:tc:SAML:2.0:bindings:SOAP" + ], + "description": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP" } ] } } + }, + "MDUI": { + "type": "object", + "widget": { + "id": "fieldset" + }, + "fieldsets": [ + { + "type": "group", + "fields": [ + "displayName", + "informationUrl", + "description" + ] + }, + { + "type": "group", + "fields": [ + "privacyStatementUrl", + "logoUrl", + "logoWidth", + "logoHeight" + ] + } + ], + "properties": { + "displayName": { + "title": "label.display-name", + "description": "tooltip.mdui-display-name", + "type": "string", + "minLength": 1, + "maxLength": 255 + }, + "informationUrl": { + "title": "label.information-url", + "description": "tooltip.mdui-information-url", + "type": "string", + "minLength": 1, + "maxLength": 255 + }, + "privacyStatementUrl": { + "title": "label.privacy-statement-url", + "description": "tooltip.mdui-privacy-statement-url", + "type": "string", + "minLength": 1, + "maxLength": 255 + }, + "description": { + "title": "label.description", + "description": "tooltip.mdui-description", + "type": "string", + "widget": { + "id": "textarea" + }, + "minLength": 1, + "maxLength": 255 + }, + "logoUrl": { + "title": "label.logo-url", + "description": "tooltip.mdui-logo-url", + "type": "string", + "minLength": 1, + "maxLength": 255 + }, + "logoHeight": { + "title": "label.logo-height", + "description": "tooltip.mdui-logo-height", + "min": 0, + "type": "integer" + }, + "logoWidth": { + "title": "label.logo-width", + "description": "tooltip.mdui-logo-width", + "min": 0, + "type": "integer" + } + } + }, + "Organization": { + "type": "object", + "properties": { + "name": { + "title": "label.organization-name", + "description": "tooltip.organization-name", + "type": "string", + "minLength": 1, + "maxLength": 255 + }, + "displayName": { + "title": "label.organization-display-name", + "description": "tooltip.organization-display-name", + "type": "string", + "minLength": 1, + "maxLength": 255 + }, + "url": { + "title": "label.organization-url", + "description": "tooltip.organization-url", + "type": "string", + "minLength": 1, + "maxLength": 255 + } + }, + "dependencies": { + "name": { + "required": [ + "displayName", + "url" + ] + }, + "displayName": { + "required": [ + "name", + "url" + ] + }, + "url": { + "required": [ + "name", + "displayName" + ] + } + } } } -} \ No newline at end of file +} 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 new file mode 100644 index 000000000..39e630223 --- /dev/null +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerSchemaValidationIntegrationTests.groovy @@ -0,0 +1,54 @@ +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.http.HttpEntity +import org.springframework.http.HttpHeaders +import org.springframework.test.context.ActiveProfiles +import spock.lang.Specification + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +@ActiveProfiles(["no-auth", "dev"]) +class EntityDescriptorControllerSchemaValidationIntegrationTests extends Specification { + + @Autowired + private TestRestTemplate restTemplate + + static RESOURCE_URI = '/api/EntityDescriptor' + + def 'POST /EntityDescriptor with invalid payload according to schema validation'() { + given: + def postedJsonBody = """ + { + "serviceProviderName": "SP", + "entityId": "ED", + "organization": null, + "serviceEnabled": true, + "createdDate": null, + "modifiedDate": null, + "organization": null, + "contacts": null, + "mdui": null, + "serviceProviderSsoDescriptor": null, + "logoutEndpoints": null, + "securityInfo": null, + "assertionConsumerServices": null, + "relyingPartyOverrides": null, + "attributeRelease": null, + "current": false + } + """ + + when: + def result = this.restTemplate.postForEntity(RESOURCE_URI, createRequestHttpEntityFor { postedJsonBody }, Map) + + then: + result.statusCodeValue == 400 + result.body.errorMessage.count('Type mistmatch for null') > 0 + } + + private static HttpEntity createRequestHttpEntityFor(Closure jsonBodySupplier) { + new HttpEntity(jsonBodySupplier(), ['Content-Type': 'application/json'] as HttpHeaders) + } +} 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 098e7ac2b..a07353b9c 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 @@ -4,6 +4,8 @@ import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.databind.SerializationFeature import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilterTarget import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlChainingMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolverConverterService @@ -23,6 +25,7 @@ import org.springframework.http.HttpHeaders import org.springframework.test.context.ActiveProfiles import spock.lang.Specification +import static edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilterTarget.EntityAttributesFilterTargetType.CONDITION_SCRIPT import static org.springframework.http.HttpMethod.PUT /** @@ -191,7 +194,7 @@ class MetadataFiltersControllerIntegrationTests extends Specification { def "POST new Filter updates resolver's modifiedDate - SHIBUI-1500"() { given: 'MetadataResolver with attached entity attributes is available in data store' def resolver = generator.buildRandomMetadataResolverOfType('FileBacked') - def filter = generator.entityAttributesFilter() + def filter = generator.entityAttributesFilter() def resolverResourceId = resolver.resourceId metadataResolverRepository.save(resolver) MetadataResolver openSamlRepresentation = metadataResolverConverterService.convertToOpenSamlRepresentation(resolver) @@ -209,6 +212,38 @@ class MetadataFiltersControllerIntegrationTests extends Specification { originalModifiedDate < afterFilterAddedModifiedDate } + def "EntityAttributesFilter with invalid script does not result in persisting that filter"() { + def resolver = generator.buildRandomMetadataResolverOfType('FileBacked') + def resolverResourceId = resolver.resourceId + metadataResolverRepository.save(resolver) + MetadataResolver openSamlRepresentation = metadataResolverConverterService.convertToOpenSamlRepresentation(resolver) + OpenSamlChainingMetadataResolverUtil.updateChainingMetadataResolver((OpenSamlChainingMetadataResolver) chainingMetadataResolver, openSamlRepresentation) + def filter = new EntityAttributesFilter().with { + it.name = 'SHIBUI-1249' + it.resourceId = 'SHIBUI-1249' + it.entityAttributesFilterTarget = new EntityAttributesFilterTarget().with { + it.entityAttributesFilterTargetType = CONDITION_SCRIPT + it.singleValue = """ + echo('invalid; + """ + it + } + it + } + + when: + def result = restTemplate.postForEntity("$BASE_URI/$resolverResourceId/Filters", filter, String) + + then: + result.statusCodeValue == 400 + + when: + result = this.restTemplate.getForEntity("$BASE_URI/$resolverResourceId", Map) + + then: + result.body.metadataFilters.size == 0 + } + private HttpEntity createRequestHttpEntityFor(Closure jsonBodySupplier) { new HttpEntity(jsonBodySupplier(), ['Content-Type': 'application/json'] as HttpHeaders) } 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 new file mode 100644 index 000000000..32169b063 --- /dev/null +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerSchemaValidationIntegrationTests.groovy @@ -0,0 +1,102 @@ +package edu.internet2.tier.shibboleth.admin.ui.controller + +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository +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.http.HttpEntity +import org.springframework.http.HttpHeaders +import org.springframework.test.context.ActiveProfiles +import spock.lang.Specification + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +@ActiveProfiles(["no-auth", "dev"]) +class MetadataFiltersControllerSchemaValidationIntegrationTests extends Specification { + + @Autowired + private TestRestTemplate restTemplate + + @Autowired + MetadataResolverRepository metadataResolverRepository + + static RESOURCE_URI = '/api/MetadataResolvers/%s/Filters' + + private HTTP_POST = { body, resourceId -> + this.restTemplate.postForEntity(resourceUriFor(RESOURCE_URI, resourceId), createRequestHttpEntityFor(body), Map) + } + + private static checkJsonValidationIsPerformed = { + assert it.statusCodeValue == 400 + assert it.body.errorMessage.count('Type mistmatch for null') > 0 + assert it.body.errorMessage.count('Type mistmatch for "not-a-boolean"') > 0 + true + } + + def 'POST for EntityAttributesFilter with invalid payload according to schema validation'() { + given: + def resolver = metadataResolverRepository.save(new DynamicHttpMetadataResolver(name: 'dmr')) + def postedJsonBody = """ + { + "name" : "EntityAttributes", + "filterEnabled" : "not-a-boolean", + "entityAttributesFilterTarget" : { + "entityAttributesFilterTargetType" : "ENTITY", + "value" : [ "CedewbJJET" ] + }, + "attributeRelease" : [ "9ktPyjjiCn" ], + "relyingPartyOverrides" : { + "signAssertion" : false, + "dontSignResponse" : true, + "turnOffEncryption" : true, + "useSha" : false, + "ignoreAuthenticationMethod" : false, + "omitNotBefore" : true, + "responderId" : null, + "nameIdFormats" : [ ], + "authenticationMethods" : [ ] + }, + "@type" : "EntityAttributes" + } + """ + + when: + def result = HTTP_POST(postedJsonBody, resolver.resourceId) + + then: + checkJsonValidationIsPerformed(result) + + } + + def 'POST for NameIdFormatFilter with invalid payload according to schema validation'() { + given: + def resolver = metadataResolverRepository.save(new FileBackedHttpMetadataResolver(name: 'fbmr', backingFile: '/tmp/metadata.xml')) + def postedJsonBody = """ + { + "name" : null, + "filterEnabled" : "not-a-boolean", + "removeExistingFormats" : false, + "formats" : [ "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" ], + "nameIdFormatFilterTarget" : { + "nameIdFormatFilterTargetType" : "ENTITY", + "value" : [ "https://sp1.example.org" ] + }, + "@type" : "NameIDFormat" + }""" + + when: + def result = HTTP_POST(postedJsonBody, resolver.resourceId) + + then: + checkJsonValidationIsPerformed(result) + } + + private static HttpEntity createRequestHttpEntityFor(String jsonBody) { + new HttpEntity(jsonBody, ['Content-Type': 'application/json'] as HttpHeaders) + } + + private static resourceUriFor(String uriTemplate, String resourceId) { + String.format(uriTemplate, resourceId) + } +} 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 new file mode 100644 index 000000000..d26b90cb5 --- /dev/null +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolverControllerSchemaValidationIntegrationTests.groovy @@ -0,0 +1,151 @@ +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.http.HttpEntity +import org.springframework.http.HttpHeaders +import org.springframework.test.context.ActiveProfiles +import spock.lang.Specification + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +@ActiveProfiles(["no-auth", "dev"]) +class MetadataResolverControllerSchemaValidationIntegrationTests extends Specification { + + @Autowired + private TestRestTemplate restTemplate + + static RESOURCE_URI = '/api/MetadataResolvers' + + private HTTP_POST = { body -> + this.restTemplate.postForEntity(RESOURCE_URI, createRequestHttpEntityFor(body), Map) + } + + private static checkJsonValidationIsPerformed = { + assert it.statusCodeValue == 400 + assert it.body.errorMessage.count('Type mistmatch for null') > 0 + true + } + + def 'POST for LocalDynamicMetadataResolver with invalid payload according to schema validation'() { + given: + def postedJsonBody = """ + { + "createdDate" : null, + "modifiedDate" : null, + "createdBy" : null, + "modifiedBy" : null, + "name" : null, + "requireValidMetadata" : true, + "failFastInitialization" : true, + "sortKey" : null, + "criterionPredicateRegistryRef" : null, + "useDefaultPredicateRegistry" : true, + "satisfyAnyPredicates" : false, + "metadataFilters" : [ { + "createdDate" : null, + "modifiedDate" : null, + "createdBy" : null, + "modifiedBy" : null, + "name" : "EntityAttributes", + "filterEnabled" : false, + "version" : 463855403, + "entityAttributesFilterTarget" : { + "createdDate" : null, + "modifiedDate" : null, + "createdBy" : null, + "modifiedBy" : null, + "entityAttributesFilterTargetType" : "ENTITY", + "value" : [ "CedewbJJET" ], + "audId" : null + }, + "attributeRelease" : [ "9ktPyjjiCn" ], + "relyingPartyOverrides" : { + "signAssertion" : false, + "dontSignResponse" : true, + "turnOffEncryption" : true, + "useSha" : false, + "ignoreAuthenticationMethod" : false, + "omitNotBefore" : true, + "responderId" : null, + "nameIdFormats" : [ ], + "authenticationMethods" : [ ] + }, + "audId" : null, + "@type" : "EntityAttributes" + }, { + "createdDate" : null, + "modifiedDate" : null, + "createdBy" : null, + "modifiedBy" : null, + "name" : "EntityRoleWhiteList", + "filterEnabled" : false, + "version" : 0, + "removeRolelessEntityDescriptors" : true, + "removeEmptyEntitiesDescriptors" : true, + "retainedRoles" : [ "role1", "role2" ], + "audId" : null, + "@type" : "EntityRoleWhiteList" + } ], + "version" : 0, + "sourceDirectory" : "dir", + "sourceManagerRef" : null, + "sourceKeyGeneratorRef" : null, + "audId" : null, + "@type" : "LocalDynamicMetadataResolver" + } + """ + + when: + def result = HTTP_POST(postedJsonBody) + + then: + checkJsonValidationIsPerformed(result) + + } + + def 'POST for DynamicHttpMetadataResolver with invalid payload according to schema validation'() { + given: + def postedJsonBody = """ + { + "name" : null, + "xmlId": "123", + "metadataURL": "http://metadata", + "metadataRequestURLConstructionScheme": {"@type": "MetadataQueryProtocol", "content": "scheme"}, + "@type" : "DynamicHttpMetadataResolver" + } + """ + + when: + def result = HTTP_POST(postedJsonBody) + + then: + checkJsonValidationIsPerformed(result) + + } + + def 'POST for FilesystemMetadataResolver with invalid payload according to schema validation'() { + given: + def postedJsonBody = """ + { + "name" : null, + "xmlId": "123", + "metadataFile": "%{shib.home}/metadata.xml", + "@type" : "FilesystemMetadataResolver" + } + """ + + when: + def result = HTTP_POST(postedJsonBody) + + then: + checkJsonValidationIsPerformed(result) + + } + + private static HttpEntity createRequestHttpEntityFor(String jsonBody) { + new HttpEntity(jsonBody, ['Content-Type': 'application/json'] as HttpHeaders) + } + + +} diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversControllerIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversControllerIntegrationTests.groovy index d22902e30..fda3a547c 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversControllerIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversControllerIntegrationTests.groovy @@ -8,6 +8,7 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFil import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.LocalDynamicMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataQueryProtocolScheme import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlChainingMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator @@ -27,6 +28,7 @@ import org.springframework.test.context.ActiveProfiles import spock.lang.Specification import spock.lang.Unroll +import static com.fasterxml.jackson.annotation.JsonInclude.Include.* import static org.springframework.http.HttpMethod.PUT /** @@ -59,7 +61,9 @@ class MetadataResolversControllerIntegrationTests extends Specification { generator = new TestObjectGenerator(attributeUtility, customPropertiesConfiguration) mapper = new ObjectMapper() mapper.enable(SerializationFeature.INDENT_OUTPUT) + mapper.setSerializationInclusion(NON_NULL) mapper.registerModule(new JavaTimeModule()) + metadataResolverRepository.deleteAll() } def cleanup() { @@ -254,7 +258,13 @@ class MetadataResolversControllerIntegrationTests extends Specification { def "PUT concrete MetadataResolver with version conflict -> /api/MetadataResolvers/{resourceId}"() { given: 'One resolver is available in data store' def resolver = new DynamicHttpMetadataResolver().with { - it.name = 'Test DynamicHttpMetadataResolver' + it.name = 'DynamicHTTP' + it.xmlId = 'DynamicHTTP' + it.metadataRequestURLConstructionScheme = new MetadataQueryProtocolScheme().with { + it.transformRef = 'transformRef' + it.content = 'content' + it + } it } def resolverResourceId = resolver.resourceId diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/OpenSamlFileBackedHTTPMetadataResolverTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/OpenSamlFileBackedHTTPMetadataResolverTests.groovy new file mode 100644 index 000000000..2a7ef7f7b --- /dev/null +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/OpenSamlFileBackedHTTPMetadataResolverTests.groovy @@ -0,0 +1,27 @@ +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers + +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlFileBackedHTTPMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects +import edu.internet2.tier.shibboleth.admin.ui.service.TokenPlaceholderValueResolvingService +import edu.internet2.tier.shibboleth.admin.util.TokenPlaceholderResolvers +import org.springframework.core.env.MutablePropertySources +import spock.lang.Specification + +class OpenSamlFileBackedHTTPMetadataResolverTests extends Specification { + def openSamlObjects = new OpenSamlObjects().with { + init() + it + } + + def "test refresh"() { + when: + new TokenPlaceholderResolvers(TokenPlaceholderValueResolvingService.shibbolethPlaceholderPrefixAware(new MutablePropertySources())) + def fbhmr = new FileBackedHttpMetadataResolver(name: 'test', xmlId: 'test', metadataURL: 'http://testme', backingFile: 'metadata/testme.xml') + + def x = new OpenSamlFileBackedHTTPMetadataResolver(openSamlObjects.parserPool, null, fbhmr) + x.refilter() + + then: + noExceptionThrown() + } +} diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/OpenSamlFilesystemMetadataResolverTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/OpenSamlFilesystemMetadataResolverTests.groovy new file mode 100644 index 000000000..f6669b32a --- /dev/null +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/OpenSamlFilesystemMetadataResolverTests.groovy @@ -0,0 +1,22 @@ +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers + +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlFilesystemMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects +import spock.lang.Specification + +class OpenSamlFilesystemMetadataResolverTests extends Specification { + def openSamlObjects = new OpenSamlObjects().with { + init() + it + } + + def "test refresh"() { + when: + def fsmr = new FilesystemMetadataResolver(name: 'test', xmlId: 'test', metadataFile: 'metadata/metadata.xml') + def x = new OpenSamlFilesystemMetadataResolver(openSamlObjects.parserPool, null, fsmr, new File(fsmr.metadataFile)) + x.refilter() + + then: + noExceptionThrown() + } +} diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/OpenSamlResourceBackedMetadataResolverTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/OpenSamlResourceBackedMetadataResolverTests.groovy new file mode 100644 index 000000000..28223b2f8 --- /dev/null +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/OpenSamlResourceBackedMetadataResolverTests.groovy @@ -0,0 +1,24 @@ +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers + +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlResourceBackedMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects +import net.shibboleth.ext.spring.resource.ResourceHelper +import org.springframework.core.io.ClassPathResource +import spock.lang.Specification + +class OpenSamlResourceBackedMetadataResolverTests extends Specification { + def openSamlObjects = new OpenSamlObjects().with { + init() + it + } + + def 'test refresh'() { + when: + def rbmr = new ResourceBackedMetadataResolver(name: 'test', xmlId: 'test', classpathMetadataResource: new ClasspathMetadataResource('metadata/metadata.xml')) + def x = new OpenSamlResourceBackedMetadataResolver(openSamlObjects.parserPool, null, rbmr, ResourceHelper.of(new ClassPathResource(rbmr.classpathMetadataResource.file))) + x.refilter() + + then: + noExceptionThrown() + } +} diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/MetadataResolverRepositoryTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/MetadataResolverRepositoryTests.groovy index 62c3b83ab..a0ba13aca 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/MetadataResolverRepositoryTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/MetadataResolverRepositoryTests.groovy @@ -26,6 +26,8 @@ import spock.lang.Specification import javax.persistence.EntityManager +import static edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilterTarget.EntityAttributesFilterTargetType.CONDITION_SCRIPT + /** * Testing persistence of the MetadataResolver models */ @@ -200,7 +202,31 @@ class MetadataResolverRepositoryTests extends Specification { basicPersistenceOfResolverIsCorrectFor { it instanceof LocalDynamicMetadataResolver } } + def "persisting entity attributes filter target with script of 760 max chars, as defied in DB schema mapping"() { + given: + def mdr = new MetadataResolver().with { + it.name = "SHIBUI-1588" + it + } + def filter = new EntityAttributesFilter().with { + it.name = 'SHIBUI-1588' + it.resourceId = 'SHIBUI-1588' + it.entityAttributesFilterTarget = new EntityAttributesFilterTarget().with { + it.entityAttributesFilterTargetType = CONDITION_SCRIPT + it.singleValue = '/*' + ('X' * 756) + '*/' + it + } + it + } + mdr.addFilter(filter) + when: + metadataResolverRepository.save(mdr) + entityManager.flush() + + then: + noExceptionThrown() + } private void basicPersistenceOfResolverIsCorrectFor(Closure resolverTypeCheck) { assert metadataResolverRepository.findAll().size() > 0 @@ -229,5 +255,4 @@ class MetadataResolverRepositoryTests extends Specification { } resolver } - } diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests.groovy index 1c1778c60..6b5fd4214 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests.groovy @@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper import edu.internet2.tier.shibboleth.admin.ui.ShibbolethUiApplication import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration +import edu.internet2.tier.shibboleth.admin.ui.domain.Attribute import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor import edu.internet2.tier.shibboleth.admin.ui.domain.XSAny import edu.internet2.tier.shibboleth.admin.ui.domain.XSAnyBuilder @@ -25,6 +26,7 @@ import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService import edu.internet2.tier.shibboleth.admin.ui.util.RandomGenerator import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator import edu.internet2.tier.shibboleth.admin.util.AttributeUtility +import org.opensaml.saml.ext.saml2mdattr.EntityAttributes import org.skyscreamer.jsonassert.JSONAssert import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest @@ -877,6 +879,31 @@ class JPAEntityDescriptorServiceImplTests extends Specification { assert representation.relyingPartyOverrides.get('ignoreAuthenticationMethod') instanceof Boolean } + def "SHIBUI-1522"() { + when: + EntityDescriptor inputEd = openSamlObjects.unmarshalFromXml this.class.getResource('/metadata/SHIBUI-1522.xml').bytes + EntityDescriptorRepresentation edr = service.createRepresentationFromDescriptor(inputEd) + edr.relyingPartyOverrides = [nameIdFormats: [], authenticationMethods: []] + EntityDescriptor outputEd = service.createDescriptorFromRepresentation(edr) + + then: + outputEd.getExtensions().unknownXMLObjects[0].attributes.size() == 0 + + when: + edr.relyingPartyOverrides = [nameIdFormats: ['format1', 'format2']] + outputEd = service.createDescriptorFromRepresentation(edr) + + then: + outputEd.getExtensions().unknownXMLObjects[0].attributes.size() == 1 + + when: + edr.relyingPartyOverrides = [nameIdFormats: ['format1', 'format2'], authenticationMethods: ['auth1', 'auth2']] + outputEd = service.createDescriptorFromRepresentation(edr) + + then: + outputEd.getExtensions().unknownXMLObjects[0].attributes.size() == 2 + } + EntityDescriptor generateRandomEntityDescriptor() { EntityDescriptor ed = new EntityDescriptor() diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImplTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImplTests.groovy index 46c0492e8..9470b6046 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImplTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImplTests.groovy @@ -12,6 +12,7 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.filters.MetadataFilter import edu.internet2.tier.shibboleth.admin.ui.domain.filters.RequiredValidUntilFilter import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ClasspathMetadataResource import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FilesystemMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.LocalDynamicMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataQueryProtocolScheme import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.RegexScheme diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolverConverterServiceImplTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolverConverterServiceImplTests.groovy new file mode 100644 index 000000000..8a261565e --- /dev/null +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolverConverterServiceImplTests.groovy @@ -0,0 +1,29 @@ +package edu.internet2.tier.shibboleth.admin.ui.service + +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicMetadataResolverAttributes +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.LocalDynamicMetadataResolver +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.test.context.SpringBootTest +import spock.lang.Specification + +@SpringBootTest +class MetadataResolverConverterServiceImplTests extends Specification { + + @Autowired + MetadataResolverConverterService mrConverterServiceUnderTest + + def "conversion to OpenSamlLocalDynamicMetadataResolver with source directory name matching existing file (non-directory) succeeds"() { + given: + LocalDynamicMetadataResolver mr = new LocalDynamicMetadataResolver().with { + it.name = 'SHIBUI-1639' + it.sourceDirectory = File.createTempFile('foo', null).absolutePath + it.dynamicMetadataResolverAttributes = new DynamicMetadataResolverAttributes() + it + } + when: + mrConverterServiceUnderTest.convertToOpenSamlRepresentation(mr) + + then: + noExceptionThrown() + } +} diff --git a/backend/src/test/resources/conf/1059.xml b/backend/src/test/resources/conf/1059.xml index 7610893be..4ad4263c1 100644 --- a/backend/src/test/resources/conf/1059.xml +++ b/backend/src/test/resources/conf/1059.xml @@ -12,6 +12,6 @@ initializeFromPersistentCacheInBackground="true" removeIdleEntityData="true" sourceDirectory="/tmp" - xsi:type="DynamicHttpMetadataProvider"> + xsi:type="LocalDynamicMetadataProvider"> \ No newline at end of file diff --git a/backend/src/test/resources/conf/278.2.xml b/backend/src/test/resources/conf/278.2.xml index 82a25f618..66704cbd9 100644 --- a/backend/src/test/resources/conf/278.2.xml +++ b/backend/src/test/resources/conf/278.2.xml @@ -1,66 +1,21 @@ - - - - - content - - - - - there - + + + content + + + + there + + https://sp1.example.org - + md:SPSSODescriptor - - - + + + + - - - - - \ No newline at end of file + diff --git a/backend/src/test/resources/conf/278.xml b/backend/src/test/resources/conf/278.xml index 6db6e5cfa..e5039cb99 100644 --- a/backend/src/test/resources/conf/278.xml +++ b/backend/src/test/resources/conf/278.xml @@ -1,58 +1,15 @@ - - - - - content - - - + + + content + + + md:SPSSODescriptor - + + + + - - - - - - \ No newline at end of file + diff --git a/backend/src/test/resources/conf/704.1.xml b/backend/src/test/resources/conf/704.1.xml index a7e5d63a0..20d53416f 100644 --- a/backend/src/test/resources/conf/704.1.xml +++ b/backend/src/test/resources/conf/704.1.xml @@ -1,5 +1,5 @@ - + some content - \ No newline at end of file + diff --git a/backend/src/test/resources/conf/704.2.xml b/backend/src/test/resources/conf/704.2.xml index 823b89de4..5178d0097 100644 --- a/backend/src/test/resources/conf/704.2.xml +++ b/backend/src/test/resources/conf/704.2.xml @@ -1,5 +1,5 @@ - + - \ No newline at end of file + diff --git a/backend/src/test/resources/conf/704.3.xml b/backend/src/test/resources/conf/704.3.xml index d7ce637d3..37ab29fee 100644 --- a/backend/src/test/resources/conf/704.3.xml +++ b/backend/src/test/resources/conf/704.3.xml @@ -1,5 +1,5 @@ - + some content - \ No newline at end of file + diff --git a/backend/src/test/resources/conf/984-2.xml b/backend/src/test/resources/conf/984-2.xml index 0c5749f10..639411c63 100644 --- a/backend/src/test/resources/conf/984-2.xml +++ b/backend/src/test/resources/conf/984-2.xml @@ -1,19 +1,11 @@ - - - + + http://mdq-beta.incommon.org/global - +