Skip to content

Commit

Permalink
SHIBUI-1262 [1305]
Browse files Browse the repository at this point in the history
  • Loading branch information
dima767 committed May 21, 2019
1 parent 729af52 commit acc9ce5
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ import edu.internet2.tier.shibboleth.admin.ui.security.model.Role
import edu.internet2.tier.shibboleth.admin.ui.security.model.User
import edu.internet2.tier.shibboleth.admin.ui.security.repository.RoleRepository
import edu.internet2.tier.shibboleth.admin.ui.security.repository.UserRepository
import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorService
import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorVersionService
import edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Profile
Expand Down Expand Up @@ -156,4 +158,10 @@ class DevConfig {
it
})
}

@Profile('dev-ed-versioning')
@Bean
EntityDescriptorVersionService stubEntityDescriptorVersionService(EntityDescriptorService entityDescriptorService) {
return EntityDescriptorVersionService.stubImpl(entityDescriptorService)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package edu.internet2.tier.shibboleth.admin.ui.configuration;

import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorService;
import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorVersionService;
import org.springframework.context.annotation.Configuration;

@Configuration
public class EntitiesVersioningConfiguration {

//@Bean
EntityDescriptorVersionService entityDescriptorVersionService(EntityDescriptorService entityDescriptorService) {
//TODO create real impl when available
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRepresentation;
import edu.internet2.tier.shibboleth.admin.ui.domain.versioning.Version;

import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;

/**
Expand All @@ -14,4 +16,27 @@ public interface EntityDescriptorVersionService {
List<Version> findVersionsForEntityDescriptor(String resourceId);

EntityDescriptorRepresentation findSpecificVersionOfEntityDescriptor(String resourceId, String versionId);

/* Factory method to return stub impl for dev and testing purposes */
static EntityDescriptorVersionService stubImpl(final EntityDescriptorService entityDescriptorService) {
return new EntityDescriptorVersionService() {
@Override
public List<Version> findVersionsForEntityDescriptor(String resourceId) {
return Arrays.asList(
new Version("1", "kramer", LocalDateTime.now().minusDays(10)),
new Version("2", "newman", LocalDateTime.now().minusDays(5))
);
}

@Override
public EntityDescriptorRepresentation findSpecificVersionOfEntityDescriptor(String resourceId, String versionId) {
EntityDescriptor ed = new EntityDescriptor();
ed.setID("1");
ed.setEntityID("http://versioning/stub");
ed.setCreatedBy("kramer");
ed.setCreatedDate(LocalDateTime.now().minusDays(10));
return entityDescriptorService.createRepresentationFromDescriptor(ed);
}
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package edu.internet2.tier.shibboleth.admin.ui.configuration

import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRepresentation
import edu.internet2.tier.shibboleth.admin.ui.domain.versioning.Version
import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorService
import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorVersionService
import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration

import java.time.LocalDateTime

@Configuration
class TestEntityDescriptorVersioningConfiguration {

@Autowired
EntityDescriptorService entityDescriptorService

@Bean
EntityDescriptorVersionService stubEntityDescriptorVersionService() {
return new EntityDescriptorVersionService() {
@Override
List<Version> findVersionsForEntityDescriptor(String resourceId) {
return [new Version(id: '1', creator: 'kramer', date: LocalDateTime.now().minusDays(3)),
new Version(id: '2', creator: 'newman', date: LocalDateTime.now())]
}

@Override
EntityDescriptorRepresentation findSpecificVersionOfEntityDescriptor(String resourceId, String versionId) {
return entityDescriptorService.createRepresentationFromDescriptor(new TestObjectGenerator().buildEntityDescriptor())
}
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -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.configuration.TestEntityDescriptorVersioningConfiguration
import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor
import edu.internet2.tier.shibboleth.admin.ui.domain.SPSSODescriptor
import edu.internet2.tier.shibboleth.admin.ui.domain.XSAny
Expand Down Expand Up @@ -40,7 +41,7 @@ import org.xmlunit.diff.ElementSelectors
import spock.lang.Ignore
import spock.lang.Specification

@ContextConfiguration(classes=[CoreShibUiConfiguration, CustomPropertiesConfiguration])
@ContextConfiguration(classes=[CoreShibUiConfiguration, CustomPropertiesConfiguration, TestEntityDescriptorVersioningConfiguration])
@SpringBootTest(classes = ShibbolethUiApplication.class, webEnvironment = SpringBootTest.WebEnvironment.NONE)
@PropertySource("classpath:application.yml")
class JPAEntityDescriptorServiceImplTests extends Specification {
Expand Down

0 comments on commit acc9ce5

Please sign in to comment.