From 84a4a76aafaefe125df785ebac2e4858ec54debb Mon Sep 17 00:00:00 2001 From: w0rp Date: Sat, 19 Jun 2021 10:34:57 +0100 Subject: Close #3770 - Add support for checking circleci configs --- test/handler/test_circleci_handler.vader | 39 ++++++++++++++++++++++++++++++++ test/linter/test_circleci.vader | 13 +++++++++++ test/test-files/.circleci/config.yml | 0 3 files changed, 52 insertions(+) create mode 100644 test/handler/test_circleci_handler.vader create mode 100644 test/linter/test_circleci.vader create mode 100644 test/test-files/.circleci/config.yml (limited to 'test') diff --git a/test/handler/test_circleci_handler.vader b/test/handler/test_circleci_handler.vader new file mode 100644 index 00000000..8ffba360 --- /dev/null +++ b/test/handler/test_circleci_handler.vader @@ -0,0 +1,39 @@ +Before: + runtime ale_linters/yaml/circleci.vim + +After: + call ale#linter#Reset() + +Execute(The circlei handler should return nothing when configs are valid): + AssertEqual + \ [], + \ ale_linters#yaml#circleci#Handle(0, [ + \ 'Config input is valid.', + \ ]) + +Execute(The circlei handler put errors at the top when something is wrong): + AssertEqual + \ [ + \ { + \ 'lnum': 1, + \ 'type': 'E', + \ 'text': '[#/jobs] expected type: Mapping, found: Integer', + \ 'detail': join([ + \ '[#/jobs] expected type: Mapping, found: Integer', + \ 'Jobs is a map', + \ 'SCHEMA:', + \ ' type: object', + \ 'INPUT:', + \ ' 4', + \ ], "\n"), + \ }, + \ ], + \ ale_linters#yaml#circleci#Handle(0, [ + \ 'Error: ERROR IN CONFIG FILE:', + \ '[#/jobs] expected type: Mapping, found: Integer', + \ 'Jobs is a map', + \ 'SCHEMA:', + \ ' type: object', + \ 'INPUT:', + \ ' 4', + \ ]) diff --git a/test/linter/test_circleci.vader b/test/linter/test_circleci.vader new file mode 100644 index 00000000..f63cc513 --- /dev/null +++ b/test/linter/test_circleci.vader @@ -0,0 +1,13 @@ +Before: + call ale#assert#SetUpLinterTest('yaml', 'circleci') + +After: + call ale#assert#TearDownLinterTest() + +Execute(The linter should not run for every YAML file): + AssertLinterNotExecuted + +Execute(The linter should for YAML files in a .circleci directory): + call ale#test#SetFilename('../test-files/.circleci/config.yml') + + AssertLinter 'circleci', 'circleci config validate - < %s' diff --git a/test/test-files/.circleci/config.yml b/test/test-files/.circleci/config.yml new file mode 100644 index 00000000..e69de29b -- cgit v1.2.3