def test_run_command_dry(self): with captured_output() as (console_out, console_err): out, err, rc = System.run_command("false", dry_run=True) self.assertIn("[DRY] Would execute command: false", console_out.getvalue().strip()) self.assertEqual(out, "") self.assertEqual(err, "") self.assertEqual(rc, 0)
def test_lint_complex_dockerfile(self): dockerfile_path = os.path.join(get_mock_dir(), "Dockerfile.complete") dockerfile = Dockerfile.load_from_file_path(dockerfile_path) linter = DockerfileLint(dockerfile, exit_on_errors=False) with captured_output() as (out, err): linter.lint() output = out.getvalue().strip() self.assertIn("---> FAILED", output)
def test_run_with_dry(self): args = ["--dry-run", "--no-lint", "-w", get_mock_dir()] make = self.create_make(args=args) with captured_output() as (out, err): make.run() output = out.getvalue().strip() self.assertIn("[DRY] Would execute command: docker build", output) self.assertIn("[DRY] Would execute command: docker push", output) self.assertNotIn("Markdown Summary", output) self.assertNotIn("Step", output)
def test_print_tag_list(self): summary = list() build_detail = dict() build_detail['name'] = 'build_name' build_detail['build-tags'] = ['1.0'] summary.append(build_detail) with captured_output() as (out, err): SummaryPrinter.print_tag_list(summary) output = out.getvalue().strip() self.assertIn("build_name", output) self.assertIn("1.0", output)
def test_print_summary(self): summary = list() build_detail = dict() build_detail['name'] = 'build_name' build_detail['build-args'] = ['A=a'] build_detail['build-tags'] = ['1.0'] build_detail['build-labels'] = ['build_a_label'] summary.append(build_detail) with captured_output() as (out, err): SummaryPrinter.print_full_build_summary(summary) output = out.getvalue().strip() self.assertIn("# build_name", output) self.assertIn("| A", output) self.assertIn("- build_a_label", output) self.assertIn("- 1.0", output)
def test_run_command_with_continuous_output_through_shell(self): with captured_output(): out, err, rc = System.run_command(["echo -n 42"], with_continuous_output=True, shell=True) self.assertEqual(out, "42") self.assertEqual(err, "") self.assertEqual(rc, 0)
def test_run_command_with_continuous_output(self): with captured_output(): out, err, rc = System.run_command(["echo", "-n", "42"], with_continuous_output=True) self.assertEqual(out, "42") self.assertEqual(err, "") self.assertEqual(rc, 0)
def test_print_rule_summary(self): with captured_output() as (out, err): SummaryPrinter.print_rule_summary() output = out.getvalue().strip() self.assertTrue(len(output.splitlines()) > 20)