summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2021-06-19 10:34:57 +0100
committerw0rp <devw0rp@gmail.com>2021-06-19 10:34:57 +0100
commit84a4a76aafaefe125df785ebac2e4858ec54debb (patch)
tree91797d6d9509a2439948ed6e60174a8f94ffb6ce /test
parent1b08791228f5aca4545a3fba6699b29a003028fe (diff)
downloadale-84a4a76aafaefe125df785ebac2e4858ec54debb.zip
Close #3770 - Add support for checking circleci configs
Diffstat (limited to 'test')
-rw-r--r--test/handler/test_circleci_handler.vader39
-rw-r--r--test/linter/test_circleci.vader13
-rw-r--r--test/test-files/.circleci/config.yml0
3 files changed, 52 insertions, 0 deletions
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
--- /dev/null
+++ b/test/test-files/.circleci/config.yml