One Hat Cyber Team
Your IP :
10.30.1.1
Server IP :
103.148.201.5
Server :
Linux web-olt 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64
Server Software :
Apache/2.4.52 (Ubuntu)
PHP Version :
8.1.29
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
lib
/
python3
/
dist-packages
/
samba
/
tests
/
blackbox
/
Edit File:
traffic_replay.py
# Black box tests for script/traffic_leaner # # Copyright (C) Catalyst IT Ltd. 2017 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. """Blackbox tests for traffic_replay""" import os import tempfile from samba.tests import BlackboxTestCase DATA_DIR = "python/samba/tests/blackbox/testdata" SCRIPT = "script/traffic_replay" FIXED = "--fixed-password=trafficreplay01%" SERVER = os.environ["SERVER"] PASSWORD = os.environ["PASSWORD"] USER = os.environ["USERNAME"] CREDS = "-U%s%%%s" % (USER, PASSWORD) MODEL = os.path.join(DATA_DIR, "traffic-sample-very-short.model") EXPECTED_OUTPUT = os.path.join(DATA_DIR, "traffic_replay-%s.expected") class TrafficLearnerTests(BlackboxTestCase): def tearDown(self): options = "--clean-up" command = "%s %s %s %s" % (SCRIPT, options, CREDS, SERVER) self.check_run(command) def test_generate_users_only(self): """Ensure the generate users only option functions correctly """ options = ("--generate-users-only --number-of-users 20 " "--number-of-groups 5 --average-groups-per-user 2") command = "%s %s %s %s %s" % ( SCRIPT, options, FIXED, CREDS, SERVER) self.check_run(command) command = "%s %s %s %s %s %s" % ( SCRIPT, MODEL, options, FIXED, CREDS, SERVER) self.check_run(command) def test_summary_generation(self): """Ensure a summary file is generated and the contents are correct""" for i, opts in enumerate((["--random-seed=3"], ["--random-seed=4"], ["--random-seed=3", "--conversation-persistence=0.5"], ["--random-seed=3", "--old-scale", "--conversation-persistence=0.95"], )): with self.mktemp() as output: command = ([SCRIPT, MODEL, "--traffic-summary", output, "-D1", "-S0.1"] + opts + [FIXED, CREDS, SERVER]) self.check_run(command) expected = open(EXPECTED_OUTPUT % i).read() actual = open(output).read() self.assertStringsEqual(expected, actual) def test_summary_replay_no_fixed(self): """Ensure a summary file with no fixed password fails """ command = [SCRIPT, MODEL, CREDS, SERVER] self.check_exit_code(command, 1) def test_model_replay(self): """Ensure a model can be replayed against a DC """ command = [SCRIPT, MODEL, FIXED, '-D2', '-S0.1', CREDS, SERVER] self.check_run(command) def test_generate_users_only_no_password(self): """Ensure the generate users only fails if no fixed_password supplied" """ options = ("--generate-users-only --number-of-users 20 " "--number-of-groups 5 --average-groups-per-user 2") command = "%s %s %s %s" % (SCRIPT, options, CREDS, SERVER) self.check_exit_code(command, 1) command = "%s %s %s %s %s" % (SCRIPT, MODEL, options, CREDS, SERVER) self.check_exit_code(command, 1)
Simpan