コード例 #1
0
def test_defaults():
    """Test auto generated metadata from module is as expected."""
    runner = CliRunner()
    result = runner.invoke(ramp.pack,
                           [MODULE_FILE_PATH, '-o', BUNDLE_ZIP_FILE])
    assert result.exit_code == 0

    metadata, _ = unpacker.unpack(BUNDLE_ZIP_FILE)
    assert metadata["module_name"] == "graph"
    assert metadata["module_file"] == MODULE_FILE
    assert metadata["architecture"] == 'x86_64'
    assert metadata["version"] == MODULE_VERSION
    assert metadata["semantic_version"] == MODULE_SEMANTIC_VERSION
    assert metadata["display_name"] == module_metadata.DISPLAY_NAME
    assert metadata["author"] == module_metadata.AUTHOR
    assert metadata["email"] == module_metadata.EMAIL
    assert metadata["description"] == module_metadata.DESCRIPTION
    assert metadata["homepage"] == module_metadata.HOMEPAGE
    assert metadata["license"] == module_metadata.LICENSE
    assert metadata["command_line_args"] == module_metadata.COMMAND_LINE_ARGS
    assert metadata["min_redis_version"] == module_metadata.MIN_REDIS_VERSION
    assert metadata[
        "min_redis_pack_version"] == module_metadata.MIN_REDIS_PACK_VERSION
    assert metadata["config_command"] == module_metadata.CONFIG_COMMAND
    assert metadata["capabilities"] == module_metadata.MODULE_CAPABILITIES
    assert metadata[
        "ramp_format_version"] == module_metadata.RAMP_FORMAT_VERSION
    assert metadata["sha256"] == sha256_checksum(MODULE_FILE_PATH)
    assert metadata["os_list"] == module_metadata.OS_LIST

    validate_module_commands(metadata["commands"])
コード例 #2
0
def test_bundle_from_menifest():
    """
    Test metadata generated from menifest file is as expected.
    """

    runner = CliRunner()
    result = runner.invoke(
        ramp.pack,
        [MODULE_FILE_PATH, '-m', MENIFEST_FILE_PATH, '-o', BUNDLE_ZIP_FILE])

    assert result.exit_code == 0
    metadata, _ = unpacker.unpack(BUNDLE_ZIP_FILE)

    assert metadata["module_name"] == "graph"
    assert metadata["module_file"] == MODULE_FILE
    assert metadata["architecture"] == "x86_64"
    assert metadata["version"] == MODULE_VERSION
    assert metadata["semantic_version"] == MODULE_SEMANTIC_VERSION
    assert metadata["sha256"] == sha256_checksum(MODULE_FILE_PATH)
    assert metadata["config_command"] == CONFIG_COMMAND
    assert metadata["os_list"] == module_metadata.OS_LIST

    with open(MENIFEST_FILE_PATH, 'r') as f:
        manifest = yaml.load(f)
        for key in manifest:
            assert metadata[key] == manifest[key]

    commands = metadata["commands"]
    validate_module_commands(commands)
コード例 #3
0
ファイル: test.py プロジェクト: rafie/RAMP
def test_bundle_from_cmd():
    """
    Test metadata generated from command line arguments is as expected.
    """

    author = "redislabs"
    email = "*****@*****.**"
    description = "desc some module"
    homepage = "http://github.com/redismodules/module"
    _license = "AGPL"
    command_line_args = "\"-output f --level debug\""
    min_redis_version = "4.6"
    min_redis_pack_version = "5.0"
    display_name = "test_module"
    module_name = "module_test"
    os_list = ["ubuntu14.04"]

    argv = [
        MODULE_FILE_PATH, '-a', author, '-e', email, '-D', description, '-ol',
        os_list, '-d', display_name, '-n', module_name, '-h', homepage, '-l',
        _license, '-c', command_line_args, '-r', min_redis_version, '-R',
        min_redis_pack_version, '-C',
        ','.join([cap['name'] for cap in MODULE_CAPABILITIES]), '-o',
        BUNDLE_ZIP_FILE, '-cc', CONFIG_COMMAND, '-E', 'graph.bulk', '-E',
        'graph.BULK', '--overide-command', '{"command_name": "graph.EXPLAIN"}'
    ]

    runner = CliRunner()
    result = runner.invoke(ramp.pack, argv)

    assert result.exit_code == 0
    metadata, _ = unpacker.unpack(BUNDLE_ZIP_FILE)

    assert metadata["module_name"] == module_name
    assert metadata["module_file"] == MODULE_FILE
    assert metadata["architecture"] == "x86_64"
    assert metadata["display_name"] == display_name
    assert metadata["version"] == MODULE_VERSION
    assert metadata["semantic_version"] == MODULE_SEMANTIC_VERSION
    assert metadata["author"] == author
    assert metadata["email"] == email
    assert metadata["description"] == description
    assert metadata["homepage"] == homepage
    assert metadata["license"] == _license
    assert metadata["command_line_args"] == command_line_args
    assert metadata["min_redis_version"] == min_redis_version
    assert metadata["min_redis_pack_version"] == min_redis_pack_version
    assert metadata["config_command"] == CONFIG_COMMAND
    assert metadata["sha256"] == sha256_checksum(MODULE_FILE_PATH)
    assert metadata["os_list"] == os_list
    assert len(metadata["capabilities"]) == len(MODULE_CAPABILITIES)

    git_sha = get_git_sha()
    if git_sha is not None:
        assert metadata["git_sha"] == git_sha

    commands = metadata["commands"]
    validate_module_commands(commands)
コード例 #4
0
def test_valid_bundle():
    """
    test bundle extraction
    """
    module_path = os.path.join(os.getcwd(), MODULE_FILE_PATH)
    path_to_bundle = os.path.join(os.getcwd(), BUNDLE_ZIP_FILE)
    metadata = module_metadata.create_default_metadata(module_path)
    metadata['module_name'] = 'module_name'

    packer.archive(module_path, metadata)
    metadata, binary = unpacker.unpack(path_to_bundle)
    assert metadata is not None
    assert binary is not None
コード例 #5
0
def test_bundle_from_cmd():
    """
    Test metadata generated from command line arguments is as expected.
    """

    author = "redislabs"
    email = "*****@*****.**"
    description = "desc some module"
    homepage = "http://github.com/redismodules/module"
    _license = "AGPL"
    command_line_args = "\"-output f --level debug\""
    min_redis_version = "4.6"
    min_redis_pack_version = "5.0"
    display_name = "test_module"

    argv = [
        MODULE_FILE_PATH, '-a', author, '-e', email, '-D', description, '-d',
        display_name, '-h', homepage, '-l', _license, '-c', command_line_args,
        '-r', min_redis_version, '-R', min_redis_pack_version, '-C',
        ','.join([cap['name']
                  for cap in MODULE_CAPABILITIES]), '-o', BUNDLE_ZIP_FILE
    ]

    runner = CliRunner()
    result = runner.invoke(ramp.pack, argv)

    assert result.exit_code == 0
    metadata, _ = unpacker.unpack(BUNDLE_ZIP_FILE)

    assert metadata["module_name"] == "graph"
    assert metadata["module_file"] == MODULE_FILE
    assert metadata["architecture"] == "x86_64"
    assert metadata["display_name"] == display_name
    assert metadata["version"] == MODULE_VERSION
    assert metadata["semantic_version"] == MODULE_SEMANTIC_VERSION
    assert metadata["author"] == author
    assert metadata["email"] == email
    assert metadata["description"] == description
    assert metadata["homepage"] == homepage
    assert metadata["license"] == _license
    assert metadata["command_line_args"] == command_line_args
    assert metadata["min_redis_version"] == min_redis_version
    assert metadata["min_redis_pack_version"] == min_redis_pack_version
    assert metadata["sha256"] == sha256_checksum(MODULE_FILE_PATH)
    assert len(metadata["capabilities"]) == len(MODULE_CAPABILITIES)

    commands = metadata["commands"]
    validate_module_commands(commands)
コード例 #6
0
ファイル: test.py プロジェクト: freight-trust/RAMP
def _test_bundle_from_menifest(manifest_file, manifest_file_path):
    """
    Test metadata generated from menifest file is as expected.
    """

    runner = CliRunner()
    result = runner.invoke(
        ramp.pack,
        [MODULE_FILE_PATH, '-m', manifest_file_path, '-o', BUNDLE_ZIP_FILE])

    assert result.exit_code == 0
    metadata, _ = unpacker.unpack(BUNDLE_ZIP_FILE)

    assert metadata["module_name"] == "graph"
    assert metadata["module_file"] == MODULE_FILE
    assert metadata["architecture"] == "x86_64"
    assert metadata["version"] == MODULE_VERSION
    assert metadata["semantic_version"] == MODULE_SEMANTIC_VERSION
    assert metadata["sha256"] == sha256_checksum(MODULE_FILE_PATH)
    assert metadata["config_command"] == CONFIG_COMMAND

    git_sha = get_git_sha()
    if git_sha is not None:
        assert metadata["git_sha"] == git_sha

    with open(MENIFEST_FILE_PATH, 'r') as f:
        manifest = yaml.load(f)
        for key in manifest:
            if key == 'dependencies':
                assert metadata[key] == unpacker.normalize_dependencies(
                    manifest[key])
            else:
                assert metadata[key] == manifest[key]

    commands = metadata["commands"]
    validate_module_commands(commands)