예제 #1
0
def get_results_from_colin_labels_image(target, parent_target=None):
    return colin.run(target=target.target_name,
                     parent_target=parent_target,
                     target_type=target.target_type,
                     ruleset_name="fedora",
                     logging_level=logging.DEBUG,
                     pull=False)
예제 #2
0
def test_ostree_target(ruleset):
    image_name = "colin-labels"
    ostree_path = convert_image_to_ostree(image_name=image_name)
    skopeo_target = get_skopeo_path(image_name=image_name, ostree_path=ostree_path)
    results = colin.run(skopeo_target, "ostree", ruleset=ruleset, logging_level=10, pull=False)
    assert results.ok
    assert results.results_per_check["url_label"].ok
예제 #3
0
def test_docker_image_target(ruleset):
    results = colin.run(LABELS_IMAGE,
                        "image",
                        ruleset=ruleset,
                        logging_level=10,
                        pull=False)
    assert results.ok
예제 #4
0
def get_results_from_colin_labels_image(ruleset_name=None,
                                        ruleset_file=None,
                                        ruleset=None):
    return colin.run("colin-labels",
                     ruleset_name=ruleset_name,
                     ruleset_file=ruleset_file,
                     ruleset=ruleset)
예제 #5
0
def test_podman_image_target(ruleset):
    results = colin.run(LABELS_IMAGE,
                        "image",
                        ruleset=ruleset,
                        logging_level=10,
                        pull=False)
    assert results.ok
    assert results.results_per_check["url_label"].ok
예제 #6
0
def get_results_from_colin_labels_image(image,
                                        ruleset_name=None,
                                        ruleset_file=None,
                                        ruleset=None):
    return colin.run(image.target_name,
                     image.target_type,
                     ruleset_name=ruleset_name,
                     ruleset_file=ruleset_file,
                     ruleset=ruleset)
예제 #7
0
def help_file_or_readme_test(ruleset, image, should_pass):
    """ verify that help_file_or_readme check works well """
    results = colin.run(target=image.target_name,
                        target_type=image.target_type,
                        ruleset=ruleset,
                        logging_level=10,
                        pull=False)
    assert results.ok
    assert results.fail is not should_pass
예제 #8
0
def test_help_file_or_readme(ruleset, image_name, should_pass):
    """ verify that help_file_or_readme check works well """
    results = colin.run(image_name,
                        "image",
                        ruleset=ruleset,
                        logging_level=10,
                        pull=False)
    assert results.ok
    assert results.fail is not should_pass
예제 #9
0
def test_missing_from(dockerfile_with_missing_from,
                      ruleset_from_tag_not_latest):
    result = colin.run(target=dockerfile_with_missing_from,
                       target_type="dockerfile",
                       ruleset=ruleset_from_tag_not_latest)
    assert result
    assert not result.ok
    assert result.results_per_check['from_tag_not_latest']
    assert not result.results_per_check['from_tag_not_latest'].ok
    assert result.results_per_check['from_tag_not_latest'].status == 'ERROR'
    assert result.results_per_check['from_tag_not_latest'].logs[
               0] == 'Cannot find FROM instruction.'
예제 #10
0
def test_dockertar_target(tmpdir, ruleset):
    tb = tmpdir.join("colin-labels.tar")
    cmd = [
        "skopeo", "copy", "docker-daemon:" + LABELS_IMAGE,
        "docker-archive:/" + str(tb)
    ]
    subprocess.check_call(cmd)
    results = colin.run(str(tb),
                        "dockertar",
                        ruleset=ruleset,
                        logging_level=10,
                        pull=False)
    assert results.ok
예제 #11
0
def test_ostree_target(ruleset):
    # /tmp is tmpfs and ostree can't do its magic there
    tmpdir_path = tempfile.mkdtemp(prefix="pytest-", dir="/var/tmp")
    ostree_path = os.path.join(tmpdir_path, "os3")
    os.makedirs(ostree_path)
    image_name = 'colin-labels'
    skopeo_target = "ostree:%s@%s" % (image_name, ostree_path)
    subprocess.check_call(
        ["ostree", "init", "--mode", "bare-user-only", "--repo", ostree_path])
    cmd = ["skopeo", "copy", "docker-daemon:" + LABELS_IMAGE, skopeo_target]
    subprocess.check_call(cmd)
    results = colin.run(skopeo_target,
                        "ostree",
                        ruleset=ruleset,
                        logging_level=10,
                        pull=False)
    assert results.ok
예제 #12
0
파일: core.py 프로젝트: user-cont/zdravomil
    def run_linter(self):
        """
        Run colin linter and set results
        """
        logger.debug('Run colin linting')
        self.colin_result = colin.run(target=self.dockerfile_path,
                                      ruleset_name="fedora",
                                      target_type='dockerfile')
        self.colin_logs = self.colin_result.get_pretty_string(stat=False,
                                                              verbose=False)
        self._set_result_status()

        if not self.colin_logs:
            raise Exception('Output of linter empty')

        logger.debug(
            self.colin_result.get_pretty_string(stat=False, verbose=True))
        logger.debug('Linters ended with status: %s', self.colin_result_status)
예제 #13
0
def get_results_from_colin_labels_image():
    return colin.run("colin-labels",
                     ruleset_name="fedora",
                     logging_level=logging.DEBUG)
예제 #14
0
def test_dynamic_check_bash(ruleset):
    results = colin.run(target=BASH_IMAGE, ruleset=ruleset, logging_level=10)
    assert results.ok
예제 #15
0
파일: test_labels.py 프로젝트: Allda/colin
def get_results_from_colin_labels_image():
    return colin.run("colin-labels", ruleset_name="fedora")
예제 #16
0
def get_results_from_colin_labels_image():
    return colin.run(LABELS_IMAGE,
                     "image",
                     ruleset_name="fedora",
                     logging_level=logging.DEBUG,
                     pull=False)
예제 #17
0
import colin

result = colin.run("image")
assert result.ok
assert result.status == "passed"
print(result.logs())
예제 #18
0
def test_multiple_labels_check(check, result, empty_ruleset):
    new_ruleset = dict(empty_ruleset)
    new_ruleset["checks"] = [check]
    check_result = colin.run("colin-labels", ruleset=new_ruleset)
    assert check_result
    assert list(check_result.results)[0].status == result
예제 #19
0
import colin

result = colin.run(target="my-image", target_type="image")

assert result.ok
print(result.results)
print(result.get_pretty_string(stat=True, verbose=True))
print(result.json)
예제 #20
0
def test_dynamic_check_ls(ruleset):
    results = colin.run(target=LS_IMAGE, ruleset=ruleset, logging_level=10)
    assert not results.ok