From b5b518727bfa7d13d02bed1652eed63dc80375d9 Mon Sep 17 00:00:00 2001 From: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com> Date: Mon, 17 Jul 2023 08:32:04 -0500 Subject: [PATCH] :seedling: Improve e2e workflow tests - Add e2e test for workflow runs - Retrieve successful runs of the scorecard-analysis.yml workflow Signed-off-by: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com> --- e2e/workflow_test.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 e2e/workflow_test.go diff --git a/e2e/workflow_test.go b/e2e/workflow_test.go new file mode 100644 index 00000000000..b7b37653cff --- /dev/null +++ b/e2e/workflow_test.go @@ -0,0 +1,42 @@ +// Copyright 2023 OpenSSF Scorecard Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package e2e + +import ( + "context" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + + "github.com/ossf/scorecard/v4/clients" + "github.com/ossf/scorecard/v4/clients/githubrepo" +) + +var _ = Describe("E2E TEST:WorkflowRun", func() { + Context("E2E TEST:WorkflowRun", func() { + It("Should return scorecard analysis workflow run", func() { + // using the scorecard repo as an example. The tests repo workflow won't have any runs in the future and + // that is why we are using the scorecard repo. + repo, err := githubrepo.MakeGithubRepo("ossf/scorecard") + Expect(err).Should(BeNil()) + repoClient := githubrepo.CreateGithubRepoClient(context.Background(), logger) + err = repoClient.InitRepo(repo, clients.HeadSHA, 0) + Expect(err).Should(BeNil()) + runs, err := repoClient.ListSuccessfulWorkflowRuns("scorecard-analysis.yml") + Expect(err).Should(BeNil()) + Expect(len(runs)).Should(BeNumerically(">", 0)) + }) + }) +})