From 9a82eafbc5141b9c168ce555b919d6e51757e82e Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Thu, 17 Oct 2019 11:29:36 -0700 Subject: [PATCH] Minimal support for 'registry-image' resource type See: https://github.com/spring-projects/sts4/issues/380 --- .../vscode/concourse/PipelineYmlSchema.java | 1 + .../vscode/concourse/ConcourseEditorTest.java | 30 +++++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java b/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java index 62f1c8f1c..06839ce0c 100644 --- a/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java +++ b/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java @@ -76,6 +76,7 @@ public class PipelineYmlSchema implements YamlSchema { hint("semver", "The 'semver' resource can set or bump version numbers."), hint("github-release", "The 'github-release' resource can fetch and publish versioned GitHub resources."), hint("docker-image", "The 'docker-image' resource can fetch, build, and push Docker images."), + hint("registry-image", "Supports checking, fetching, and pushing of images to Docker registries."), hint("tracker", "The 'tracker' resource can deliver stories and bugs on Pivotal Tracker."), hint("pool", "The 'pool' resource allows you to configure how to serialize use of an external system. " + "This lets you prevent test interference or overwork on shared systems."), 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 f0ae3e914..1df109d77 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 @@ -72,7 +72,7 @@ public class ConcourseEditorTest { @Before public void setup() throws Exception { serverInitializer.setMaxCompletions(100); } - + @Test public void addSingleRequiredPropertiesQuickfix() throws Exception { Editor editor = harness.newEditor( "resources:\n" + @@ -777,7 +777,9 @@ public class ConcourseEditorTest { public void valueCompletions() throws Exception { String [] builtInResourceTypes = { "git", "hg", "time", "s3", "archive", - "semver", "github-release", "docker-image", "tracker", + "semver", "github-release", + "docker-image", "registry-image", + "tracker", "pool", "cf", "bosh-io-release", "bosh-io-stemcell", "bosh-deployment", "vagrant-cloud" @@ -1905,6 +1907,28 @@ public class ConcourseEditorTest { "repo^ # <- bad|should define 'branch'" ); } + + @Test public void repositoryImageResourceIsKnown() throws Exception { + Editor editor; + + editor = harness.newEditor( + "jobs:\n" + + "- name: noise-maker\n" + + " plan:\n" + + " - task: make-noise\n" + + " config:\n" + + " platform: linux\n" + + " image_resource:\n" + + " type: registry-image\n" + + " source:\n" + + " repository: ubuntu:18.04\n" + + " run:\n" + + " path: echo\n" + + " args:\n" + + " - \"Hello world!\"" + ); + editor.assertProblems(/*None*/); + } @Test public void dockerImageResourceSourceReconcileAndHovers() throws Exception { Editor editor; @@ -3265,7 +3289,7 @@ public class ConcourseEditorTest { //built-in: "git", "hg", "time", "s3", "archive", "semver", "github-release", - "docker-image", "tracker", "pool", "cf", "bosh-io-release", + "docker-image", "registry-image", "tracker", "pool", "cf", "bosh-io-release", "bosh-io-stemcell", "bosh-deployment", "vagrant-cloud" }; Arrays.sort(goodNames);