示例#1
0
def test_file_exists():
    filename = TEMP_FOLDER + "pytest.txt"
    assert file_exists(filename) is False
    with open(filename, "w+") as f:
        json.dump([], f)
    assert file_exists(filename) is True
    os.remove(filename)
示例#2
0
def test_save_json():
    filename = TEMP_FOLDER + "test.json"
    data = {"test": True}
    if file_exists(filename):
        os.remove(filename)
    assert file_exists(filename) is False
    save_json(filename, data)
    assert file_exists(filename)
    data = read_json(filename)
    assert data["test"] is True
示例#3
0
def test_load_deployer(deployer, config, configfile):
    home_folder = configfile["cli"].get("home_folder")
    test_deployer = home_folder + "/test.json"
    assert file_exists(test_deployer) is False
    save_deployer(deployer, config)
    assert file_exists(test_deployer) is True
    saved_deployer = load_deployer(config, "test")
    for key in saved_deployer:
        assert saved_deployer[key] == deployer[key]
    delete_deployer(config, "test")
    assert file_exists(test_deployer) is False
示例#4
0
def test_read_yaml():
    filename = TEMP_FOLDER + "test.yaml"
    data = {"test": True}
    with open(filename, "w+") as f:
        yaml.dump(data, f)
    assert file_exists(filename)
    data = read_yaml(filename)
    assert data["test"] is True
示例#5
0
def config(ctx, name):
    """Display resources used by a deployer"""
    home_folder = ctx.obj.config.get("cli", "home_folder", "~/.freeldep")
    config_file = home_folder + "/" + name + ".json"
    if file_exists(config_file):
        config = read_json(config_file)
        click.echo(json.dumps(config, indent=4))
    else:
        raise click.BadParameter(f"This deployer {name} does not exist")
示例#6
0
def deploy_project(
    deployer,
    project,
    stack_file,
    package_script="./bin/package.sh",
    dryrun=False,
    output_location=None,
):
    if not file_exists(stack_file):
        raise FileNotFoundError("No stack to deploy")
    stacks = read_yaml(stack_file)

    if file_exists(package_script) and not execute_script(package_script):
        raise RuntimeError("Packge script failed")

    Compiler.trigger_deployment(
        deployer, stacks, dryrun=dryrun, output_folder=output_location
    )