test_snuba.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from __future__ import absolute_import
  2. from datetime import datetime, timedelta
  3. import pytest
  4. import time
  5. from sentry.testutils import SnubaTestCase
  6. from sentry.utils import snuba
  7. class SnubaTest(SnubaTestCase):
  8. def test(self):
  9. "This is just a simple 'hello, world' example test."
  10. now = datetime.now()
  11. events = [{
  12. 'event_id': 'x' * 32,
  13. 'primary_hash': '1' * 32,
  14. 'project_id': 100,
  15. 'message': 'message',
  16. 'platform': 'python',
  17. 'datetime': now.strftime('%Y-%m-%dT%H:%M:%S.%fZ'),
  18. 'data': {
  19. 'received': time.mktime(now.timetuple()),
  20. }
  21. }]
  22. self.snuba_insert(events)
  23. assert snuba.query(
  24. start=now - timedelta(days=1),
  25. end=now + timedelta(days=1),
  26. groupby=['project_id'],
  27. filter_keys={'project_id': [100]},
  28. ) == {100: 1}
  29. def test_fail(self):
  30. now = datetime.now()
  31. with pytest.raises(snuba.SnubaError):
  32. snuba.query(
  33. start=now - timedelta(days=1),
  34. end=now + timedelta(days=1),
  35. filter_keys={'project_id': [100]},
  36. groupby=[")("],
  37. )