self.config = get_config(self.rp_base, PROVIDER) self.rp_config = RpConfig(self.config) @staticmethod def get_instance(): """ Returns an instance of the singleton class. """ if not TestConfiguration._instance: TestConfiguration._instance = TestConfiguration() return TestConfiguration._instance CLIENT_ID = "client_1" _, idp_key_file = FileGenerator.get_instance().generate_cert("idp") KC_RSA = keybundle_from_local_file( idp_key_file.name, "RSA", ["ver", "sig"], "op_sign" ) KEYJAR = KeyJar() KEYJAR[CLIENT_ID] = [KC_RSA] KEYJAR[""] = KC_RSA JWKS = KEYJAR.export_jwks() CDB = { CLIENT_ID: { "client_secret": "client_secret", "redirect_uris": [("%sauthz" % TestConfiguration.get_instance().rp_base, None)],
self.config = get_config(self.rp_base, PROVIDER) self.rp_config = RpConfig(self.config) @staticmethod def get_instance(): """ Returns an instance of the singleton class. """ if not TestConfiguration._instance: TestConfiguration._instance = TestConfiguration() return TestConfiguration._instance CLIENT_ID = "client_1" _, idp_key_file = FileGenerator.get_instance().generate_cert("idp") KC_RSA = keybundle_from_local_file(idp_key_file.name, "RSA", ["ver", "sig"], "op_sign") KEYJAR = KeyJar() KEYJAR[CLIENT_ID] = [KC_RSA] KEYJAR[""] = KC_RSA JWKS = KEYJAR.export_jwks() CDB = { CLIENT_ID: { "client_secret": "client_secret", "redirect_uris": [("%sauthz" % TestConfiguration.get_instance().rp_base, None)], "client_salt": "salted",
def __init__(self): if TestConfiguration._instance: raise TypeError('Singletons must be accessed through `get_instance()`.') else: TestConfiguration._instance = self # Add test directory to path to be able to import configurations sys.path.append(os.path.dirname(__file__)) if os.path.isfile("/usr/bin/xmlsec1"): self.xmlsec_path = "/usr/bin/xmlsec1" elif os.path.isfile("/usr/local/bin/xmlsec1"): self.xmlsec_path = "/usr/local/bin/xmlsec1" proxy_config_dict = {"BASE": "https://localhost:8090", "COOKIE_STATE_NAME": "TEST_STATE", "STATE_ENCRYPTION_KEY": "ASDasd123", "PLUGIN_PATH": [os.path.dirname(__file__)], "BACKEND_MODULES": [inspect.getmodulename(__file__)], "FRONTEND_MODULES": [inspect.getmodulename(__file__)], "USER_ID_HASH_SALT": "qwerty", "INTERNAL_ATTRIBUTES": INTERNAL_ATTRIBUTES} self.proxy_config = SATOSAConfig(proxy_config_dict) frontend_metadata = [] backend_metadata = [] self.fake_idp_metadata = [] self.fake_sp_metadata = [] self.backend_cert, self.backend_key = \ FileGenerator.get_instance().generate_cert("Saml2Backend") self.frontend_cert, self.frontend_key = \ FileGenerator.get_instance().generate_cert("Saml2Frontend") fake_idp_base = "https://example.com" fake_idp_cert, fake_idp_key = FileGenerator.get_instance().generate_cert("fake_idp") self.fake_idp_config = { "entityid": "{}/unittest_idp.xml".format(fake_idp_base), "service": { "idp": { "endpoints": { "single_sign_on_service": [ ("%s/sso/post" % fake_idp_base, BINDING_HTTP_POST), ("%s/sso/redirect" % fake_idp_base, BINDING_HTTP_REDIRECT), ], }, }, }, "key_file": fake_idp_key.name, "cert_file": fake_idp_cert.name, "metadata": { "local": backend_metadata, }, "xmlsec_binary": self.xmlsec_path, } fake_sp_base = "http://example.com" fake_sp_cert, fake_sp_key = FileGenerator.get_instance().generate_cert("fake_sp") self.fake_sp_config = { "entityid": "{}/unittest_sp.xml".format(fake_sp_base), "service": { "sp": { "endpoints": { "assertion_consumer_service": [ ("%s/acs/redirect" % fake_sp_base, BINDING_HTTP_REDIRECT), ("%s/acs/post" % fake_sp_base, BINDING_HTTP_POST) ], }, "allow_unsolicited": "true", }, }, "key_file": fake_sp_key.name, "cert_file": fake_sp_cert.name, "metadata": { "local": frontend_metadata, }, "xmlsec_binary": self.xmlsec_path, } fake_idp_metadata_file = FileGenerator.get_instance().create_metadata( self.fake_idp_config, "fake_idp") fake_sp_metadata_file = FileGenerator.get_instance().create_metadata( self.fake_sp_config, "fake_sp") frontend_metadata_file = FileGenerator.get_instance().create_metadata( Saml2FrontendPlugin(self.proxy_config.BASE).config["idp_config"], "frontend") backend_metadata_file = FileGenerator.get_instance().create_metadata( Saml2BackendPlugin(self.proxy_config.BASE).config["config"], "backend") self.fake_idp_metadata.append(fake_idp_metadata_file.name) self.fake_sp_metadata.append(fake_sp_metadata_file.name) frontend_metadata.append(frontend_metadata_file.name) backend_metadata.append(backend_metadata_file.name)
def __init__(self): if TestConfiguration._instance: raise TypeError( 'Singletons must be accessed through `get_instance()`.') else: TestConfiguration._instance = self # Add test directory to path to be able to import configurations sys.path.append(os.path.dirname(__file__)) if os.path.isfile("/usr/bin/xmlsec1"): self.xmlsec_path = "/usr/bin/xmlsec1" elif os.path.isfile("/usr/local/bin/xmlsec1"): self.xmlsec_path = "/usr/local/bin/xmlsec1" proxy_config_dict = { "BASE": "https://localhost:8090", "COOKIE_STATE_NAME": "TEST_STATE", "STATE_ENCRYPTION_KEY": "ASDasd123", "PLUGIN_PATH": [os.path.dirname(__file__)], "BACKEND_MODULES": [inspect.getmodulename(__file__)], "FRONTEND_MODULES": [inspect.getmodulename(__file__)], "USER_ID_HASH_SALT": "qwerty", "INTERNAL_ATTRIBUTES": INTERNAL_ATTRIBUTES } self.proxy_config = SATOSAConfig(proxy_config_dict) frontend_metadata = [] backend_metadata = [] self.fake_idp_metadata = [] self.fake_sp_metadata = [] self.backend_cert, self.backend_key = \ FileGenerator.get_instance().generate_cert("Saml2Backend") self.frontend_cert, self.frontend_key = \ FileGenerator.get_instance().generate_cert("Saml2Frontend") fake_idp_base = "https://example.com" fake_idp_cert, fake_idp_key = FileGenerator.get_instance( ).generate_cert("fake_idp") self.fake_idp_config = { "entityid": "{}/unittest_idp.xml".format(fake_idp_base), "service": { "idp": { "endpoints": { "single_sign_on_service": [ ("%s/sso/post" % fake_idp_base, BINDING_HTTP_POST), ("%s/sso/redirect" % fake_idp_base, BINDING_HTTP_REDIRECT), ], }, }, }, "key_file": fake_idp_key.name, "cert_file": fake_idp_cert.name, "metadata": { "local": backend_metadata, }, "xmlsec_binary": self.xmlsec_path, } fake_sp_base = "http://example.com" fake_sp_cert, fake_sp_key = FileGenerator.get_instance().generate_cert( "fake_sp") self.fake_sp_config = { "entityid": "{}/unittest_sp.xml".format(fake_sp_base), "service": { "sp": { "endpoints": { "assertion_consumer_service": [("%s/acs/redirect" % fake_sp_base, BINDING_HTTP_REDIRECT), ("%s/acs/post" % fake_sp_base, BINDING_HTTP_POST)], }, "allow_unsolicited": "true", }, }, "key_file": fake_sp_key.name, "cert_file": fake_sp_cert.name, "metadata": { "local": frontend_metadata, }, "xmlsec_binary": self.xmlsec_path, } fake_idp_metadata_file = FileGenerator.get_instance().create_metadata( self.fake_idp_config, "fake_idp") fake_sp_metadata_file = FileGenerator.get_instance().create_metadata( self.fake_sp_config, "fake_sp") frontend_metadata_file = FileGenerator.get_instance().create_metadata( Saml2FrontendPlugin(self.proxy_config.BASE).config["idp_config"], "frontend") backend_metadata_file = FileGenerator.get_instance().create_metadata( Saml2BackendPlugin(self.proxy_config.BASE).config["config"], "backend") self.fake_idp_metadata.append(fake_idp_metadata_file.name) self.fake_sp_metadata.append(fake_sp_metadata_file.name) frontend_metadata.append(frontend_metadata_file.name) backend_metadata.append(backend_metadata_file.name)