1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-10 01:18:15 +03:00

KCC: add tests for kcc.graph repltimes functions

There used to be bugs in these.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Douglas Bagnall 2015-05-06 11:20:28 +12:00 committed by Andrew Bartlett
parent 751726c02d
commit 310250935e
2 changed files with 35 additions and 3 deletions

View File

@ -25,8 +25,26 @@ from samba.kcc.graph import *
import itertools
class GraphFunctionTests(samba.tests.TestCase):
def ntdsconn_schedule(times):
if times is None:
return None
from samba.dcerpc import drsblobs
schedule = drsblobs.schedule()
schedule.size = 188
schedule.bandwidth = 0
schedule.numberOfSchedules = 1
header = drsblobs.scheduleHeader()
header.type = 0
header.offset = 20
schedule.headerArray = [header]
data = drsblobs.scheduleSlots()
data.slots = times
schedule.dataArray = [data]
return schedule
class GraphFunctionTests(samba.tests.TestCase):
def test_total_schedule(self):
schedule = [0x81] * 84
@ -35,5 +53,18 @@ class GraphFunctionTests(samba.tests.TestCase):
([0xff] * 84, 84 * 8),
([0xaa] * 84, 84 * 4),
([0x03, 0x33] * 42, 42 * 6),
(range(4) * 21, 21 * 5)):
self.assetEquals(total_schedule(schedule), total)
(range(7) * 12, 12 * 9),
(range(4) * 21, 21 * 4)):
self.assertEquals(total_schedule(schedule), total)
def test_convert_schedule_to_repltimes(self):
for ntdsconn_times, repltimes in (
([0x01] * 168, [0x11] * 84),
(None, [0x11] * 84),
([0x06] * 168, [0x66] * 84),
([0x03, 0xa] * 84, [0x3a] * 84),
(range(7) * 24,
[0x01, 0x23, 0x45, 0x60, 0x12, 0x34, 0x56] * 12)):
schedule = ntdsconn_schedule(ntdsconn_times)
self.assertEquals(convert_schedule_to_repltimes(schedule),
repltimes)

View File

@ -96,6 +96,7 @@ planpythontestsuite("none", "samba.tests.upgradeprovision")
planpythontestsuite("none", "samba.tests.xattr")
planpythontestsuite("none", "samba.tests.ntacls")
planpythontestsuite("none", "samba.tests.policy")
planpythontestsuite("none", "samba.tests.kcc.graph")
planpythontestsuite("none", "samba.tests.kcc.graph_utils")
planpythontestsuite("none", "samba.tests.kcc.kcc_utils")
planpythontestsuite("none", "samba.tests.kcc.ldif_import_export")