def index(): form = SecretForm() if form.validate_on_submit(): secret = Secret(secret_value=form.secret.data, ttl=form.ttl.data, passphrase=form.passphrase.data) try: RedisRegistry(secret).save() admin = Admin.create_admin(secret) RedisRegistry(admin).save() except ConnectionError as e: current_app.logger.error(e) return 500 flash('Secret created!') return redirect(url_for('secret.secret_admin', admin_id=admin.obj_id)) return render_template('secrets/index.html', title=_('Create your secret now!'), form=form)
def test_admin_page(self): data = { 'secret': 'TestSecret', 'ttl': '1', } s = Secret(secret_value=data['secret'], ttl=int(data['ttl'])) a = Admin.create_admin(s) RedisRegistry(s).save() RedisRegistry(a).save() admin_id = a.obj_id keys_count = len(self.app.redis.keys()) response = self.app_client.get(url_for('secret.secret_admin', admin_id=admin_id), follow_redirects=True) self.assertEqual(response.status_code, 200) self.assertEqual(keys_count, len(self.app.redis.keys()))
def test_delete_secret_with_passphrase(self): data = { 'secret': 'TestSecret', 'ttl': '1', 'passphrase': 'Test', } s = Secret(secret_value=data['secret'], ttl=int(data['ttl']), passphrase=data['passphrase']) a = Admin.create_admin(s) RedisRegistry(s).save() RedisRegistry(a).save() keys_count = len(self.app.redis.keys()) response = self.app_client.post(url_for('secret.secret_admin', admin_id=a.obj_id), follow_redirects=True, data={ 'submit': 'Burn the Secret!', }) self.assertEqual(keys_count - 1, len(self.app.redis.keys())) self.assertEqual(response.status_code, 200) response = self.app_client.get( url_for('secret.secret_admin', admin_id=a.obj_id)) self.assertNotEqual(response.status_code, 200)