def test_core_load_plugins(config, expected): core = TankCore(configs=[ load_yaml(os.path.join(os.path.dirname(__file__), '../config'), '00-base.yaml'), config ]) core.load_plugins() assert set(core.plugins.keys()) == expected
def __init__(self, configs, cli_options=None, cfg_patches=None, cli_args=None, no_local=False, log_handlers=None, wait_lock=False, files=None, ammo_file=None, api_start=False, manager=None, debug=False): self.api_start = api_start self.wait_lock = wait_lock self.log_handlers = log_handlers if log_handlers is not None else [] self.files = [] if files is None else files self.ammo_file = ammo_file self.config_paths = configs self.interrupted = ProcessEvent() if api_start else ThreadEvent() self.info = TankInfo(manager.dict()) if api_start else TankInfo(dict()) self.config_list = self._combine_configs(configs, cli_options, cfg_patches, cli_args, no_local) self.core = TankCore(self.config_list, self.interrupted, self.info) self.folder = self.init_folder() self.init_logging(debug or self.core.get_option(self.core.SECTION, 'debug')) is_locked = Lock.is_locked(self.core.lock_dir) if is_locked and not self.core.config.get_option( self.SECTION, 'ignore_lock'): raise LockError(is_locked)
def test_ammo(stepper_kwargs, expected_stpd): stepper = Stepper( TankCore([{}], threading.Event(), TankInfo({})), rps_schedule=["const(10,10s)"], http_ver="1.1", instances_schedule=None, instances=10, loop_limit=1000, ammo_limit=1000, enum_ammo=False, **stepper_kwargs ) stepper_output = io.BytesIO() stepper.write(stepper_output) stepper_output.seek(0) expected_lines = read_resource(os.path.join(get_test_path(), expected_stpd), 'rb').split(b'\n') for i, (result, expected) in enumerate(zip(stepper_output, expected_lines)): assert result.strip() == expected.strip(), 'Line {} mismatch'.format(i)
def test_ammo(): AMMO_FILE = os.path.join(PATH, 'yandextank/stepper/tests/test-ammo.txt') stepper = Stepper( TankCore([{}], threading.Event(), TankInfo({})), rps_schedule=["const(10,30s)"], http_ver="1.1", ammo_file=AMMO_FILE, instances_schedule=None, instances=10, loop_limit=1000, ammo_limit=1000, ammo_type='phantom', autocases=0, enum_ammo=False, ) stepper_output = io.StringIO() stepper.write(stepper_output) stepper_output.seek(0) expected_lines = read_resource( os.path.join(PATH, 'yandextank/stepper/tests/expected.stpd')).split('\n') for i, (result, expected) in enumerate(zip(stepper_output, expected_lines)): assert result.strip() == expected.strip(), 'Line {} mismatch'.format(i)
def test_start_test(config): core = TankCore(configs=[config]) core.plugins_prepare_test() core.plugins_start_test() core.plugins_end_test(1)
def test_plugins_prepare_test(config, expected): core = TankCore(configs=[config]) core.plugins_prepare_test()
def test_core_plugins_configure(config, expected): core = TankCore(configs=[config]) core.plugins_configure()
def test_plugins_prepare_test(config, expected): core = TankCore([config], threading.Event()) core.plugins_prepare_test()
def test_core_plugins_configure(config, expected): core = TankCore([config], threading.Event(), TankInfo({})) core.plugins_configure()
def test_core_load_plugins(config, expected): core = TankCore( [load_yaml(os.path.join(PATH, '../config'), '00-base.yaml'), config], threading.Event(), TankInfo({})) core.load_plugins() assert set(core.plugins.keys()) == expected
def get_core(self): self.core = TankCore() self.core.artifacts_base_dir = tempfile.mkdtemp() self.core.artifacts_dir = self.core.artifacts_base_dir return self.core