def test_before_load_throw_error_if_file_not_exists(server): config_script_not_exists = loadfixture( "workspacebuilder/config_script_not_exists.yaml" ) sconfig = kaptan.Kaptan(handler='yaml') yaml = config_script_not_exists.format( fixtures_dir=fixtures_dir, script_not_exists=os.path.join( fixtures_dir, 'script_not_exists.sh' ) ) sconfig = sconfig.import_config(yaml).get() sconfig = config.expand(sconfig) sconfig = config.trickle(sconfig) builder = WorkspaceBuilder(sconf=sconfig) with temp_session(server) as sess: session_name = sess.name temp_session_exists = server.has_session( sess.name ) assert temp_session_exists with pytest.raises( (exc.BeforeLoadScriptNotExists, OSError), ) as excinfo: builder.build(session=sess) excinfo.match(r'No such file or directory') result = server.has_session(session_name) assert not result, "Kills session if before_script doesn't exist"
def test_before_load_throw_error_if_retcode_error(server): config_script_fails = loadfixture( "workspacebuilder/config_script_fails.yaml" ) sconfig = kaptan.Kaptan(handler='yaml') yaml = config_script_fails.format( fixtures_dir=fixtures_dir, script_failed=os.path.join(fixtures_dir, 'script_failed.sh') ) sconfig = sconfig.import_config(yaml).get() sconfig = config.expand(sconfig) sconfig = config.trickle(sconfig) builder = WorkspaceBuilder(sconf=sconfig) with temp_session(server) as sess: session_name = sess.name with pytest.raises(exc.BeforeLoadScriptError): builder.build(session=sess) result = server.has_session(session_name) assert not result, \ "Kills session if before_script exits with errcode"
def test_before_load_throw_error_if_file_not_exists(server): config_script_not_exists = loadfixture( "workspacebuilder/config_script_not_exists.yaml" ) sconfig = kaptan.Kaptan(handler='yaml') yaml = config_script_not_exists.format( fixtures_dir=fixtures_dir, script_not_exists=os.path.join( fixtures_dir, 'script_not_exists.sh' ) ) sconfig = sconfig.import_config(yaml).get() sconfig = config.expand(sconfig) sconfig = config.trickle(sconfig) builder = WorkspaceBuilder(sconf=sconfig) with temp_session(server) as sess: session_name = sess.name temp_session_exists = server.has_session( sess.name ) assert temp_session_exists with pytest.raises( (exc.BeforeLoadScriptNotExists, OSError), ) as excinfo: builder.build(session=sess) excinfo.match(r'No such file or directory') result = server.has_session(session_name) assert not result, "Kills session if before_script doesn't exist"
def test_before_load_throw_error_if_retcode_error(server): config_script_fails = loadfixture( "workspacebuilder/config_script_fails.yaml" ) sconfig = kaptan.Kaptan(handler='yaml') yaml = config_script_fails.format( fixtures_dir=fixtures_dir, script_failed=os.path.join(fixtures_dir, 'script_failed.sh') ) sconfig = sconfig.import_config(yaml).get() sconfig = config.expand(sconfig) sconfig = config.trickle(sconfig) builder = WorkspaceBuilder(sconf=sconfig) with temp_session(server) as sess: session_name = sess.name with pytest.raises(exc.BeforeLoadScriptError): builder.build(session=sess) result = server.has_session(session_name) assert not result, \ "Kills session if before_script exits with errcode"
def test_kills_session(server): server = server session_name = get_test_session_name(server=server) with temp_session(server=server, session_name=session_name): result = server.has_session(session_name) assert result assert not server.has_session(session_name)
def test_before_load_true_if_test_passes_with_args(server): config_script_completes = test_utils.read_config_file( "workspacebuilder/config_script_completes.yaml") script_complete_sh = FIXTURE_PATH / "script_complete.sh" assert script_complete_sh.exists() sconfig = kaptan.Kaptan(handler="yaml") yaml = config_script_completes.format(script_complete=script_complete_sh) sconfig = sconfig.import_config(yaml).get() sconfig = config.expand(sconfig) sconfig = config.trickle(sconfig) builder = WorkspaceBuilder(sconf=sconfig) with temp_session(server) as session: builder.build(session=session)
def test_if_session_killed_before(server): """Handles situation where session already closed within context""" server = server session_name = get_test_session_name(server=server) with temp_session(server=server, session_name=session_name): # an error or an exception within a temp_session kills the session server.kill_session(session_name) result = server.has_session(session_name) assert not result # really dead? assert not server.has_session(session_name)
def test_if_session_killed_before(server): """Handles situation where session already closed within context""" server = server session_name = get_test_session_name(server=server) with temp_session(server=server, session_name=session_name): # an error or an exception within a temp_session kills the session server.kill_session(session_name) result = server.has_session(session_name) assert not result # really dead? assert not server.has_session(session_name)
def test_before_load_true_if_test_passes(server): config_script_completes = loadfixture( "workspacebuilder/config_script_completes.yaml") assert os.path.exists(os.path.join(fixtures_dir, 'script_complete.sh')) sconfig = kaptan.Kaptan(handler='yaml') yaml = config_script_completes.format( fixtures_dir=fixtures_dir, script_complete=os.path.join(fixtures_dir, 'script_complete.sh'), ) sconfig = sconfig.import_config(yaml).get() sconfig = config.expand(sconfig) sconfig = config.trickle(sconfig) builder = WorkspaceBuilder(sconf=sconfig) with temp_session(server) as session: builder.build(session=session)
def test_before_load_true_if_test_passes(server): config_script_completes = loadfixture( "workspacebuilder/config_script_completes.yaml" ) assert os.path.exists(os.path.join(fixtures_dir, 'script_complete.sh')) sconfig = kaptan.Kaptan(handler='yaml') yaml = config_script_completes.format( fixtures_dir=fixtures_dir, script_complete=os.path.join(fixtures_dir, 'script_complete.sh'), ) sconfig = sconfig.import_config(yaml).get() sconfig = config.expand(sconfig) sconfig = config.trickle(sconfig) builder = WorkspaceBuilder(sconf=sconfig) with temp_session(server) as session: builder.build(session=session)
def test_before_load_throw_error_if_retcode_error(server): config_script_fails = test_utils.read_config_file( "workspacebuilder/config_script_fails.yaml") sconfig = kaptan.Kaptan(handler="yaml") yaml = config_script_fails.format(script_failed=FIXTURE_PATH / "script_failed.sh", ) sconfig = sconfig.import_config(yaml).get() sconfig = config.expand(sconfig) sconfig = config.trickle(sconfig) builder = WorkspaceBuilder(sconf=sconfig) with temp_session(server) as sess: session_name = sess.name with pytest.raises(exc.BeforeLoadScriptError): builder.build(session=sess) result = server.has_session(session_name) assert not result, "Kills session if before_script exits with errcode"
def test_before_load_throw_error_if_file_not_exists(server): config_script_not_exists = test_utils.read_config_file( "workspacebuilder/config_script_not_exists.yaml") sconfig = kaptan.Kaptan(handler="yaml") yaml = config_script_not_exists.format(script_not_exists=FIXTURE_PATH / "script_not_exists.sh", ) sconfig = sconfig.import_config(yaml).get() sconfig = config.expand(sconfig) sconfig = config.trickle(sconfig) builder = WorkspaceBuilder(sconf=sconfig) with temp_session(server) as sess: session_name = sess.name temp_session_exists = server.has_session(sess.name) assert temp_session_exists with pytest.raises( (exc.BeforeLoadScriptNotExists, OSError)) as excinfo: builder.build(session=sess) excinfo.match(r"No such file or directory") result = server.has_session(session_name) assert not result, "Kills session if before_script doesn't exist"