Add a test

This commit is contained in:
Adrien Ferrand 2019-05-07 11:22:17 +02:00
parent 831c08f0a5
commit f3142d92f2

View file

@ -1,4 +1,6 @@
"""Unit test for security module."""
import unittest
from certbot.compat import os
from certbot.compat import filesystem
from certbot.tests.util import TempDirTestCase
@ -20,3 +22,17 @@ class SecurityTest(TempDirTestCase):
# TODO: add assertion when check_mode is implemented
#self.assertFalse(security.check_mode(probe, 0o755))
@unittest.skipIf(os.name != 'nt', reason='Test specific to Windows security')
def test_user_admin_dacl_consistency(self):
import win32security
normal_user = win32security.ConvertStringSidToSid('S-1-4-1')
dacl = filesystem._generate_dacl(normal_user, 0o700)
# We expect two ACE: one for admins, one for the user
self.assertEqual(dacl.GetAceCount(), 2)
admin_user = win32security.ConvertStringSidToSid('S-1-5-18')
dacl = filesystem._generate_dacl(admin_user, 0o700)
# Now we expect only ACE, the one for admins, since the user is also an admin
self.assertEqual(dacl.GetAceCount(), 1)