Skip to content

Commit e79c46a

Browse files
committed
TestBaseModel: test good manual values
test that validator catches improper dates and username lengths
1 parent e0589b2 commit e79c46a

File tree

1 file changed

+33
-4
lines changed

1 file changed

+33
-4
lines changed

bpod_rig/tests/config_tests/test_models.py

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,46 @@
11
import datetime
22
import unittest
33

4+
from pydantic import ValidationError
5+
46
from bpod_rig.config.models.base import SettingsBase
5-
from bpod_rig.config.models.bpod_settings import BpodPaths
6-
from bpod_rig.config.models.system_settings import SystemPaths, SystemSettings
77

88
class TestBaseModel(unittest.TestCase):
9-
def test_default_BaseModel(self): # NOQA N802
9+
def test_default(self): # NOQA N802
1010
bm = SettingsBase()
1111
self.assertEqual(bm.creation_date, datetime.date.today())
12-
self.assertIsNone(bm.save_date)
12+
self.assertIsNone(bm.save_datetime)
1313
self.assertEqual(bm.username, "BpodUser")
1414

15+
def test_good_manual_vals(self):
16+
past_creation_date = datetime.date(2025, 1, 1)
17+
past_save_datetime = datetime.datetime(2025, 2, 1)
18+
new_user = "TestUser"
19+
20+
bm = SettingsBase(
21+
creation_date=past_creation_date,
22+
save_datetime=past_save_datetime,
23+
username=new_user
24+
)
25+
26+
self.assertEqual(bm.creation_date, past_creation_date)
27+
self.assertEqual(bm.save_datetime, past_save_datetime)
28+
self.assertEqual(bm.username, new_user)
29+
30+
def test_validator_failure(self):
31+
with self.assertRaises(ValidationError):
32+
future_creation_date = datetime.date(3000, 1, 1)
33+
SettingsBase(creation_date=future_creation_date)
34+
with self.assertRaises(ValidationError):
35+
future_save_datetime = datetime.datetime.now() + datetime.timedelta(hours=1)
36+
SettingsBase(save_datetime=future_save_datetime)
37+
with self.assertRaises(ValidationError):
38+
too_long_username = "a"*200
39+
SettingsBase(username=too_long_username)
40+
with self.assertRaises(ValidationError):
41+
too_short_username = ""
42+
SettingsBase(username=too_short_username)
43+
1544

1645

1746
if __name__ == "__main__":

0 commit comments

Comments
 (0)