def test_store_db_in_file(self, tmpdir, consent_request): ticket = 'ticket1' tmp_file = os.path.join(str(tmpdir), 'db') db_url = 'sqlite:///' + tmp_file consent_req_db = ConsentRequestDatasetDB('salt', db_url) consent_req_db.save_consent_request(ticket, consent_request) assert consent_req_db.get_consent_request(ticket) == consent_request # make sure it was persisted to file consent_db = ConsentRequestDatasetDB('salt', db_url) assert consent_db.get_consent_request(ticket) == consent_request
def setup(self): self.consent_db = ConsentDatasetDB("salt", 12) self.ticket_db = ConsentRequestDatasetDB("salt") self.max_month = 12 self.signing_key = RSAKey(key=RSA.generate(1024), alg='RS256') self.cm = ConsentManager(self.consent_db, self.ticket_db, [self.signing_key], 3600, self.max_month)
def init_consent_manager(app: Flask): consent_db = ConsentDatasetDB(app.config['CONSENT_SALT'], app.config['MAX_CONSENT_EXPIRATION_MONTH'], app.config.get('CONSENT_DATABASE_URL')) consent_request_db = ConsentRequestDatasetDB( app.config['CONSENT_SALT'], app.config.get('CONSENT_REQUEST_DATABASE_URL')) trusted_keys = [ RSAKey(key=rsa_load(key)) for key in app.config['TRUSTED_KEYS'] ] cm = ConsentManager(consent_db, consent_request_db, trusted_keys, app.config['TICKET_TTL'], app.config['MAX_CONSENT_EXPIRATION_MONTH']) return cm
def consent_request_database(): return ConsentRequestDatasetDB("salt")