From 56e8b5e008fd0bf485cf6aca3c83951460513dd7 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Thu, 17 Aug 2017 12:13:09 -0700 Subject: [PATCH] Fix spurrious 'does not interact with resource error' See: https://www.pivotaltracker.com/story/show/150337510 --- .../ide/vscode/concourse/ConcourseModel.java | 9 +++++-- .../vscode/concourse/ConcourseEditorTest.java | 25 +++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/ConcourseModel.java b/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/ConcourseModel.java index cf0b87f58..3b8487470 100644 --- a/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/ConcourseModel.java +++ b/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/ConcourseModel.java @@ -157,8 +157,13 @@ public class ConcourseModel { } private static final YamlTraversal JobModel_GET_PUT_STEP_PATH = new YamlPath() - .then(valueAt("plan")) - .then(anyChild().repeatAtLeast(1)) + .then( + valueAt("plan") + .or(valueAt("on_success")) + .or(valueAt("on_failure")) + .or(valueAt("ensure")) + ) + .then(anyChild().repeat()) .has(keyAt("get").or(keyAt("put"))); /** diff --git a/headless-services/concourse-language-server/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java b/headless-services/concourse-language-server/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java index d1d53ebf8..173a7b37b 100644 --- a/headless-services/concourse-language-server/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java +++ b/headless-services/concourse-language-server/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java @@ -3914,6 +3914,31 @@ public class ConcourseEditorTest { editor.assertProblems(/*NONE*/); } + @Test public void bug_150337510() throws Exception { + //See: https://www.pivotaltracker.com/story/show/150337510 + Editor editor = harness.newEditor( + "resources:\n" + + "- name: test\n" + + " type: s3\n" + + " source:\n" + + " bucket: blah\n" + + " regexp: blah/blah*.tar.gz\n" + + "jobs:\n" + + "- name: build-it\n" + + " plan:\n" + + " - task: build-it\n" + + " file: tasks/build-it.yml\n" + + " on_success:\n" + + " put: test\n" + + "- name: create-website\n" + + " plan:\n" + + " - get: test\n" + + " passed:\n" + + " - build-it" + ); + editor.assertProblems(/*NONE*/); + } + ////////////////////////////////////////////////////////////////////////////// private void assertContextualCompletions(String conText, String textBefore, String... textAfter) throws Exception {