From 2f0cde3838185652cd04c1489e0fd583a90674a5 Mon Sep 17 00:00:00 2001 From: Jan Macku Date: Thu, 9 May 2024 14:53:31 +0200 Subject: [PATCH] test: `generate_SARIF()` --- test/fixtures/generate_SARIF/defects.log | 49 ++++++++++++++++++++++++ test/generate_SARIF.bats | 40 +++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 test/fixtures/generate_SARIF/defects.log create mode 100644 test/generate_SARIF.bats diff --git a/test/fixtures/generate_SARIF/defects.log b/test/fixtures/generate_SARIF/defects.log new file mode 100644 index 00000000..caa2cbc5 --- /dev/null +++ b/test/fixtures/generate_SARIF/defects.log @@ -0,0 +1,49 @@ +{ + "defects": [ + { + "checker": "SHELLCHECK_WARNING", + "language": "shell", + "tool": "shellcheck", + "key_event_idx": 0, + "events": [ + { + "file_name": "innocent-script.sh", + "line": 7, + "event": "warning[SC2034]", + "message": "UNUSED_VAR2 appears unused. Verify use (or export if used externally).", + "verbosity_level": 0 + } + ] + }, + { + "checker": "SHELLCHECK_WARNING", + "language": "shell", + "tool": "shellcheck", + "key_event_idx": 0, + "events": [ + { + "file_name": "innocent-script.sh", + "line": 11, + "event": "warning[SC2115]", + "message": "Use \"${var:?}\" to ensure this never expands to / .", + "verbosity_level": 0 + } + ] + }, + { + "checker": "SHELLCHECK_WARNING", + "language": "shell", + "tool": "shellcheck", + "key_event_idx": 0, + "events": [ + { + "file_name": "innocent-script.sh", + "line": 11, + "event": "warning[SC2115]", + "message": "Use \"${var:?}\" to ensure this never expands to / .", + "verbosity_level": 0 + } + ] + } + ] +} diff --git a/test/generate_SARIF.bats b/test/generate_SARIF.bats new file mode 100644 index 00000000..a7b6ad01 --- /dev/null +++ b/test/generate_SARIF.bats @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +setup_file () { + load 'test_helper/common-setup' + _common_setup +} + +setup () { + load 'test_helper/bats-assert/load' + load 'test_helper/bats-support/load' + load 'test_helper/bats-file/load' +} + +@test "generate_SARIF() - arguments" { + source "${PROJECT_ROOT}/src/functions.sh" + + run generate_SARIF + assert_failure 1 + + run generate_SARIF "./test/fixtures/generate_SARIF/defects.log" + assert_failure 1 + + run generate_SARIF "./test/fixtures/generate_SARIF/defects.log" "test.sarif" + assert_success +} + +@test "generate_SARIF()" { + source "${PROJECT_ROOT}/src/functions.sh" + + run generate_SARIF "./test/fixtures/generate_SARIF/defects.log" "./test.sarif" + assert_success + assert_exists "./test.sarif" + + run cmp -s "test.sarif" "./test/fixtures/generate_SARIF/test.sarif" + assert_success +} + +teardown () { + rm -f test.sarif +}