1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-18 08:23:51 +03:00

tests: models: test additional Computer constructor cases

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Rob van der Linde
2024-03-06 16:52:53 +13:00
committed by Andrew Bartlett
parent c004fdd0f3
commit 7dcc06fa88

View File

@@ -81,19 +81,36 @@ class ComputerModelTests(SambaToolCmdTest):
super().setUpClass()
def test_computer_constructor(self):
comp1 = Computer(name="comp1")
# Use only name
comp1 = Computer.create(self.samdb, name="comp1")
self.assertEqual(comp1.name, "comp1")
self.assertEqual(comp1.account_name, "comp1$")
comp2 = Computer(cn="comp2")
# Use only cn
comp2 = Computer.create(self.samdb, cn="comp2")
self.assertEqual(comp2.name, "comp2")
self.assertEqual(comp2.account_name, "comp2$")
# User accidentally left out '$' in username.
comp3 = Computer(name="comp3", account_name="comp3")
# Use name and account_name but missing "$" in account_name.
comp3 = Computer.create(self.samdb, name="comp3", account_name="comp3")
self.assertEqual(comp3.name, "comp3")
self.assertEqual(comp3.account_name, "comp3$")
comp4 = Computer(cn="comp4", account_name="comp4$")
# Use cn and account_name but missing "$" in account_name.
comp4 = Computer.create(self.samdb, cn="comp4", account_name="comp4$")
self.assertEqual(comp4.name, "comp4")
self.assertEqual(comp4.account_name, "comp4$")
# Use only account_name, the name should get the "$" removed.
comp5 = Computer.create(self.samdb, account_name="comp5$")
self.assertEqual(comp5.name, "comp5")
self.assertEqual(comp5.account_name, "comp5$")
# Use only account_name but accidentally forgot the "$" character.
comp6 = Computer.create(self.samdb, account_name="comp6")
self.assertEqual(comp6.name, "comp6")
self.assertEqual(comp6.account_name, "comp6$")
class FieldTestMixin:
"""Tests a model field to ensure it behaves correctly in both directions.