def test_builder__set_kwargs__after_finalize(): expected = {"IN_PATH" : "/a/b/"} builder = AtomicCmdBuilder("echo") builder.set_kwargs(IN_PATH = "/a/b/") builder.finalize() assert_raises(AtomicCmdBuilderError, builder.set_kwargs, OUT_PATH = "/dst/file") assert_equal(builder.kwargs, expected)
def test_builder__set_kwargs__after_finalize(): expected = {"IN_PATH": "/a/b/"} builder = AtomicCmdBuilder("echo") builder.set_kwargs(IN_PATH="/a/b/") builder.finalize() assert_raises(AtomicCmdBuilderError, builder.set_kwargs, OUT_PATH="/dst/file") assert_equal(builder.kwargs, expected)
def test_builder__finalize__calls_atomiccmd(): was_called = [] class _AtomicCmdMock: def __init__(self, *args, **kwargs): assert_equal(args, (["echo", "-out", "%(OUT_FILE)s", "%(IN_FILE)s"],)) assert_equal(kwargs, {"IN_FILE" : "/in/file", "OUT_FILE" : "/out/file", "set_cwd" : True}) was_called.append(True) with Monkeypatch("pypeline.atomiccmd.builder.AtomicCmd", _AtomicCmdMock): builder = AtomicCmdBuilder("echo", set_cwd = True) builder.add_option("-out", "%(OUT_FILE)s") builder.add_value("%(IN_FILE)s") builder.set_kwargs(OUT_FILE = "/out/file", IN_FILE = "/in/file") builder.finalize() assert was_called
def test_builder__finalize__calls_atomiccmd(): was_called = [] class _AtomicCmdMock: def __init__(self, *args, **kwargs): assert_equal(args, (["echo", "-out", "%(OUT_FILE)s", "%(IN_FILE)s"], )) assert_equal(kwargs, { "IN_FILE": "/in/file", "OUT_FILE": "/out/file", "set_cwd": True }) was_called.append(True) with Monkeypatch("pypeline.atomiccmd.builder.AtomicCmd", _AtomicCmdMock): builder = AtomicCmdBuilder("echo", set_cwd=True) builder.add_option("-out", "%(OUT_FILE)s") builder.add_value("%(IN_FILE)s") builder.set_kwargs(OUT_FILE="/out/file", IN_FILE="/in/file") builder.finalize() assert was_called
def __init__(self, d_bam, dependencies): aux_r = os.path.join(os.path.dirname(gccorrect.__file__), 'model_gc.R') dest = os.path.join(d_bam.bam_output, '%s_GC_Model.txt' % (str(d_bam.bam_name))) plot_dest = os.path.splitext(dest)[0] + '.pdf' infiles = [''.join(n.output_files) for n in dependencies] builder = AtomicCmdBuilder(("Rscript", "%(AUX_R)s")) builder.add_value('%(OUT_FILEPATH)s') builder.add_value('%(OUT_PLOT)s') builder.add_multiple_values(infiles) builder.set_kwargs(AUX_R=aux_r, OUT_FILEPATH=dest, OUT_PLOT=plot_dest, CHECK_VERSION=Rscript_VERSION) cmd = builder.finalize() d_bam.opts['BamInfo']['--GCmodel'] = dest description = "<CreateGCModel: '%s' -> '%s'" % (d_bam.bam_temp_local, dest) CommandNode.__init__(self, description=description, command=cmd, dependencies=dependencies)
def test_builder__finalize__returns_singleton(): builder = AtomicCmdBuilder("echo") assert builder.finalize() is builder.finalize()
def _do_test_builder__add_or_set_option__after_finalize(setter): builder = AtomicCmdBuilder("find") builder.finalize() assert_raises(AtomicCmdBuilderError, setter, builder, "-size", "1")
def test_builder__finalize__returns_singleton(): builder = AtomicCmdBuilder("echo") assert builder.finalize() is builder.finalize()
def _do_test_builder__add_or_set_option__after_finalize(setter): builder = AtomicCmdBuilder("find") builder.finalize() assert_raises(AtomicCmdBuilderError, setter, builder, "-size", "1")