Skip to content

Commit 5715a7e

Browse files
committed
WIP
[ci.skip]
1 parent 3d0aa75 commit 5715a7e

File tree

3 files changed

+17
-11
lines changed

3 files changed

+17
-11
lines changed

src/errors/cassie.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -421,21 +421,19 @@ def get_metadata_for_buckets(bucketids, release=None):
421421
def get_user_crashes(user_token: str, limit: int = 50, start=None):
422422
results = {}
423423
try:
424-
query = UserOOPS.objects.filter(key=user_token.encode()).limit(limit)
424+
query = UserOOPS.objects.filter(key=user_token.encode()).limit(limit).order_by("-column1")
425425

426426
if start:
427-
# Filter to get items greater than start
428-
query = query.filter(column1__gt=start)
427+
# Filter to get items lower than start (reverse order)
428+
query = query.filter(column1__lt=start)
429429

430430
for row in query:
431431
# Since we don't have timestamp directly, we'll use the column1 to compute it
432432
results[row.column1] = datetime_from_uuid1(UUID(row.column1))
433433
except DoesNotExist:
434434
return []
435435

436-
return [
437-
(k, results[k]) for k in sorted(results.keys(), key=lambda x: results[x], reverse=True)
438-
]
436+
return [(k, results[k]) for k in results.keys()]
439437

440438

441439
def get_average_crashes(field, release, days=7):

src/errors/manage.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/usr/bin/env python
1+
#!/usr/bin/env python3
22
# from django.core.management import execute_from_command_line
33
# import imp
44
# try:

src/tests/test_cassie.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,9 @@ def test_get_metadata_for_buckets(self, cassandra_data):
334334
assert isinstance(metadata, dict)
335335
assert len(metadata) == 2
336336
assert metadata["/usr/bin/already-bucketed:11:func1:main"]["Source"] == "already-bucketed"
337-
assert metadata["/usr/bin/failed-retrace:11:failed_func:main"]["Source"] == "failed-retrace"
337+
assert (
338+
metadata["/usr/bin/failed-retrace:11:failed_func:main"]["Source"] == "failed-retrace"
339+
)
338340

339341
def test_get_metadata_for_buckets_empty(self, cassandra_data):
340342
"""Test get_metadata_for_buckets returns empty dict for empty list"""
@@ -347,12 +349,18 @@ def test_get_user_crashes(self, cassandra_data):
347349
user_token = "imatestsystem"
348350
crashes = cassie.get_user_crashes(user_token, limit=5)
349351
assert isinstance(crashes, list)
350-
# Should have some crashes
351-
assert len(crashes) > 0
352-
# Each item should be a tuple of (uuid_str, datetime)
352+
assert len(crashes) == 5
353353
for uuid_str, crash_time in crashes:
354354
assert isinstance(uuid_str, str)
355355
assert isinstance(crash_time, datetime)
356+
first_crash = crashes[0]
357+
more_crashes = cassie.get_user_crashes(user_token, limit=5, start=first_crash[0])
358+
print(crashes)
359+
print(more_crashes)
360+
assert len(crashes) == 5
361+
assert crashes[1] == more_crashes[0]
362+
assert crashes[2] == more_crashes[1]
363+
assert more_crashes[-1] not in crashes
356364

357365
def test_get_user_crashes_nonexistent(self, cassandra_data):
358366
"""Test get_user_crashes returns empty list for non-existent user"""

0 commit comments

Comments
 (0)