コード例 #1
0
ファイル: test_gravitybee.py プロジェクト: plus3it/gravitybee
def test_no_output():
    """Makes sure that when no output flag is on, no files are created."""
    args = Arguments(
        src_dir="src",
        extra_data=["gbextradata"],
        pkg_dir=os.path.join("tests", "gbtestapp"),
        clean=True,
        no_file=True
    )
    package_generator = PackageGenerator(args)
    generated_okay = package_generator.generate()

    sha_filename = package_generator.args.formats["sha"].format(
        an=package_generator.args.info['app_name'],
        v=package_generator.args.info['app_version'],
        os=package_generator.args.info['operating_system'],
        m=package_generator.args.info['machine_type']
    )

    assert generated_okay == EXIT_OKAY \
        and not os.path.exists(PackageGenerator.INFO_FILE) \
        and not os.path.exists(PackageGenerator.FILES_FILE) \
        and not os.path.exists(PackageGenerator.ENVIRON_SCRIPT
                               + PackageGenerator.ENVIRON_SCRIPT_POSIX_EXT) \
        and not os.path.exists(PackageGenerator.ENVIRON_SCRIPT
                               + PackageGenerator.ENVIRON_SCRIPT_WIN_EXT) \
        and not os.path.exists(sha_filename)
コード例 #2
0
def test_file_label():
    """ Test if GravityBee writes correct label in gravitybee-files.json. """

    label_prefix = "GBTESTapp YO"
    arguments = Arguments(
        src_dir="src",
        extra_data=["gbextradata"],
        pkg_dir=os.path.join("tests", "gbtestapp"),
        sha=Arguments.OPTION_SHA_FILE,
        clean=True,
        label_format=label_prefix + " {v} {ft} for {os}"
    )
    package_generator = PackageGenerator(arguments)
    generated_okay = package_generator.generate()
    if generated_okay == EXIT_OKAY:
        sa_file = open(
            os.path.join(
                FILE_DIR,
                "gravitybee-files.json"
            ), "r"
        )
        gb_files = json.loads(sa_file.read())
        sa_file.close()

        assert gb_files[0]['label'].startswith(label_prefix)
    else:
        assert False
コード例 #3
0
def arguments():
    """Returns an Arguments instance using the included app"""
    return Arguments(src_dir="src",
                     extra_data=["gbextradata"],
                     pkg_dir=os.path.join("tests", "gbtestapp"),
                     sha=Arguments.OPTION_SHA_FILE,
                     clean=True)
コード例 #4
0
def test_hook_with_extras():
    """
    Tests that the hook generated matches what is expected when including
    "extras" packages in the app
    """
    arguments = Arguments(src_dir="src",
                          extra_data=["gbextradata"],
                          pkg_dir=os.path.join("tests", "gbtestapp"),
                          sha=Arguments.OPTION_SHA_FILE,
                          include_setup_extras=True,
                          clean=False)
    package_generator = PackageGenerator(arguments)

    generated_okay = package_generator.generate()
    if generated_okay == EXIT_OKAY:
        generated_hook = (Path(package_generator.args.directories['work']) /
                          'hooks' /
                          'hook-gbtestapp.py').read_text(encoding='utf-8')
        suffix = ""
        if platform.system().lower() == "windows":
            suffix = "_windows"
        compare_file = (
            Path("tests") / "gbtestapp" /
            ("correct_hook_with_extras" + suffix + ".txt")).read_text(
                encoding='utf-8')

        assert generated_hook == compare_file
    else:
        assert False
コード例 #5
0
ファイル: test_gravitybee.py プロジェクト: plus3it/gravitybee
def test_extra_pkgs_modules():
    """Makes sure everything works with an extra package and module."""
    args = Arguments(
        src_dir="src",
        extra_data=["gbextradata"],
        pkg_dir=os.path.join("tests", "gbtestapp"),
        clean=False,
        extra_pkgs=["PyYAML"],
        extra_modules=["yaml"],
    )
    package_generator = PackageGenerator(args)
    generated_okay = package_generator.generate()

    assert generated_okay == EXIT_OKAY
コード例 #6
0
def testapp2_arguments():
    """Returns an Arguments instance using the included app.
    This app tests packaging an app that has differently named packages
    and also has multiple packages (gbtest2, gbextradata2)"""

    return Arguments(
        src_dir="src",
        extra_data=["../gbextradata2"],
        pkg_dir=os.path.join("tests", "testapp2"),
        app_name="testapp2",
        pkg_name="gbtest2",
        sha=Arguments.OPTION_SHA_FILE,
        clean=True,
    )
コード例 #7
0
def test_no_output_but_sha():
    """Makes sure that when no output flag is on, no files are created."""
    args = Arguments(src_dir="src",
                     extra_data=["gbextradata"],
                     pkg_dir=os.path.join("tests", "gbtestapp"),
                     sha=Arguments.OPTION_SHA_FILE,
                     clean=True,
                     no_file=True)
    package_generator = PackageGenerator(args)
    generated_okay = package_generator.generate()

    assert generated_okay == EXIT_OKAY \
        and not os.path.exists(PackageGenerator.INFO_FILE) \
        and not os.path.exists(PackageGenerator.FILES_FILE) \
        and not os.path.exists(PackageGenerator.ENVIRON_SCRIPT
                               + PackageGenerator.ENVIRON_SCRIPT_POSIX_EXT) \
        and not os.path.exists(PackageGenerator.ENVIRON_SCRIPT
                               + PackageGenerator.ENVIRON_SCRIPT_WIN_EXT) \
        and os.path.exists(package_generator.files["sha_w_path"])
コード例 #8
0
ファイル: test_gravitybee.py プロジェクト: plus3it/gravitybee
def testing_defaults():
    """Return an Arguments instance for testing defaults"""
    if not os.getcwd().endswith(os.path.join("tests", "gbtestapp")):
        os.chdir(os.path.join("tests", "gbtestapp"))
    return Arguments()