migrate site id to varchar instead of int

This commit is contained in:
Alberto-Audrix committed 2026-09-15 11:12:09 +07:00
1 parent 61f954a3bd
commit 36639d8c38
16 files changed
+448 -41

No files matched your search

+17 -2
View File
@@ -149,6 +149,7 @@ class ClaimActiveSiteTests(TestCase):
self.active = ActiveSite.objects.create(
code="sukawarna",
name="Sukawarna",
source_site_id="sukawarna-0001",
api_base_url="https://sukawarna.example/api/v1",
api_key="site-secret",
managed_by=None,
@@ -164,7 +165,18 @@ class ClaimActiveSiteTests(TestCase):
self.assertEqual(response.status_code, 200, response.data)
self.active.refresh_from_db()
self.assertEqual(self.active.managed_by_id, self.gm.pk)
self.assertTrue(Site.objects.filter(active_site=self.active, user=self.gm).exists())
hq = Site.objects.get(active_site=self.active, user=self.gm)
self.assertEqual(hq.pk, "sukawarna-0001")
self.assertEqual(hq.site_id, self.active.source_site_id)
def test_claimed_site_api_id_is_farm_slug_string(self):
self.client.force_authenticate(self.gm)
self.client.post("/api/v1/active-sites/", {"code": "sukawarna"}, format="json")
listed = self.client.get("/api/v1/sites/")
self.assertEqual(listed.status_code, 200)
row = next(r for r in listed.data["results"] if r["site_name"] == "Sukawarna")
self.assertEqual(row["id"], "sukawarna-0001")
self.assertIsInstance(row["id"], str)
def test_claim_unknown_code_404(self):
self.client.force_authenticate(self.gm)
@@ -191,7 +203,10 @@ class ClaimActiveSiteTests(TestCase):
self.active.source_site_id = "sukawarna-0001"
self.active.save(update_fields=["managed_by", "source_site_id"])
hq_site = Site.objects.create(
site_name="Sukawarna", user=self.gm, active_site=self.active
site_id="sukawarna-0001",
site_name="Sukawarna",
user=self.gm,
active_site=self.active,
)
self.client.force_authenticate(self.gm)
response = self.client.delete(f"/api/v1/active-sites/{self.active.pk}/")