Example #1
0
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)
Example #2
0
 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()))
Example #3
0
 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)