def test_can_get_limiter_by_url(self): self.db.query(Limiter).delete() limiter = LimiterFactory.create(url='http://test.com/') loaded_limiter = Limiter.by_url('http://test.com/', self.db) expect(loaded_limiter.id).to_equal(limiter.id) invalid_limiter = Limiter.by_url('http://test.com/1', self.db) expect(invalid_limiter).to_be_null()
def test_can_save_limiters_with_access_token(self): self.db.query(Limiter).delete() self.db.query(User).delete() dt = datetime(2014, 2, 14, 15, 0, 30) UserFactory(email='*****@*****.**') user_data = dumps({ 'is_superuser': True, 'fullname': u'Marcelo Jorge Vieira', 'last_login': dt, 'email': u'*****@*****.**' }) self.mock_request(code=200, body=user_data) yield self.http_client.fetch( self.get_url('/limiters'), method='POST', body=dumps({ 'url': 'http://globo.com/', 'maxValue': 10 }), headers={'X-AUTH-HOLMES': '111'} ) loaded_limiter = Limiter.by_url('http://globo.com/', self.db) expect(loaded_limiter).not_to_be_null()
def test_can_add_or_update_limiter(self): self.db.query(Limiter).delete() limiters = Limiter.get_all(self.db) expect(limiters).to_equal([]) # Add url = 'http://globo.com/' value = 2 Limiter.add_or_update_limiter(self.db, url, value) limiter = Limiter.by_url(url, self.db) expect(limiter.value).to_equal(2) # Update url = 'http://globo.com/' value = 3 Limiter.add_or_update_limiter(self.db, url, value) limiter = Limiter.by_url(url, self.db) expect(limiter.value).to_equal(3)
def test_can_save_limiters_as_superuser(self): self.db.query(Limiter).delete() self.db.query(User).delete() user = UserFactory(email='*****@*****.**', is_superuser=True) response = yield self.authenticated_fetch( '/limiters', user_email=user.email, method='POST', body=dumps({ 'url': 'http://globo.com/', 'maxValue': 10 }) ) expect(response).not_to_be_null() expect(response.code).to_equal(200) loaded_limiter = Limiter.by_url('http://globo.com/', self.db) expect(loaded_limiter).not_to_be_null()
def test_can_save_limiters_as_superuser(self): self.db.query(Limiter).delete() self.db.query(User).delete() user = UserFactory(email='*****@*****.**', is_superuser=True) response = yield self.authenticated_fetch('/limiters', user_email=user.email, method='POST', body=dumps({ 'url': 'http://globo.com/', 'maxValue': 10 })) expect(response).not_to_be_null() expect(response.code).to_equal(200) loaded_limiter = Limiter.by_url('http://globo.com/', self.db) expect(loaded_limiter).not_to_be_null()