Exemple #1
0
def test_builder_simple_with_multi_meta_field():
    manifest = build(
        BASE_MANIFEST,
        authors("some", "guy"),
        license("MIT"),
        description("description"),
        keywords("awesome", "package"),
        links(website="www", repository="github"),
        validate(),
    )
    expected = assoc(
        BASE_MANIFEST,
        "meta",
        {
            "license": "MIT",
            "authors": ["some", "guy"],
            "description": "description",
            "keywords": ["awesome", "package"],
            "links": {
                "website": "www",
                "repository": "github"
            },
        },
    )
    assert manifest == expected
Exemple #2
0
def gen_links() -> Optional[Callable[..., Manifest]]:
    flag = parse_bool_flag(
        "Would you like to add links to the documentation, "
        "repo, or website in your package?"
    )
    if flag:
        documentation = input(
            "Enter a link for your documentation (leave blank to skip): "
        )
        repo = input("Enter a link for your repository (leave blank to skip): ")
        website = input("Enter a link for your website (leave blank to skip): ")
        link_kwargs = {"documentation": documentation, "repo": repo, "website": website}
        actual_kwargs = {k: v for k, v in link_kwargs.items() if v}
        return b.links(**actual_kwargs)
    return None
Exemple #3
0
def amend_links(manifest: Manifest) -> Optional[Callable[..., Manifest]]:
    try:
        links = manifest["meta"]["links"]
    except KeyError:
        flag = parse_bool_flag("No links found, would you like to add any?")
    else:
        flag = parse_bool_flag(f"Links found ({links}). Would you like to change them?")

    if flag:
        documentation = input(
            "Enter a new link for your documentation (leave blank to skip): "
        )
        repo = input("Enter a new link for your repository (leave blank to skip): ")
        website = input("Enter a new link for your website (leave blank to skip): ")
        link_kwargs = {"documentation": documentation, "repo": repo, "website": website}
        actual_kwargs = {k: v for k, v in link_kwargs.items() if v}
        return b.links(**actual_kwargs)
    return None
Exemple #4
0
def test_builder_with_init_manifest(owned_package, dummy_ipfs_backend):
    root, expected_manifest, compiler_output = owned_package
    ipfs_backend = get_ipfs_backend()

    manifest = build(
        init_manifest(package_name="owned", version="1.0.0"),
        authors("Piper Merriam <*****@*****.**>"),
        description(
            "Reusable contracts which implement a privileged 'owner' model for authorization."
        ),
        keywords("authorization"),
        license("MIT"),
        links(documentation=
              "ipfs://QmUYcVzTfSwJoigggMxeo2g5STWAgJdisQsqcXHws7b1FW"),
        pin_source("Owned", compiler_output, ipfs_backend, root),
        validate(),
    )

    assert manifest == expected_manifest
Exemple #5
0
    "fn,value",
    (
        (authors("some", "guy"), {
            "authors": ["some", "guy"]
        }),
        (license("MIT"), {
            "license": "MIT"
        }),
        (description("This is a package."), {
            "description": "This is a package."
        }),
        (keywords("awesome", "package"), {
            "keywords": ["awesome", "package"]
        }),
        (
            links(documentation="ipfs..", website="www"),
            {
                "links": {
                    "documentation": "ipfs..",
                    "website": "www"
                }
            },
        ),
    ),
)
def test_builder_with_simple_meta_fields(fn, value):
    manifest = build(BASE_MANIFEST, fn, validate())
    expected = assoc(BASE_MANIFEST, "meta", value)
    assert manifest == expected