home · contact · privacy
Avoid race condition of test databases created with same timestamp.
[plomtask] / tests / utils.py
index a42b3f3ba61b1e28031bf35dca1d263048495830..6581c61a1546e952c08b2669d28efdc0e27a06ee 100644 (file)
@@ -3,7 +3,7 @@ from unittest import TestCase
 from threading import Thread
 from http.client import HTTPConnection
 from urllib.parse import urlencode
-from datetime import datetime
+from uuid import uuid4
 from os import remove as remove_file
 from typing import Mapping, Any
 from plomtask.db import DatabaseFile, DatabaseConnection
@@ -53,8 +53,7 @@ class TestCaseWithDB(TestCase):
         Process.empty_cache()
         ProcessStep.empty_cache()
         Todo.empty_cache()
-        timestamp = datetime.now().timestamp()
-        self.db_file = DatabaseFile.create_at(f'test_db:{timestamp}')
+        self.db_file = DatabaseFile.create_at(f'test_db:{uuid4()}')
         self.db_conn = DatabaseConnection(self.db_file)
 
     def tearDown(self) -> None:
@@ -262,5 +261,6 @@ class TestCaseWithServer(TestCaseWithDB):
         """POST basic Process."""
         if not form_data:
             form_data = {'title': 'foo', 'description': 'foo', 'effort': 1.1}
-        self.check_post(form_data, '/process?id=', 302, f'/process?id={id_}')
+        self.check_post(form_data, f'/process?id={id_}', 302,
+                        f'/process?id={id_}')
         return form_data