From fbaa3ff8662a85ef4eaff571c58e8fce6d8806af Mon Sep 17 00:00:00 2001 From: Dan Lorenc <dlorenc@google.com> Date: Mon, 4 Jan 2021 13:06:20 -0600 Subject: [PATCH] Add a second test to make sure duplicates are detected. --- cmd/cli/app/upload.go | 11 +++++++++-- tests/e2e-test.sh | 17 +++++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/cmd/cli/app/upload.go b/cmd/cli/app/upload.go index a86fde3..cc0d129 100644 --- a/cmd/cli/app/upload.go +++ b/cmd/cli/app/upload.go @@ -16,6 +16,7 @@ limitations under the License. package app import ( + "fmt" "os" "github.com/projectrekor/rekor/pkg/generated/client/entries" @@ -57,10 +58,16 @@ var uploadCmd = &cobra.Command{ resp, err := rekorClient.Entries.CreateLogEntry(params) if err != nil { - log.Fatal(err) + switch err.(type) { + case *entries.CreateLogEntryConflict: + fmt.Println("Entry already exists.") + return + default: + log.Fatal(err) + } } - log.Infof("Created entry at: %v%v", viper.GetString("rekor_server"), resp.Location) + fmt.Printf("Created entry at: %v%v\n", viper.GetString("rekor_server"), resp.Location) }, } diff --git a/tests/e2e-test.sh b/tests/e2e-test.sh index c088942..ed5b950 100755 --- a/tests/e2e-test.sh +++ b/tests/e2e-test.sh @@ -6,6 +6,19 @@ docker-compose up -d # Node nodedir=${testdir}/node -go run ./cmd/cli/ upload \ + +# First time we should get "Created entry" +out=$(go run ./cmd/cli/ upload \ + --artifact $(< ${nodedir}/url) --sha $(< ${nodedir}/sha) \ + --signature=${nodedir}/sig --public-key=${nodedir}/key) +if [[ $out != *"Created entry at"* ]]; then + echo "Expected 'Created entry at', got $out" +fi + +# Second time we should get "Entry already exists" +out=$(go run ./cmd/cli/ upload \ --artifact $(< ${nodedir}/url) --sha $(< ${nodedir}/sha) \ - --signature=${nodedir}/sig --public-key=${nodedir}/key \ No newline at end of file + --signature=${nodedir}/sig --public-key=${nodedir}/key) +if [[ $out != *"Entry already exists"* ]]; then + echo "Expected 'Created entry at', got $out" +fi -- GitLab