]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
tests: models: test additional Computer constructor cases
authorRob van der Linde <rob@catalyst.net.nz>
Wed, 6 Mar 2024 03:52:53 +0000 (16:52 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 20 Mar 2024 03:49:35 +0000 (03:49 +0000)
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>
python/samba/tests/samba_tool/domain_models.py

index 875a343e93eadd03c62e4bbb1c6f6cfa8ccec964..c70eb820a7187f9cb7324db240647f3fe96a0cd6 100644 (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.