1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

tests: Extend SMB Py binding .list() test-case

Extend the tests to better reflect some of the .list() functionality we
expect.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13676

Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Tim Beale 2018-12-03 17:22:43 +13:00 committed by Andrew Bartlett
parent b84cea18fc
commit 629a41fc65

View File

@ -53,11 +53,33 @@ class SMBTests(samba.tests.TestCase):
pass
def test_list(self):
# check a basic listing returns the items we expect
ls = [f['name'] for f in self.conn.list(addom)]
self.assertIn('scripts', ls,
msg='"scripts" directory not found in sysvol')
self.assertIn('Policies', ls,
msg='"Policies" directory not found in sysvol')
self.assertNotIn('..', ls,
msg='Parent (..) found in directory listing')
self.assertNotIn('.', ls,
msg='Current dir (.) found in directory listing')
# using a '*' mask should be the same as using no mask
ls_wildcard = [f['name'] for f in self.conn.list(addom, "*")]
self.assertEqual(ls, ls_wildcard)
# applying a mask should only return items that match that mask
ls_pol = [f['name'] for f in self.conn.list(addom, "Pol*")]
expected = ["Policies"]
self.assertEqual(ls_pol, expected)
# each item in the listing is a has with expected keys
expected_keys = ['attrib', 'mtime', 'name', 'short_name', 'size']
for item in self.conn.list(addom):
for key in expected_keys:
self.assertIn(key, item,
msg="Key '%s' not in listing '%s'" % (key, item))
def file_exists(self, filepath):
"""Returns whether a regular file exists (by trying to open it)"""