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")]
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")]
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")}
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
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
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")}
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 = {
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 = {
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")]
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")}
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")}
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):