Пример #1
0
def test_graph_should_import_setting_with_import_dependencies():
    mdl = MockDependencyLoader()
    mdl.a_setting("test", imports=["from setuptools import setup"])

    g = Setup(mdl)
    g.add_setting("test")

    assert g.imports == {"from setuptools import setup"}
    assert g.settings == [Setting("test")]
Пример #2
0
def test_graph_should_produce_minimal_setting_dependency_set_by_name():
    mdl = MockDependencyLoader()
    mdl.a_setting("test")

    g = Setup(mdl)
    g.add_setting("test")
    g.add_setting("test")

    assert g.settings == [Setting("test")]
Пример #3
0
def test_graph_should_be_able_to_load_feature_with_import_dependencies():
    mdl = MockDependencyLoader()
    mdl.a_feature("test", ["from setuptools import setup"])

    g = Setup(mdl)
    g.add_feature("test")

    assert g.imports == {"from setuptools import setup"}
    assert g.features == {Feature("test")}
Пример #4
0
def test_can_produce_its_own_config():
    mdl = MockDependencyLoader()
    mdl.a_feature("merge",
                  code="""def merge(*dicts):
    r = {}
    for d in dicts:
        r.update(d)
    return r""")

    mdl.a_setting("BASE",
                  features=["merge"],
                  imports=[
                      "from setuptools import find_packages",
                      "from setuptools import setup"
                  ],
                  properties={
                      "name":
                      "\"mypackage\"",
                      "version":
                      "\"0.1.0\"",
                      "packages":
                      "find_packages(exclude=['contrib', 'docs', 'test'])"
                  })

    mdl.a_setting("SETUPY",
                  properties={
                      "name": "\"setupy\"",
                      "version": "\"0.1.0\"",
                  })

    assert setupy(settings=["BASE", "SETUPY"],
                  dependency_loader=MockDependencyLoader()
                  ) == """from setuptools import find_packages, setup
Пример #5
0
def test_serializer_can_serialize_with_imports():
    setup = Setup(MockDependencyLoader())
    setup.add_import("from setuptools import setup")
    setup.add_import("from setuptools import find_packages")
    setup.add_import("from os import path")
    setup.add_import("from io import open")

    assert serialize_imports(setup) == """from io import open
Пример #6
0
def test_adding_cyclical_feature_dependencies_is_fine():
    mdl = MockDependencyLoader()
    mdl.a_feature("test", features=["test2"])
    mdl.a_feature("test2", features=["test3"])
    mdl.a_feature("test3", features=["test"])

    g = Setup(mdl)
    g.add_feature("test")

    assert g.features == {Feature("test"), Feature("test2"), Feature("test3")}
Пример #7
0
def test_serializer_can_serialize_settings():
    mdl = MockDependencyLoader()
    mdl.a_setting('BASE',
                  properties={
                      "name":
                      "\"setupy\"",
                      "version":
                      "\"0.1.0\"",
                      "packages":
                      "find_packages(exclude=['contrib', 'docs', 'test'])"
                  })

    setup = Setup(mdl)
    setup.add_setting('BASE')

    serialized_settings, _ = serialize_settings(setup)

    assert serialized_settings == """BASE = {
Пример #8
0
def test_serializer_can_deserialize_nested_dictionary_setting():
    mdl = MockDependencyLoader()
    mdl.a_setting('BASE',
                  properties={
                      "name": "\"setupy\"",
                      "version": "\"0.1.0\"",
                      "packages":
                      "find_packages(exclude=['contrib', 'docs', 'test'])",
                      "extra_requires": {
                          "dev": ["\"pytest\""]
                      }
                  })

    setup = Setup(mdl)
    setup.add_setting('BASE')

    serialized_settings, _ = serialize_settings(setup)

    assert serialized_settings == """BASE = {
Пример #9
0
def test_graph_should_produce_minimal_feature_dependency_set_by_name():
    mdl = MockDependencyLoader()
    mdl.a_setting("test", features=["test3"])
    mdl.a_feature("test2", features=["test3"])
    mdl.a_feature("test3", imports=["from setuptools import setup"])

    g = Setup(mdl)
    g.add_setting("test")
    g.add_feature("test2")

    assert g.imports == {"from setuptools import setup"}
    assert g.features == {Feature("test2"), Feature("test3")}
    assert g.settings == [Setting("test")]
Пример #10
0
def test_graph_should_import_feature_with_feature_dependencies():
    mdl = MockDependencyLoader()
    mdl.a_feature("test", features=["test2"])
    mdl.a_feature("test2", imports=["from setuptools import setup"])

    g = Setup(mdl)
    g.add_feature("test")

    assert g.imports == {"from setuptools import setup"}
    assert g.features == {Feature("test"), Feature("test2")}
Пример #11
0
def test_graph_should_produce_the_minimal_import_dependency_set():
    mdl = MockDependencyLoader()
    mdl.a_feature("test", ["from setuptools import setup"])
    mdl.a_feature("test2", ["from setuptools import setup"])

    g = Setup(mdl)
    g.add_feature("test")
    g.add_feature("test2")

    assert g.imports == {"from setuptools import setup"}
    assert g.features == {Feature("test"), Feature("test2")}
Пример #12
0
def test_serializer_can_serialize_features():
    mdl = MockDependencyLoader()
    mdl.a_feature("test",
                  code="""def merge(*dicts):
    r = {}
    for d in dicts:
        r.update(d)
    return r""")

    mdl.a_feature("test2",
                  code="""def merge(*dicts):
    r = {}
    for d in dicts:
        r.update(d)
    return r""")

    setup = Setup(mdl)
    setup.add_feature("test")
    setup.add_feature("test2")

    assert serialize_features(setup) == """def merge(*dicts):