|
1 | | -from datetime import UTC, datetime |
| 1 | +from datetime import UTC, datetime, timedelta |
| 2 | +from uuid import uuid4 |
2 | 3 |
|
3 | 4 | from django.core.cache import cache |
4 | 5 | from django.test import override_settings |
@@ -102,6 +103,17 @@ def test_regenerate_token_rejects_non_owner(self) -> None: |
102 | 103 |
|
103 | 104 | self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) |
104 | 105 |
|
| 106 | + def test_regenerate_token_not_found_returns_404(self) -> None: |
| 107 | + self.client.force_authenticate(self.user) |
| 108 | + |
| 109 | + response = self.client.post( |
| 110 | + reverse("baby_serverlist:regenerate-token"), |
| 111 | + {"server_id": str(uuid4())}, |
| 112 | + format="json", |
| 113 | + ) |
| 114 | + |
| 115 | + self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) |
| 116 | + |
105 | 117 | def test_post_server_status_stores_payload_in_cache(self) -> None: |
106 | 118 | baby_server = BabyServer.objects.create(owner=self.user, whitelisted=True) |
107 | 119 | payload = _sample_status_payload(baby_server.serverlist_token) |
@@ -151,6 +163,12 @@ def test_list_owned_baby_servers_live_flag(self) -> None: |
151 | 163 | response = self.client.get(reverse("baby_serverlist:list-owned")) |
152 | 164 | self.assertTrue(response.json()[0]["live"]) |
153 | 165 |
|
| 166 | + stale_time = datetime.now(tz=UTC) - timedelta(seconds=13) |
| 167 | + set_baby_server_heartbeat(str(baby_server.id), stale_time.isoformat()) |
| 168 | + |
| 169 | + response = self.client.get(reverse("baby_serverlist:list-owned")) |
| 170 | + self.assertFalse(response.json()[0]["live"]) |
| 171 | + |
154 | 172 | def test_list_baby_servers_returns_whitelisted_status(self) -> None: |
155 | 173 | baby_server = BabyServer.objects.create(owner=self.user, whitelisted=True) |
156 | 174 | status_data = _sample_status_payload(baby_server.serverlist_token) |
|
0 commit comments