def test_source_paths_with_interface(): original = TEST_MANIFEST.copy() original["sources"] = { "./contracts/foo.sol": "ipfs://testipfs-simple-source", "./interfaces/bar.sol": "ipfs://testipfs-simple-source", } processed = ethpm.process_manifest(original) assert sorted( processed["sources"]) == ["contracts/foo.sol", "interfaces/bar.sol"] original["sources"] = { "contracts/foo.sol": "ipfs://testipfs-simple-source", "interfaces/bar.sol": "ipfs://testipfs-simple-source", } assert processed == ethpm.process_manifest(original)
def test_source_paths(): original = TEST_MANIFEST.copy() original["sources"] = {"./simple.sol": "ipfs://testipfs-simple-source"} processed = ethpm.process_manifest(original) assert list(processed["sources"]) == ["contracts/simple.sol"] original["sources"] = { "./contracts/simple.sol": "ipfs://testipfs-simple-source" } assert processed == ethpm.process_manifest(original) original["sources"] = {"simple.sol": "ipfs://testipfs-simple-source"} assert processed == ethpm.process_manifest(original) original["sources"] = { "contracts/simple.sol": "ipfs://testipfs-simple-source" } assert processed == ethpm.process_manifest(original)
def test_pin_and_get(dep_project): package_config = ETHPM_CONFIG.copy() package_config["settings"]["include_dependencies"] = False manifest, uri = ethpm.create_manifest(dep_project._path, package_config, True) process = ethpm.process_manifest(manifest, uri) get = ethpm.get_manifest(uri) for key in list(process) + list(get): if type(process[key]) is str: assert process[key] == get[key] continue for k in list(process[key]) + list(get[key]): assert process[key][k] == get[key][k]
def test_invalid_manifest(): with pytest.raises(InvalidManifest): ethpm.process_manifest({}) with pytest.raises(InvalidManifest): ethpm.process_manifest({"manifest_version": "1"})