Skip to content

Commit

Permalink
Merged in feature/shibui-1740 (pull request #503)
Browse files Browse the repository at this point in the history
Feature/shibui 1740

Approved-by: Dmitriy Kopylenko
Approved-by: Bill Smith
  • Loading branch information
Jonathan Johnson committed Aug 11, 2021
2 parents 37bdabc + 032cdb8 commit 0888d24
Show file tree
Hide file tree
Showing 105 changed files with 6,904 additions and 2,332 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.ServiceProviderSso
import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects
import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorRepository
import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorService
import edu.internet2.tier.shibboleth.admin.util.EntityDescriptorConversionUtils
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.autoconfigure.domain.EntityScan
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest
Expand Down Expand Up @@ -80,6 +81,10 @@ class EntityDescriptorEnversVersioningTests extends Specification {

@Autowired
OpenSamlObjects openSamlObjects

def setup() {
EntityDescriptorConversionUtils.openSamlObjects = openSamlObjects
}

def "test versioning with contact persons"() {
setup:
Expand Down Expand Up @@ -303,7 +308,7 @@ class EntityDescriptorEnversVersioningTests extends Specification {
entityManager)

//Groovy FTW - able to call any private methods on ANY object. Get first revision
UIInfo uiinfo = entityDescriptorService.getUIInfo(getTargetEntityForRevisionIndex(entityDescriptorHistory, 0))
UIInfo uiinfo = EntityDescriptorConversionUtils.getUIInfo(getTargetEntityForRevisionIndex(entityDescriptorHistory, 0))

then:
entityDescriptorHistory.size() == 1
Expand Down Expand Up @@ -336,9 +341,9 @@ class EntityDescriptorEnversVersioningTests extends Specification {
entityManager)

//Get second revision
uiinfo = entityDescriptorService.getUIInfo(getTargetEntityForRevisionIndex(entityDescriptorHistory, 1))
uiinfo = EntityDescriptorConversionUtils.getUIInfo(getTargetEntityForRevisionIndex(entityDescriptorHistory, 1))
//And initial revision
def uiinfoInitialRevision = entityDescriptorService.getUIInfo(getTargetEntityForRevisionIndex(entityDescriptorHistory, 0))
def uiinfoInitialRevision = EntityDescriptorConversionUtils.getUIInfo(getTargetEntityForRevisionIndex(entityDescriptorHistory, 0))

then:
entityDescriptorHistory.size() == 2
Expand Down Expand Up @@ -389,7 +394,7 @@ class EntityDescriptorEnversVersioningTests extends Specification {

//Get initial revision
SPSSODescriptor spssoDescriptor =
entityDescriptorService.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory,0))
EntityDescriptorConversionUtils.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory,0))

KeyDescriptor keyDescriptor = spssoDescriptor.keyDescriptors[0]
X509Certificate x509cert = keyDescriptor.keyInfo.x509Datas[0].x509Certificates[0]
Expand Down Expand Up @@ -421,7 +426,7 @@ class EntityDescriptorEnversVersioningTests extends Specification {


//Get second revision
SPSSODescriptor spssoDescriptor_second = entityDescriptorService.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory,1))
SPSSODescriptor spssoDescriptor_second = EntityDescriptorConversionUtils.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory,1))

KeyDescriptor keyDescriptor_second1 = spssoDescriptor_second.keyDescriptors[0]
X509Certificate x509cert_second1 = keyDescriptor_second1.keyInfo.x509Datas[0].x509Certificates[0]
Expand All @@ -431,7 +436,7 @@ class EntityDescriptorEnversVersioningTests extends Specification {

//Get initial revision
spssoDescriptor =
entityDescriptorService.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory,0))
EntityDescriptorConversionUtils.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory,0))

keyDescriptor = spssoDescriptor.keyDescriptors[0]
x509cert = keyDescriptor.keyInfo.x509Datas[0].x509Certificates[0]
Expand Down Expand Up @@ -475,7 +480,7 @@ class EntityDescriptorEnversVersioningTests extends Specification {
entityManager)

SPSSODescriptor spssoDescriptor =
entityDescriptorService.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory,0))
EntityDescriptorConversionUtils.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory,0))
AssertionConsumerService acs = spssoDescriptor.assertionConsumerServices[0]

then:
Expand All @@ -500,12 +505,12 @@ class EntityDescriptorEnversVersioningTests extends Specification {
entityManager)

SPSSODescriptor spssoDescriptor2 =
entityDescriptorService.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory,1))
EntityDescriptorConversionUtils.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory,1))
def (acs1, acs2) = [spssoDescriptor2.assertionConsumerServices[0], spssoDescriptor2.assertionConsumerServices[1]]

//Initial revision
spssoDescriptor =
entityDescriptorService.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory,0))
EntityDescriptorConversionUtils.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory,0))
acs = spssoDescriptor.assertionConsumerServices[0]

then:
Expand Down Expand Up @@ -543,7 +548,7 @@ class EntityDescriptorEnversVersioningTests extends Specification {
entityManager)

SPSSODescriptor spssoDescriptor =
entityDescriptorService.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory, 0))
EntityDescriptorConversionUtils.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory, 0))
SingleLogoutService slo = spssoDescriptor.singleLogoutServices[0]

then:
Expand All @@ -565,12 +570,12 @@ class EntityDescriptorEnversVersioningTests extends Specification {
entityManager)

SPSSODescriptor spssoDescriptor2 =
entityDescriptorService.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory, 1))
EntityDescriptorConversionUtils.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory, 1))
def (slo1, slo2) = [spssoDescriptor2.singleLogoutServices[0], spssoDescriptor2.singleLogoutServices[1]]

//Initial revision
spssoDescriptor =
entityDescriptorService.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory, 0))
EntityDescriptorConversionUtils.getSPSSODescriptorFromEntityDescriptor(getTargetEntityForRevisionIndex(entityDescriptorHistory, 0))
slo = spssoDescriptor.singleLogoutServices[0]

then:
Expand Down Expand Up @@ -608,7 +613,7 @@ class EntityDescriptorEnversVersioningTests extends Specification {
txMgr,
entityManager)

EntityAttributes attrs = entityDescriptorService.getEntityAttributes(getTargetEntityForRevisionIndex(entityDescriptorHistory, 0))
EntityAttributes attrs = EntityDescriptorConversionUtils.getEntityAttributes(getTargetEntityForRevisionIndex(entityDescriptorHistory, 0))

then:
entityDescriptorHistory.size() == 1
Expand All @@ -628,10 +633,10 @@ class EntityDescriptorEnversVersioningTests extends Specification {
txMgr,
entityManager)

EntityAttributes attrs2 = entityDescriptorService.getEntityAttributes(getTargetEntityForRevisionIndex(entityDescriptorHistory, 1))
EntityAttributes attrs2 = EntityDescriptorConversionUtils.getEntityAttributes(getTargetEntityForRevisionIndex(entityDescriptorHistory, 1))

//Initial revision
attrs = entityDescriptorService.getEntityAttributes(getTargetEntityForRevisionIndex(entityDescriptorHistory, 0))
attrs = EntityDescriptorConversionUtils.getEntityAttributes(getTargetEntityForRevisionIndex(entityDescriptorHistory, 0))

expectedModifiedPersistentEntities = [EntityDescriptor.name,
EntityAttributes.name,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import edu.internet2.tier.shibboleth.admin.ui.configuration.Internationalization
import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration
import edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration
import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor
import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException
import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorRepository
import edu.internet2.tier.shibboleth.admin.ui.repository.envers.EnversTestsSupport
import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorService
Expand Down Expand Up @@ -108,15 +109,20 @@ class EnversEntityDescriptorVersionServiceTests extends Specification {
v2EdRepresentation.id == ed.resourceId
}

def "versioning service returns null for non existent version number"() {
def "versioning service throws EntityNotFoundException for non existent version number"() {
when: 'Initial version'
EntityDescriptor ed = new EntityDescriptor(entityID: 'ed', serviceProviderName: 'SP1', createdBy: 'anonymousUser')
ed = edu.internet2.tier.shibboleth.admin.ui.repository.envers.EnversTestsSupport.doInExplicitTransaction(txMgr) {
entityDescriptorRepository.save(ed)
}
def edRepresentation = entityDescriptorVersionService.findSpecificVersionOfEntityDescriptor(ed.resourceId, '1000')


then:
!edRepresentation
try {
def edRepresentation = entityDescriptorVersionService.findSpecificVersionOfEntityDescriptor(ed.resourceId, '1000')
1 == 2
}
catch (EntityNotFoundException expected) {
1 == 1
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import java.nio.file.Paths

//TODO: make config configurable
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = [ShibbolethUiApplication])
@ActiveProfiles(['dev'])
@ActiveProfiles(['dev', 'very-dangerous'])
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD, methodMode = DirtiesContext.MethodMode.AFTER_METHOD)
class SeleniumSIDETest extends Specification {
@Value('${local.server.port}')
Expand Down Expand Up @@ -101,7 +101,7 @@ class SeleniumSIDETest extends Specification {
// 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 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'
Expand All @@ -124,9 +124,13 @@ class SeleniumSIDETest extends Specification {
'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'
'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'*/
'SHIBUI-1740: Group can be created, edited, deleted' | '/SHIBUI-1740-1.side'
'SHIBUI-1740: Verify dev profile group membership' | '/SHIBUI-1740-2.side'
'SHIBUI-1740: Verify admin-owned resource not visible to nonadmins' | '/SHIBUI-1740-3.side'
'SHIBUI-1740: Verify nonadmin-owned resource visibility' | '/SHIBUI-1740-4.side'
}
}

Loading

0 comments on commit 0888d24

Please sign in to comment.