def test_can_get_limiter_by_id(self): limiter = LimiterFactory.create() loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter.id).to_equal(limiter.id) invalid_limiter = Limiter.by_id(-1, self.db) expect(invalid_limiter).to_be_null()
def test_can_delete_one_limiter(self): limiter = LimiterFactory.create() loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter.id).to_equal(limiter.id) affected = Limiter.delete(limiter.id, self.db) expect(affected).to_equal(1) deleted_limiter = Limiter.by_id(limiter.id, self.db) expect(deleted_limiter).to_be_null()
def test_can_delete_limiter_as_superuser(self): self.db.query(Limiter).delete() limiter = LimiterFactory.create() self.db.query(User).delete() user = UserFactory(email='*****@*****.**', is_superuser=True) loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter).not_to_be_null() response = yield self.authenticated_fetch('/limiters/%d' % limiter.id, user_email=user.email, method='DELETE') expect(response.code).to_equal(204) expect(response.body).to_length(0) loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter).to_be_null()
def test_can_delete_limiter_as_superuser(self): self.db.query(Limiter).delete() limiter = LimiterFactory.create() self.db.query(User).delete() user = UserFactory(email='*****@*****.**', is_superuser=True) loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter).not_to_be_null() response = yield self.authenticated_fetch( '/limiters/%d' % limiter.id, user_email=user.email, method='DELETE' ) expect(response.code).to_equal(204) expect(response.body).to_length(0) loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter).to_be_null()
def test_cant_delete_limiter_as_normal_user(self): self.db.query(Limiter).delete() limiter = LimiterFactory.create() self.db.query(User).delete() user = UserFactory(email='*****@*****.**', is_superuser=False) loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter).not_to_be_null() try: yield self.authenticated_fetch('/limiters/%d' % limiter.id, user_email=user.email, method='DELETE') except HTTPError, e: expect(e).not_to_be_null() expect(e.code).to_equal(401) expect(e.response.reason).to_be_like('Unauthorized')
def test_cant_delete_limiter_as_normal_user(self): self.db.query(Limiter).delete() limiter = LimiterFactory.create() self.db.query(User).delete() user = UserFactory(email='*****@*****.**', is_superuser=False) loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter).not_to_be_null() try: yield self.authenticated_fetch( '/limiters/%d' % limiter.id, user_email=user.email, method='DELETE' ) except HTTPError, e: expect(e).not_to_be_null() expect(e.code).to_equal(401) expect(e.response.reason).to_be_like('Unauthorized')
def delete(self, limiter_id=None): if not self.validate_superuser(): return if not limiter_id: self.set_status(400) self.write_json({'reason': 'Invalid data', 'description': self._('Invalid data')}) return limiter = Limiter.by_id(limiter_id, self.db) if not limiter or not limiter.id: self.set_status(404) self.write_json({'reason': 'Not Found', 'description': self._('Not Found')}) return Limiter.delete(limiter.id, self.db) yield self.cache.remove_domain_limiters_key() self.set_status(204)
loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter).not_to_be_null() try: yield self.authenticated_fetch( '/limiters/%d' % limiter.id, user_email=user.email, method='DELETE' ) except HTTPError, e: expect(e).not_to_be_null() expect(e.code).to_equal(401) expect(e.response.reason).to_be_like('Unauthorized') else: assert False, 'Should not have got this far' loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter).not_to_be_null() @gen_test def test_can_delete_limiter_as_superuser(self): self.db.query(Limiter).delete() limiter = LimiterFactory.create() self.db.query(User).delete() user = UserFactory(email='*****@*****.**', is_superuser=True) loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter).not_to_be_null() response = yield self.authenticated_fetch( '/limiters/%d' % limiter.id, user_email=user.email, method='DELETE'
loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter).not_to_be_null() try: yield self.authenticated_fetch('/limiters/%d' % limiter.id, user_email=user.email, method='DELETE') except HTTPError, e: expect(e).not_to_be_null() expect(e.code).to_equal(401) expect(e.response.reason).to_be_like('Unauthorized') else: assert False, 'Should not have got this far' loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter).not_to_be_null() @gen_test def test_can_delete_limiter_as_superuser(self): self.db.query(Limiter).delete() limiter = LimiterFactory.create() self.db.query(User).delete() user = UserFactory(email='*****@*****.**', is_superuser=True) loaded_limiter = Limiter.by_id(limiter.id, self.db) expect(loaded_limiter).not_to_be_null() response = yield self.authenticated_fetch('/limiters/%d' % limiter.id, user_email=user.email, method='DELETE')