|
1 | 1 | import datetime
|
2 | 2 | import unittest
|
3 | 3 |
|
| 4 | +from pydantic import ValidationError |
| 5 | + |
4 | 6 | 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 |
7 | 7 |
|
8 | 8 | class TestBaseModel(unittest.TestCase):
|
9 |
| - def test_default_BaseModel(self): # NOQA N802 |
| 9 | + def test_default(self): # NOQA N802 |
10 | 10 | bm = SettingsBase()
|
11 | 11 | self.assertEqual(bm.creation_date, datetime.date.today())
|
12 |
| - self.assertIsNone(bm.save_date) |
| 12 | + self.assertIsNone(bm.save_datetime) |
13 | 13 | self.assertEqual(bm.username, "BpodUser")
|
14 | 14 |
|
| 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 | + |
15 | 44 |
|
16 | 45 |
|
17 | 46 | if __name__ == "__main__":
|
|
0 commit comments