From 8a643fea95c2d7d4f6709a10ff798bf3f9e210aa Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 15 Jan 2024 14:20:00 +0100 Subject: [PATCH] python:tests/rpcd_witness_samba_only: add tests for 'net witness force-unregister' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stefan Metzmacher Reviewed-by: Günther Deschner --- .../tests/blackbox/rpcd_witness_samba_only.py | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/python/samba/tests/blackbox/rpcd_witness_samba_only.py b/python/samba/tests/blackbox/rpcd_witness_samba_only.py index ca6b6210f50..5a878ba3c32 100755 --- a/python/samba/tests/blackbox/rpcd_witness_samba_only.py +++ b/python/samba/tests/blackbox/rpcd_witness_samba_only.py @@ -1138,6 +1138,40 @@ class RpcdWitnessSambaTests(BlackboxTestCase): 'SHARE_MOVE_TO', witness.WITNESS_NOTIFY_SHARE_MOVE) + def test_net_witness_force_unregister(self): + def check_force_unregister(regs, + apply_to_all=False, + registration_idx=None, + net_name=None, + share_name=None, + ip_address=None, + client_computer=None): + def check_force_unregister_happened(reg): + conn = reg['conn'] + reg_context = reg['context'] + self.assertIsNotNone(reg_context) + try: + conn.UnRegister(reg_context) + self.fail() + except WERRORError as e: + (num, string) = e.args + if num != werror.WERR_NOT_FOUND: + raise + reg['context'] = None + + return self.check_net_witness_output("force-unregister", + regs, + apply_to_all=apply_to_all, + registration_idx=registration_idx, + net_name=net_name, + share_name=share_name, + ip_address=ip_address, + client_computer=client_computer, + expected_msg_type="FORCE_UNREGISTER", + callback=check_force_unregister_happened) + + self.check_combinations(check_force_unregister) + if __name__ == "__main__": import unittest unittest.main()