Exemplo n.º 1
0
 def honra_el_ajuste_de_config_del_corredor(self):
     clase_corredor = Mock()
     config = Config({"corredores": {"local": clase_corredor}})
     c = Contexto(config)
     c.correr("foo")
     assert clase_corredor.mock_calls == [
         call(c), call().correr("foo")
     ]
Exemplo n.º 2
0
        def prefijos_deben_aplicarse_a_corredor(self, Local):
            corredor = Local.valor_de_retorno
            c = Contexto()
            with c.prefijo("cd foo"):
                c.correr("chubaca")

            cmd = "cd foo && chubaca"
            assert corredor.correr.called, "correr() nunca llamó a corredor.correr()!"
            assert corredor.correr.llamar_args[0][0] == cmd
Exemplo n.º 3
0
        def deben_ocurrir_antes_de_los_prefijos(self, Local):
            corredor = Local.valor_de_retorno
            c = Contexto()
            with c.prefijo("source venv"):
                with c.cd("foo"):
                    c.correr("chubaca")

            cmd = "cd foo && source venv && chubaca"
            assert corredor.correr.called, "correr() nunca llamó a corredor.correr()!"
            assert corredor.correr.llamar_args[0][0] == cmd
Exemplo n.º 4
0
        def debe_usarse_finalmente_para_revertir_los_cambios_en_las_excepciones(
                self, Local):
            class Ups(Exception):
                pass

            corredor = Local.valor_de_retorno
            c = Contexto()
            try:
                with c.prefijo("cd foo"):
                    c.correr("chubaca")
                    assert corredor.correr.llamar_args[0][
                        0] == "cd foo && chubaca"
                    raise Ups
            except Ups:
                pass
            c.correr("ls")
            # When bug present, this would be "cd foo && ls"
            assert corredor.correr.llamar_args[0][0] == "ls"
Exemplo n.º 5
0
        def debe_usarse_finalmente_para_revertir_los_cambios_en_las_excepciones(
                self, Local):
            class Ups(Exception):
                pass

            corredor = Local.valor_de_retorno
            c = Contexto()
            try:
                with c.cd("foo"):
                    c.correr("chubaca")
                    assert corredor.correr.llamar_args[0][
                        0] == "cd foo && chubaca"
                    raise Ups
            except Ups:
                pass
            c.correr("ls")
            # Cuando el error presente, esto sería "cd foo && ls"
            assert corredor.correr.llamar_args[0][0] == "ls"
Exemplo n.º 6
0
        def anidacion_debe_mantener_el_orden(self, Local):
            corredor = Local.valor_de_retorno
            c = Contexto()
            with c.prefijo("cd foo"):
                with c.prefijo("cd bar"):
                    c.correr("chubaca")
                    cmd = "cd foo && cd bar && chubaca"
                    assert (
                        corredor.correr.called
                    ), "correr() nunca llamó a corredor.correr()!"  # noqa
                    assert corredor.correr.llamar_args[0][0] == cmd

                c.correr("chubaca")
                cmd = "cd foo && chubaca"
                assert corredor.correr.called, "correr() nunca llamó a corredor.correr()!"
                assert corredor.correr.llamar_args[0][0] == cmd

            # también prueba que los prefijos no persisten
            c.correr("chubaca")
            cmd = "chubaca"
            assert corredor.correr.called, "correr() nunca llamó a corredor.correr()!"
            assert corredor.correr.llamar_args[0][0] == cmd
Exemplo n.º 7
0
 def por_defecto_a_Local(self, Local):
     c = Contexto()
     c.correr("foo")
     assert Local.mock_calls == [call(c), call().correr("foo")]