Esempio n. 1
0
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
Esempio n. 2
0
    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)
Esempio n. 3
0
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)
Esempio n. 4
0
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)
Esempio n. 5
0
def test_start_test(config):
    core = TankCore(configs=[config])
    core.plugins_prepare_test()
    core.plugins_start_test()
    core.plugins_end_test(1)
Esempio n. 6
0
def test_plugins_prepare_test(config, expected):
    core = TankCore(configs=[config])
    core.plugins_prepare_test()
Esempio n. 7
0
def test_core_plugins_configure(config, expected):
    core = TankCore(configs=[config])
    core.plugins_configure()
Esempio n. 8
0
def test_plugins_prepare_test(config, expected):
    core = TankCore([config], threading.Event())
    core.plugins_prepare_test()
Esempio n. 9
0
def test_core_plugins_configure(config, expected):
    core = TankCore([config], threading.Event(), TankInfo({}))
    core.plugins_configure()
Esempio n. 10
0
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
Esempio n. 11
0
 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