Ejemplo n.º 1
0
Archivo: config.py Proyecto: dued/dued
 def entradas_tipo_booleano_con_valores_pordefecto_no_booleanos(
         self):
     for entrada_ in ("0", "1", "", "bah", "false"):
         os.environ["DUED_FOO"] = entrada_
         c = Config(defaults={"foo": "bar"})
         c.cargar_entorno_shell()
         assert c.foo == entrada_
Ejemplo n.º 2
0
Archivo: config.py Proyecto: dued/dued
 def unicode_reemplazado_por_el_valor_entorno(self):
     # Python 3 no le permite poner objetos 'bytes' en
     # os.environ, por lo que la prueba no tiene sentido allí.
     if six.PY3:
         return
     os.environ["DUED_FOO"] = "miunicode"
     c = Config(defaults={"foo": u"miviejovalor"})
     c.cargar_entorno_shell()
     assert c.foo == "miunicode"
     assert isinstance(c.foo, str)
Ejemplo n.º 3
0
Archivo: config.py Proyecto: dued/dued
 def varent_anulan_la_coleccion(self):
     os.environ["dued_OUTER_INNER_HOORAY"] = "entorno"
     c = Config()
     c.cargar_coleccion(
         {"exterior": {
             "interior": {
                 "hurra": "defaults"
             }
         }})
     c.cargar_entorno_shell()
     assert c.exterior.interior.hurra == "entorno"
Ejemplo n.º 4
0
Archivo: config.py Proyecto: dued/dued
            def tipos_arbitrarios_tambien_trabajan(self):
                os.environ["DUED_FOO"] = "cualquier"

                class Meh(object):
                    def __init__(self, thing=None):
                        pass

                obj_viejo = Meh()
                c = Config(defaults={"foo": obj_viejo})
                c.cargar_entorno_shell()
                assert isinstance(c.foo, Meh)
                assert c.foo is not obj_viejo
Ejemplo n.º 5
0
Archivo: config.py Proyecto: dued/dued
 def booleanos(self):
     for entrada_, resultado in (
         ("0", False),
         ("1", True),
         ("", False),
         ("bah", True),
         ("false", True),
     ):
         os.environ["DUED_FOO"] = entrada_
         c = Config(defaults={"foo": bool()})
         c.cargar_entorno_shell()
         assert c.foo == resultado
Ejemplo n.º 6
0
Archivo: config.py Proyecto: dued/dued
 def tipos_numericos_se_convierten(self):
     pruebas = [
         (int, "5", 5),
         (float, "5.5", 5.5),
         # TODO: more?
     ]
     # No se puede usar '5L' en Python 3, incluso tenerlo en una
     # rama lo molesta.
     if not six.PY3:
         pruebas.append((long, "5", long(5)))  # noqa
     for old, new_, resultado in pruebas:
         os.environ["DUED_FOO"] = new_
         c = Config(defaults={"foo": old()})
         c.cargar_entorno_shell()
         assert c.foo == resultado
Ejemplo n.º 7
0
Archivo: config.py Proyecto: dued/dued
 def _tipo_inconvertible(self, default):
     os.environ["DUED_FOO"] = "cosas"
     c = Config(defaults={"foo": default})
     c.cargar_entorno_shell()
Ejemplo n.º 8
0
Archivo: config.py Proyecto: dued/dued
 def caso_base_predeterminado_es_el_prefijo_dued(self):
     os.environ["DUED_FOO"] = "bar"
     c = Config(defaults={"foo": "nobar"})
     c.cargar_entorno_shell()
     assert c.foo == "bar"
Ejemplo n.º 9
0
Archivo: config.py Proyecto: dued/dued
 def cadenas_reemplazadas_por_el_valor_entorno(self):
     os.environ["DUED_FOO"] = u"mivalor"
     c = Config(defaults={"foo": "miviejovalor"})
     c.cargar_entorno_shell()
     assert c.foo == u"mivalor"
     assert isinstance(c.foo, six.text_type)
Ejemplo n.º 10
0
Archivo: config.py Proyecto: dued/dued
 def guiones_bajos_ambiguos_no_adivina(self):
     os.environ["DUED_FOO_BAR"] = "biz"
     c = Config(defaults={"foo_bar": "wat", "foo": {"bar": "huh"}})
     c.cargar_entorno_shell()
Ejemplo n.º 11
0
Archivo: config.py Proyecto: dued/dued
 def ambos_tipos_de_guiones_bajos_mezclados(self):
     os.environ["DUED_FOO_BAR_BIZ"] = "baz"
     c = Config(defaults={"foo_bar": {"biz": "nobaz"}})
     c.cargar_entorno_shell()
     assert c.foo_bar.biz == "baz"
Ejemplo n.º 12
0
Archivo: config.py Proyecto: dued/dued
 def guionesbajos_anidados(self):
     os.environ["DUED_FOO_BAR"] = "biz"
     c = Config(defaults={"foo": {"bar": "nobiz"}})
     c.cargar_entorno_shell()
     assert c.foo.bar == "biz"
Ejemplo n.º 13
0
Archivo: config.py Proyecto: dued/dued
 def guionbajo_nivel_superior(self):
     os.environ["DUED_FOO_BAR"] = "biz"
     c = Config(defaults={"foo_bar": "nobiz"})
     c.cargar_entorno_shell()
     assert c.foo_bar == "biz"
Ejemplo n.º 14
0
Archivo: config.py Proyecto: dued/dued
 def ajustes_no_predeclarados_no_se_consumen(self):
     os.environ["DUED_HOLA"] = "¿soy yo a quien estás buscando?"
     c = Config()
     c.cargar_entorno_shell()
     assert "HOLA" not in c
     assert "hola" not in c
Ejemplo n.º 15
0
Archivo: config.py Proyecto: dued/dued
 def varent_anulan_el_proyecto(self):
     os.environ["dued_OUTER_INNER_HOORAY"] = "entorno"
     c = Config(dir_de_py=join(CONFIGS_RUTA, "yaml"))
     c.cargar_proyecto()
     c.cargar_entorno_shell()
     assert c.exterior.interior.hurra == "entorno"
Ejemplo n.º 16
0
Archivo: config.py Proyecto: dued/dued
 def varent_anulan_todo_el_sistema(self):
     os.environ["dued_OUTER_INNER_HOORAY"] = "entorno"
     c = Config(sistema_prefijo=join(CONFIGS_RUTA, "yaml/"))
     c.cargar_entorno_shell()
     assert c.exterior.interior.hurra == "entorno"
Ejemplo n.º 17
0
Archivo: config.py Proyecto: dued/dued
 def None_reemplazado(self):
     os.environ["DUED_FOO"] = "algo"
     c = Config(defaults={"foo": None})
     c.cargar_entorno_shell()
     assert c.foo == "algo"
Ejemplo n.º 18
0
Archivo: config.py Proyecto: dued/dued
 def tiempoej_anulan_varent(self):
     os.environ["dued_OUTER_INNER_HOORAY"] = "entorno"
     c = Config(acte_ruta=join(CONFIGS_RUTA, "json", "dued.json"))
     c.cargar_acte()
     c.cargar_entorno_shell()
     assert c.exterior.interior.hurra == "json"
Ejemplo n.º 19
0
Archivo: config.py Proyecto: dued/dued
 def conserva_data_de_entorno(self):
     os.environ["DUED_FOO"] = "bar"
     c = Config(defaults={"foo": "nobar"})
     c.cargar_entorno_shell()
     c2 = c.clonar()
     assert c2.foo == "bar"