testflight: version history retained when renaming resources

concourse/concourse#5811

Signed-off-by: Mathieu Ouellet <mathieu.ouellet@energumen.io>
This commit is contained in:
Mathieu Ouellet 2020-07-03 10:56:00 -04:00
parent 63d7e2cc60
commit 5c34bb1a98
3 changed files with 41 additions and 35 deletions

View File

@ -1,19 +0,0 @@
---
resources:
- name: new-git-resource
old_name: some-git-resource
type: mock
source: {force_version: ((unique_version))}
jobs:
- name: without-params
plan:
- get: some-git-resource
resource: new-git-resource
- name: with-params
plan:
- get: new-git-resource
params:
create_files_via_params:
hello: hello

View File

@ -0,0 +1,26 @@
---
resources:
- name: some-new-resource
old_name: some-resource
type: mock
source:
no_initial_version: true
jobs:
- name: some-passing-job
plan:
- get: some-resource
resource: some-new-resource
- task: print-fetched-stuff
config:
platform: linux
image_resource:
type: mock
source: {mirror_self: true}
inputs:
- name: some-resource
run:
path: sh
args: [-c, 'echo fetched version: $(cat some-resource/version)']

View File

@ -1,7 +1,6 @@
package testflight_test
import (
uuid "github.com/nu7hatch/gouuid"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/onsi/gomega/gbytes"
@ -9,26 +8,26 @@ import (
var _ = Describe("Renaming a resource", func() {
It("preserved data", func() {
guid, err := uuid.NewV4()
Expect(err).ToNot(HaveOccurred())
It("preserves version history", func() {
setAndUnpausePipeline("fixtures/resource-with-versions.yml")
setAndUnpausePipeline(
"fixtures/resource-with-params.yml",
"-v", "unique_version="+guid.String(),
)
guid1 := newMockVersion("some-resource", "guid1")
guid2 := newMockVersion("some-resource", "guid2")
guid3 := newMockVersion("some-resource", "guid3")
fly("trigger-job", "-j", inPipeline("without-params"), "-w")
fly("trigger-job", "-j", inPipeline("some-passing-job"), "-w")
build := fly("builds", "-p", pipelineName)
Expect(build).To(gbytes.Say(pipelineName + "/without-params"))
Expect(build).To(gbytes.Say(pipelineName + "/some-passing-job"))
setPipeline(
"fixtures/rename-resource-with-params.yml",
"-v", "unique_version="+guid.String(),
)
setPipeline("fixtures/rename-resource.yml")
fly("trigger-job", "-j", inPipeline("without-params"), "-w")
fly("trigger-job", "-j", inPipeline("some-passing-job"), "-w")
build = fly("builds", "-p", pipelineName)
Expect(build).To(gbytes.Say(pipelineName + "/without-params"))
Expect(build).To(gbytes.Say(pipelineName + "/some-passing-job"))
resourceVersions := fly("resource-versions", "-r", inPipeline("some-new-resource"))
Expect(resourceVersions).To(gbytes.Say(guid3))
Expect(resourceVersions).To(gbytes.Say(guid2))
Expect(resourceVersions).To(gbytes.Say(guid1))
})
})