Skip to content

Commit

Permalink
[SHIBUI-517]: SHIBUI-528
Browse files Browse the repository at this point in the history
  • Loading branch information
dima767 committed May 18, 2018
1 parent 4924bb3 commit e1e8fcc
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public class HttpMetadataResolverAttributes {
private String proxyPassword;

@Enumerated(STRING)
@Column(length = 5)
@Column(length = 6)
private HttpCachingType httpCaching;

private String httpCacheDirectory;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package edu.internet2.tier.shibboleth.admin.ui.repository;

import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver;
import org.springframework.data.repository.CrudRepository;

/**
* Spring Data CRUD repository for instances of {@link FileBackedHttpMetadataResolver}s.
*/
public interface FileBackedHttpMetadataResolverRepository extends CrudRepository<FileBackedHttpMetadataResolver, Long> {

FileBackedHttpMetadataResolver findByName(String name);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
package edu.internet2.tier.shibboleth.admin.ui.repository

import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration
import edu.internet2.tier.shibboleth.admin.ui.configuration.MetadataResolverConfiguration
import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration
import edu.internet2.tier.shibboleth.admin.ui.domain.EntityAttributesFilter
import edu.internet2.tier.shibboleth.admin.ui.domain.EntityAttributesFilterTarget
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.HttpMetadataResolverAttributes
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ReloadableMetadataResolverAttributes
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.autoconfigure.domain.EntityScan
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest
import org.springframework.data.jpa.repository.config.EnableJpaRepositories
import org.springframework.test.context.ContextConfiguration
import spock.lang.Specification

import static edu.internet2.tier.shibboleth.admin.ui.domain.EntityAttributesFilterTarget.EntityAttributesFilterTargetType.*
import static edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.HttpMetadataResolverAttributes.HttpCachingType.memory

@DataJpaTest
@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, MetadataResolverConfiguration])
@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"])
@EntityScan("edu.internet2.tier.shibboleth.admin.ui")
class FileBackedHttpMetadataResolverRepositoryTests extends Specification {

@Autowired
FileBackedHttpMetadataResolverRepository repositoryUnderTest

def "file backed http metadata resolver instances persist OK"() {
when:
def mdr = new FileBackedHttpMetadataResolver().with {
it.name = "FileBackedHttpMetadata"
it.httpMetadataResolverAttributes = new HttpMetadataResolverAttributes()
it.reloadableMetadataResolverAttributes = new ReloadableMetadataResolverAttributes()

it.httpMetadataResolverAttributes.connectionRequestTimeout = "PT05"
it.httpMetadataResolverAttributes.disregardTLSCertificate = true
it.httpMetadataResolverAttributes.httpCaching = memory
it.reloadableMetadataResolverAttributes.indexesRef = "indexesSpringBeanId"
it.metadataFilters.add(new EntityAttributesFilter().with {
it.entityAttributesFilterTarget = new EntityAttributesFilterTarget().with {
it.entityAttributesFilterTargetType = ENTITY
it.setValue(["hola"])
return it
}
return it
})
return it
}
repositoryUnderTest.save(mdr)

then:
repositoryUnderTest.findAll().size() > 0
FileBackedHttpMetadataResolver item = repositoryUnderTest.findByName("FileBackedHttpMetadata")

item.name == "FileBackedHttpMetadata"
item.metadataFilters.size() == 1
item.metadataFilters[0].entityAttributesFilterTarget.entityAttributesFilterTargetType == ENTITY
item.metadataFilters[0].entityAttributesFilterTarget.value.size() == 1
item.metadataFilters[0].entityAttributesFilterTarget.value.get(0) == "hola"
item.httpMetadataResolverAttributes.connectionRequestTimeout == "PT05"
item.httpMetadataResolverAttributes.disregardTLSCertificate
item.httpMetadataResolverAttributes.httpCaching == memory
item.reloadableMetadataResolverAttributes.indexesRef == "indexesSpringBeanId"
}
}

0 comments on commit e1e8fcc

Please sign in to comment.