def runTest(self): logging.info(' -- Test PEP03: PEP happy cycle') repo_dir = 'work/PEP/03/policyDirectory_basic_' + localconfig.AODS_INDICATOR pepoutdir = make_dirs('work/PEP/03/pepout/', dir=True) request_queue = os.path.join(repo_dir, constants.GIT_REQUESTQUEUE) cliClient = CliPep(['--verbose', '--aods', os.path.join(repo_dir, constants.GIT_POLICYDIR, 'pol_journal.xml'), '--pepoutdir', pepoutdir, '--repodir', os.path.abspath(repo_dir), '--trustedcerts', os.path.abspath('testdata/trustedcerts.json')]) logging.debug(' - creating fresh git repo in ' + repo_dir + ', adding test data') gitHandler = githandler.GitHandler(cliClient.args.repodir, pepoutdir, init=True, verbose=cliClient.args.verbose) gitHandler.reset_repo_with_defined_testdata( 'testdata/PEP/03/policyDirectory_basic_%s' % localconfig.AODS_INDICATOR, repo_dir) logging.debug(' - processing request queue') PEP.run_me(cliClient) for fn in ('gondorWienGvAt_idp.xml', 'redmineIdentineticsCom_idp.xml', 'wwwTestPortalverbundGvAt.xml'): requ1_source = os.path.join(request_queue, fn) requ1_result = os.path.join(pepoutdir, fn) assert os.path.isfile(requ1_result), 'expected %s in pepoutdir directory: ' % requ1_result assert not os.path.isfile(requ1_source), 'expected %s not to be in request_queue: ' % requ1_result
def runTest(self): logging.info(" -- Test PEP05: PEP delete ok cycle") repo_dir = "work/PEP/03/policyDirectory_basic_" + localconfig.AODS_INDICATOR pepoutdir = "work/PEP/03/pepout/" cliClient = CliPep( [ "--verbose", "--aods", os.path.join(repo_dir, constants.GIT_POLICYDIR, "pol_journal.xml"), "--pepoutdir", pepoutdir, "--repodir", os.path.abspath(repo_dir), "--trustedcerts", os.path.abspath("testdata/trustedcerts.json"), ] ) logging.debug(" - adding to test 03 git repo in " + repo_dir) gitHandler = githandler.GitHandler( cliClient.args.repodir, pepoutdir, init=False, verbose=cliClient.args.verbose ) gitHandler.add_request_message("testdata/PEP/05/wwwTestPortalverbundGvAt.xml") logging.debug(" - processing request queue") PEP.run_me(cliClient) for fn in ("wwwTestPortalverbundGvAt.xml",): requ1_result = os.path.join(pepoutdir, fn) assert not os.path.isfile(requ1_result), "expected %s not to be in pepoutdir directory: " % requ1_result requ2_result = os.path.join(repo_dir, constants.GIT_DELETED, fn) assert os.path.isfile(requ2_result), 'expected %s in "deleted" repo sub-directory: ' % requ2_result
def runTest(self): logging.info(" -- Test PEP03: PEP happy cycle") repo_dir = "work/PEP/03/policyDirectory_basic_" + localconfig.AODS_INDICATOR pepoutdir = make_dirs("work/PEP/03/pepout/", dir=True) request_queue = os.path.join(repo_dir, constants.GIT_REQUESTQUEUE) cliClient = CliPep( [ "--verbose", "--aods", os.path.join(repo_dir, constants.GIT_POLICYDIR, "pol_journal.xml"), "--pepoutdir", pepoutdir, "--repodir", os.path.abspath(repo_dir), "--trustedcerts", os.path.abspath("testdata/trustedcerts.json"), ] ) logging.debug(" - creating fresh git repo in " + repo_dir + ", adding test data") gitHandler = githandler.GitHandler(cliClient.args.repodir, pepoutdir, init=True, verbose=cliClient.args.verbose) gitHandler.reset_repo_with_defined_testdata( "testdata/PEP/03/policyDirectory_basic_%s" % localconfig.AODS_INDICATOR, repo_dir ) logging.debug(" - processing request queue") PEP.run_me(cliClient) for fn in ("gondorWienGvAt_idp.xml", "redmineIdentineticsCom_idp.xml", "wwwTestPortalverbundGvAt.xml"): requ1_source = os.path.join(request_queue, fn) requ1_result = os.path.join(pepoutdir, fn) assert os.path.isfile(requ1_result), "expected %s in pepoutdir directory: " % requ1_result assert not os.path.isfile(requ1_source), "expected %s not to be in request_queue: " % requ1_result
def runTest(self): logging.info(" -- Test PEP04: reject a batch of invalid/unauthorized requests") repo_dir = "work/PEP/04/policyDirectory_unauth_" + localconfig.AODS_INDICATOR request_queue = os.path.join(repo_dir, constants.GIT_REQUESTQUEUE) pepoutdir = make_dirs("work/PEP/04/pepout/", dir=True) cliClient = CliPep( [ "--verbose", "--aods", os.path.join(repo_dir, constants.GIT_POLICYDIR, "pol_journal.xml"), "--pepoutdir", pepoutdir, "--repodir", os.path.abspath(repo_dir), "--trustedcerts", os.path.abspath("testdata/trustedcerts.json"), ] ) logging.debug(" - creating fresh git repo in " + repo_dir + ", adding test data") gitHandler = githandler.GitHandler(cliClient.args.repodir, pepoutdir, init=True, verbose=cliClient.args.verbose) gitHandler.reset_repo_with_defined_testdata( "testdata/PEP/04/policyDirectory_unauthz_%s" % localconfig.AODS_INDICATOR, repo_dir ) logging.debug(" - processing request queue") PEP.run_me(cliClient) # ttab is a list of 2-tuples containing file expected in the reject dir, and # the start of the accompaning error message ttab = ( ("fatamorganaIdentineticsCom.xml", "rejected deletion request for non existing EntityDescriptor"), ("gondorWienGvAt_delete.xml", "Invalid format for EntitiyDescriptor filename"), ("idpExampleCom_idpXmlUnsigned.xml", "Signature verification failed"), ("idpExampleCom_idpXml.xml", "Signer certificate not found in policy directory"), ("redmineIdentineticsOrg_req.xml", "Invalid format for EntitiyDescriptor filename"), ) for (fn, requ_errmsg) in ttab: requ_srcpath = os.path.join(request_queue, fn) requ_destpath = os.path.join(repo_dir, constants.GIT_REJECTED, fn) assert os.path.isfile(requ_destpath), "expected %s in rejected directory: " % requ_destpath assert not os.path.isfile(requ_srcpath), "%s should not be left in request_queue: " % requ_destpath with open(requ_destpath + ".err") as f: assert f.read().startswith(requ_errmsg), ( 'expected error log to contain "' + requ_errmsg + '" for file ' + fn )
def runTest(self): logging.info(' -- Test PEP04: reject a batch of invalid/unauthorized requests') repo_dir = 'work/PEP/04/policyDirectory_unauth_' + localconfig.AODS_INDICATOR request_queue = os.path.join(repo_dir, constants.GIT_REQUESTQUEUE) pepoutdir = make_dirs('work/PEP/04/pepout/', dir=True) cliClient = CliPep(['--verbose', '--aods', os.path.join(repo_dir, constants.GIT_POLICYDIR, 'pol_journal.xml'), '--pepoutdir', pepoutdir, '--repodir', os.path.abspath(repo_dir), '--trustedcerts', os.path.abspath('testdata/trustedcerts.json')]) logging.debug(' - creating fresh git repo in ' + repo_dir + ', adding test data') gitHandler = githandler.GitHandler(cliClient.args.repodir, pepoutdir, init=True, verbose=cliClient.args.verbose) gitHandler.reset_repo_with_defined_testdata( 'testdata/PEP/04/policyDirectory_unauthz_%s' % localconfig.AODS_INDICATOR, repo_dir) logging.debug(' - processing request queue') PEP.run_me(cliClient) # ttab is a list of 2-tuples containing file expected in the reject dir, and # the start of the accompaning error message ttab = (('fatamorganaIdentineticsCom.xml','rejected deletion request for non existing EntityDescriptor'), ('gondorWienGvAt_delete.xml','Invalid format for EntitiyDescriptor filename'), ('idpExampleCom_idpXmlUnsigned.xml','Signature verification failed'), ('idpExampleCom_idpXml.xml','Signer certificate not found in policy directory'), ('redmineIdentineticsOrg_req.xml', 'Invalid format for EntitiyDescriptor filename'), ) for (fn, requ_errmsg) in ttab: requ_srcpath = os.path.join(request_queue, fn) requ_destpath = os.path.join(repo_dir, constants.GIT_REJECTED, fn) assert os.path.isfile(requ_destpath), 'expected %s in rejected directory: ' % requ_destpath assert not os.path.isfile(requ_srcpath), '%s should not be left in request_queue: ' % requ_destpath with open(requ_destpath + '.err') as f: assert f.read().startswith(requ_errmsg), 'expected error log to contain "' + \ requ_errmsg + '" for file ' + fn
def runTest(self): logging.info(' -- Test PEP05: PEP delete ok cycle') repo_dir = 'work/PEP/03/policyDirectory_basic_' + localconfig.AODS_INDICATOR pepoutdir = 'work/PEP/03/pepout/' cliClient = CliPep(['--verbose', '--aods', os.path.join(repo_dir, constants.GIT_POLICYDIR, 'pol_journal.xml'), '--pepoutdir', pepoutdir, '--repodir', os.path.abspath(repo_dir), '--trustedcerts', os.path.abspath('testdata/trustedcerts.json')]) logging.debug(' - adding to test 03 git repo in ' + repo_dir) gitHandler = githandler.GitHandler(cliClient.args.repodir, pepoutdir, init=False, verbose=cliClient.args.verbose) gitHandler.add_request_message('testdata/PEP/05/wwwTestPortalverbundGvAt.xml') logging.debug(' - processing request queue') PEP.run_me(cliClient) for fn in ('wwwTestPortalverbundGvAt.xml', ): requ1_result = os.path.join(pepoutdir, fn) assert not os.path.isfile(requ1_result), 'expected %s not to be in pepoutdir directory: ' % requ1_result requ2_result = os.path.join(repo_dir, constants.GIT_DELETED, fn) assert os.path.isfile(requ2_result), 'expected %s in "deleted" repo sub-directory: ' % requ2_result