def testPrimaryGroupId(self):
        """Test that primaryGroupID field is updated based on gidNumber."""
        client = testutil.LDAPClientTestDriver()
        o = ldapsyntax.LDAPEntryWithAutoFill(client=client,
                                             dn='cn=foo,dc=example,dc=com',
                                             attributes={
                                                 'objectClass':
                                                 ['sambaAccount', 'other'],
                                             })
        d = o.addAutofiller(sambaAccount.Autofill_samba())

        def cb(dummy):
            client.assertNothingSent()

            o['gidNumber'] = ['1000']
            self.failUnless('primaryGroupID' in o)
            self.failUnlessEqual(o['primaryGroupID'], [str(2 * 1000 + 1001)])
            o['gidNumber'] = ['1001']
            self.failUnlessEqual(o['primaryGroupID'], [str(2 * 1001 + 1001)])
            o['gidNumber'] = ['1002']
            self.failUnlessEqual(o['primaryGroupID'], [str(2 * 1002 + 1001)])
            o['gidNumber'] = ['2000']
            self.failUnlessEqual(o['primaryGroupID'], [str(2 * 2000 + 1001)])
            o['gidNumber'] = ['3000']
            self.failUnlessEqual(o['primaryGroupID'], [str(2 * 3000 + 1001)])
            o['gidNumber'] = ['0']
            self.failUnlessEqual(o['primaryGroupID'], [str(2 * 0 + 1001)])
            o['gidNumber'] = ['16000']
            self.failUnlessEqual(o['primaryGroupID'], [str(2 * 16000 + 1001)])

        d.addCallback(cb)
        return d
    def testDefaultSetting(self):
        """Test that fields get their default values."""
        client = testutil.LDAPClientTestDriver()
        o = ldapsyntax.LDAPEntryWithAutoFill(client=client,
                                             dn='cn=foo,dc=example,dc=com',
                                             attributes={
                                                 'objectClass':
                                                 ['sambaAccount', 'other'],
                                             })
        d = o.addAutofiller(sambaAccount.Autofill_samba())

        def cb(dummy):
            client.assertNothingSent()

            self.failUnless('acctFlags' in o)
            self.failUnlessEqual(o['acctFlags'], ['[UX         ]'])

            self.failUnless('pwdLastSet' in o)
            self.failUnlessEqual(o['pwdLastSet'], ['0'])
            self.failUnless('logonTime' in o)
            self.failUnlessEqual(o['logonTime'], ['0'])
            self.failUnless('logoffTime' in o)
            self.failUnlessEqual(o['logoffTime'], ['0'])
            self.failUnless('pwdCanChange' in o)
            self.failUnlessEqual(o['pwdCanChange'], ['0'])
            self.failUnless('pwdMustChange' in o)
            self.failUnlessEqual(o['pwdMustChange'], ['0'])

        d.addCallback(cb)
        return d
Exemple #3
0
    def testPrimaryGroupId(self):
        """Test that primaryGroupID field is updated based on gidNumber."""
        client = testutil.LDAPClientTestDriver()
        o = ldapsyntax.LDAPEntryWithAutoFill(
            client=client,
            dn="cn=foo,dc=example,dc=com",
            attributes={
                "objectClass": ["sambaAccount", "other"],
            },
        )
        d = o.addAutofiller(sambaAccount.Autofill_samba())

        def cb(dummy):
            client.assertNothingSent()

            o["gidNumber"] = ["1000"]
            self.failUnless("primaryGroupID" in o)
            self.failUnlessEqual(o["primaryGroupID"], [str(2 * 1000 + 1001)])
            o["gidNumber"] = ["1001"]
            self.failUnlessEqual(o["primaryGroupID"], [str(2 * 1001 + 1001)])
            o["gidNumber"] = ["1002"]
            self.failUnlessEqual(o["primaryGroupID"], [str(2 * 1002 + 1001)])
            o["gidNumber"] = ["2000"]
            self.failUnlessEqual(o["primaryGroupID"], [str(2 * 2000 + 1001)])
            o["gidNumber"] = ["3000"]
            self.failUnlessEqual(o["primaryGroupID"], [str(2 * 3000 + 1001)])
            o["gidNumber"] = ["0"]
            self.failUnlessEqual(o["primaryGroupID"], [str(2 * 0 + 1001)])
            o["gidNumber"] = ["16000"]
            self.failUnlessEqual(o["primaryGroupID"], [str(2 * 16000 + 1001)])

        d.addCallback(cb)
        return d
Exemple #4
0
    def testDefaultSetting(self):
        """Test that fields get their default values."""
        client = testutil.LDAPClientTestDriver()
        o = ldapsyntax.LDAPEntryWithAutoFill(
            client=client,
            dn="cn=foo,dc=example,dc=com",
            attributes={
                "objectClass": ["sambaAccount", "other"],
            },
        )
        d = o.addAutofiller(sambaAccount.Autofill_samba())

        def cb(dummy):
            client.assertNothingSent()

            self.failUnless("acctFlags" in o)
            self.failUnlessEqual(o["acctFlags"], ["[UX         ]"])

            self.failUnless("pwdLastSet" in o)
            self.failUnlessEqual(o["pwdLastSet"], ["0"])
            self.failUnless("logonTime" in o)
            self.failUnlessEqual(o["logonTime"], ["0"])
            self.failUnless("logoffTime" in o)
            self.failUnlessEqual(o["logoffTime"], ["0"])
            self.failUnless("pwdCanChange" in o)
            self.failUnlessEqual(o["pwdCanChange"], ["0"])
            self.failUnless("pwdMustChange" in o)
            self.failUnlessEqual(o["pwdMustChange"], ["0"])

        d.addCallback(cb)
        return d
    def testMustHaveObjectClass(self):
        """Test that Autofill_samba fails unless object is a sambaAccount."""
        client = testutil.LDAPClientTestDriver()
        o = ldapsyntax.LDAPEntryWithAutoFill(client=client,
                                             dn='cn=foo,dc=example,dc=com',
                                             attributes={
                                                 'objectClass':
                                                 ['something', 'other'],
                                             })
        autoFiller = sambaAccount.Autofill_samba()
        d = o.addAutofiller(autoFiller)

        def eb(val):
            client.assertNothingSent()
            val.trap(sambaAccount.ObjectMissingObjectClassException)

        d.addCallbacks(testutil.mustRaise, eb)
        return d