// Path: mujina-sp/src/main/java/mujina/api/SpConfiguration.java
// @Component
// @Getter
// @Setter
// public class SpConfiguration extends SharedConfiguration {
// 
//   private String defaultEntityId;
// 
//   private String defaultIdpSSOServiceURL;
//   private String idpSSOServiceURL;
//   private String defaultProtocolBinding;
//   private String protocolBinding;
//   private String defaultAssertionConsumerServiceURL;
//   private boolean defaultNeedsSigning;
//   private String assertionConsumerServiceURL;
//   private String spPrivateKey;
//   private String spCertificate;
// 
//   @Autowired
//   public SpConfiguration(JKSKeyManager keyManager,
//                          @Value("${sp.base_url}") String spBaseUrl,
//                          @Value("${sp.entity_id}") String defaultEntityId,
//                          @Value("${sp.single_sign_on_service_location}") String defaultIdpSSOServiceURL,
//                          @Value("${sp.acs_location_path}") String defaultAssertionConsumerServiceURLPath,
//                          @Value("${sp.protocol_binding}") String defaultProtocolBinding,
//                          @Value("${sp.private_key}") String spPrivateKey,
//                          @Value("${sp.certificate}") String spCertificate,
//                          @Value("${sp.needs_signing}") boolean needsSigning) {
//     super(keyManager);
//     this.setDefaultEntityId(defaultEntityId);
//     this.setDefaultIdpSSOServiceURL(defaultIdpSSOServiceURL);
//     this.setDefaultAssertionConsumerServiceURL(spBaseUrl + defaultAssertionConsumerServiceURLPath);
//     this.setDefaultProtocolBinding(defaultProtocolBinding);
//     this.setSpPrivateKey(spPrivateKey);
//     this.setSpCertificate(spCertificate);
//     this.setDefaultNeedsSigning(needsSigning);
//     reset();
//   }
// 
//   @Override
//   public void reset() {
//     setEntityId(defaultEntityId, false);
//     setNeedsSigning(defaultNeedsSigning);
//     resetKeyStore(defaultEntityId, spPrivateKey, spCertificate);
//     setIdpSSOServiceURL(defaultIdpSSOServiceURL);
//     setProtocolBinding(defaultProtocolBinding);
//     setAssertionConsumerServiceURL(defaultAssertionConsumerServiceURL);
//     setSignatureAlgorithm(getDefaultSignatureAlgorithm());
//   }
// 
// }


import io.restassured.RestAssured;
import io.restassured.filter.cookie.CookieFilter;
import mujina.api.SpConfiguration;
import org.apache.commons.io.IOUtils;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.core.io.ClassPathResource;
import org.springframework.test.context.junit4.SpringRunner;
import java.io.IOException;
import java.nio.charset.Charset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Base64;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static io.restassured.RestAssured.given;
import static org.apache.http.HttpStatus.SC_MOVED_TEMPORARILY;
import static org.apache.http.HttpStatus.SC_OK;
import static org.junit.Assert.assertTrue;
package mujina;




@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public abstract class AbstractIntegrationTest {

  @Autowired
// Path: mujina-sp/src/main/java/mujina/api/SpConfiguration.java
// @Component
// @Getter
// @Setter
// public class SpConfiguration extends SharedConfiguration {
// 
//   private String defaultEntityId;
// 
//   private String defaultIdpSSOServiceURL;
//   private String idpSSOServiceURL;
//   private String defaultProtocolBinding;
//   private String protocolBinding;
//   private String defaultAssertionConsumerServiceURL;
//   private boolean defaultNeedsSigning;
//   private String assertionConsumerServiceURL;
//   private String spPrivateKey;
//   private String spCertificate;
// 
//   @Autowired
//   public SpConfiguration(JKSKeyManager keyManager,
//                          @Value("${sp.base_url}") String spBaseUrl,
//                          @Value("${sp.entity_id}") String defaultEntityId,
//                          @Value("${sp.single_sign_on_service_location}") String defaultIdpSSOServiceURL,
//                          @Value("${sp.acs_location_path}") String defaultAssertionConsumerServiceURLPath,
//                          @Value("${sp.protocol_binding}") String defaultProtocolBinding,
//                          @Value("${sp.private_key}") String spPrivateKey,
//                          @Value("${sp.certificate}") String spCertificate,
//                          @Value("${sp.needs_signing}") boolean needsSigning) {
//     super(keyManager);
//     this.setDefaultEntityId(defaultEntityId);
//     this.setDefaultIdpSSOServiceURL(defaultIdpSSOServiceURL);
//     this.setDefaultAssertionConsumerServiceURL(spBaseUrl + defaultAssertionConsumerServiceURLPath);
//     this.setDefaultProtocolBinding(defaultProtocolBinding);
//     this.setSpPrivateKey(spPrivateKey);
//     this.setSpCertificate(spCertificate);
//     this.setDefaultNeedsSigning(needsSigning);
//     reset();
//   }
// 
//   @Override
//   public void reset() {
//     setEntityId(defaultEntityId, false);
//     setNeedsSigning(defaultNeedsSigning);
//     resetKeyStore(defaultEntityId, spPrivateKey, spCertificate);
//     setIdpSSOServiceURL(defaultIdpSSOServiceURL);
//     setProtocolBinding(defaultProtocolBinding);
//     setAssertionConsumerServiceURL(defaultAssertionConsumerServiceURL);
//     setSignatureAlgorithm(getDefaultSignatureAlgorithm());
//   }
// 
// }


// Path: mujina-sp/src/test/java/mujina/AbstractIntegrationTest.java
import io.restassured.RestAssured;
import io.restassured.filter.cookie.CookieFilter;
import mujina.api.SpConfiguration;
import org.apache.commons.io.IOUtils;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.core.io.ClassPathResource;
import org.springframework.test.context.junit4.SpringRunner;
import java.io.IOException;
import java.nio.charset.Charset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Base64;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static io.restassured.RestAssured.given;
import static org.apache.http.HttpStatus.SC_MOVED_TEMPORARILY;
import static org.apache.http.HttpStatus.SC_OK;
import static org.junit.Assert.assertTrue;

package mujina;




@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public abstract class AbstractIntegrationTest {

  @Autowired
  protected SpConfiguration spConfiguration;