From 2af27e8d748be9bd02370e39bb757c88ebc02186 Mon Sep 17 00:00:00 2001 From: Kira Muhlbauer Date: Mon, 22 Jul 2024 17:36:17 -0600 Subject: [PATCH 1/5] don't link to orb registry when host is not cloud --- cmd/orb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/orb.go b/cmd/orb.go index 332b451f..2d8db7f4 100644 --- a/cmd/orb.go +++ b/cmd/orb.go @@ -621,7 +621,7 @@ func formatListOrbsResult(list api.OrbsForListing, opts orbOptions) (string, err } } - if !opts.private { + if !opts.private && opts.cfg.Host == defaultHost { b.WriteString("\nIn order to see more details about each orb, type: `circleci orb info orb-namespace/orb-name`\n") b.WriteString("\nSearch, filter, and view sources for all Orbs online at https://circleci.com/developer/orbs/") } From 7787c34460215120f755f31df23c2dbfc0f08786 Mon Sep 17 00:00:00 2001 From: Kira Muhlbauer Date: Mon, 22 Jul 2024 17:44:04 -0600 Subject: [PATCH 2/5] test --- cmd/orb_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/orb_test.go b/cmd/orb_test.go index df41dd4d..e37d5021 100644 --- a/cmd/orb_test.go +++ b/cmd/orb_test.go @@ -2513,7 +2513,7 @@ query ListOrbs ($after: String!, $certifiedOnly: Boolean!) { command = exec.Command(pathCLI, "orb", "list", "--skip-update-check", - "--host", tempSettings.TestServer.URL(), + "--host", "https://circleci.com", "--details", ) By("setting up a mock server") From 4a88de3e193e32987c3b9a39c5b74ad6fa4d3336 Mon Sep 17 00:00:00 2001 From: Kira Muhlbauer Date: Mon, 22 Jul 2024 17:46:45 -0600 Subject: [PATCH 3/5] test --- cmd/orb_test.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/cmd/orb_test.go b/cmd/orb_test.go index e37d5021..79d42ba6 100644 --- a/cmd/orb_test.go +++ b/cmd/orb_test.go @@ -2513,7 +2513,7 @@ query ListOrbs ($after: String!, $certifiedOnly: Boolean!) { command = exec.Command(pathCLI, "orb", "list", "--skip-update-check", - "--host", "https://circleci.com", + "--host", tempSettings.TestServer.URL(), "--details", ) By("setting up a mock server") @@ -2584,9 +2584,6 @@ foo/test (0.7.0) - last30DaysOrganizationCount: 0 - last30DaysProjectCount: 0 -In order to see more details about each orb, type: ` + "`circleci orb info orb-namespace/orb-name`" + ` - -Search, filter, and view sources for all Orbs online at https://circleci.com/developer/orbs/ `)) Eventually(session).Should(gexec.Exit(0)) Expect(tempSettings.TestServer.ReceivedRequests()).Should(HaveLen(1)) From 0131f932cfd8ff668228009e00ed1362ec87da6d Mon Sep 17 00:00:00 2001 From: Kira Muhlbauer Date: Mon, 22 Jul 2024 18:57:03 -0600 Subject: [PATCH 4/5] remove docs link from tests --- cmd/orb_test.go | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/cmd/orb_test.go b/cmd/orb_test.go index 79d42ba6..78045125 100644 --- a/cmd/orb_test.go +++ b/cmd/orb_test.go @@ -2229,9 +2229,6 @@ second (0.8.0) third (0.9.0) first (0.7.0) -In order to see more details about each orb, type: ` + "`circleci orb info orb-namespace/orb-name`" + ` - -Search, filter, and view sources for all Orbs online at https://circleci.com/developer/orbs/ `)) }) @@ -2256,9 +2253,6 @@ third (0.9.0) first (0.7.0) second (0.8.0) -In order to see more details about each orb, type: ` + "`circleci orb info orb-namespace/orb-name`" + ` - -Search, filter, and view sources for all Orbs online at https://circleci.com/developer/orbs/ `)) }) @@ -2283,9 +2277,6 @@ second (0.8.0) first (0.7.0) third (0.9.0) -In order to see more details about each orb, type: ` + "`circleci orb info orb-namespace/orb-name`" + ` - -Search, filter, and view sources for all Orbs online at https://circleci.com/developer/orbs/ `)) }) }) @@ -2475,9 +2466,6 @@ query ListOrbs ($after: String!, $certifiedOnly: Boolean!) { Eventually(session.Out).Should(gbytes.Say("circleci/codecov-clojure \\(0.0.4\\)")) // Include an orb with contents from the second mocked response Eventually(session.Out).Should(gbytes.Say("zzak/test4 \\(0.1.0\\)")) - - Eventually(session.Out).Should(gbytes.Say("In order to see more details about each orb, type: `circleci orb info orb-namespace/orb-name`")) - Eventually(session.Out).Should(gbytes.Say("Search, filter, and view sources for all Orbs online at https://circleci.com/developer/orbs/")) Expect(tempSettings.TestServer.ReceivedRequests()).Should(HaveLen(2)) }) From c891c5da130156761603bae613e14c62b91dad38 Mon Sep 17 00:00:00 2001 From: Kira Muhlbauer Date: Mon, 22 Jul 2024 19:22:39 -0600 Subject: [PATCH 5/5] add a new test --- cmd/orb_test.go | 78 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 77 insertions(+), 1 deletion(-) diff --git a/cmd/orb_test.go b/cmd/orb_test.go index 78045125..fec3eebf 100644 --- a/cmd/orb_test.go +++ b/cmd/orb_test.go @@ -2387,7 +2387,83 @@ query ListOrbs ($after: String!, $certifiedOnly: Boolean!) { }) }) - Describe("when listing all orbs with --uncertified", func() { + Describe("when listing all orbs default host", func() { + BeforeEach(func() { + command = exec.Command(pathCLI, + "orb", "list", + "--skip-update-check", + ) + By("setting up a mock server") + + query := ` +query ListOrbs ($after: String!, $certifiedOnly: Boolean!) { + orbs(first: 20, after: $after, certifiedOnly: $certifiedOnly) { + totalCount, + edges { + cursor + node { + name + statistics { + last30DaysBuildCount, + last30DaysProjectCount, + last30DaysOrganizationCount + } + versions(count: 1) { + version, + source + } + } + } + pageInfo { + hasNextPage + } + } +} +` + + firstRequest := graphql.NewRequest(query) + firstRequest.Variables["after"] = "" + firstRequest.Variables["certifiedOnly"] = false + + firstRequestEncoded, err := firstRequest.Encode() + Expect(err).ShouldNot(HaveOccurred()) + + secondRequest := graphql.NewRequest(query) + secondRequest.Variables["after"] = "test/here-we-go" + secondRequest.Variables["certifiedOnly"] = false + + secondRequestEncoded, err := secondRequest.Encode() + Expect(err).ShouldNot(HaveOccurred()) + + tmpBytes := golden.Get(GinkgoT(), filepath.FromSlash("gql_orb_list_uncertified/first_response.json")) + firstResponse := string(tmpBytes) + + tmpBytes = golden.Get(GinkgoT(), filepath.FromSlash("gql_orb_list_uncertified/second_response.json")) + secondResponse := string(tmpBytes) + + tempSettings.AppendPostHandler("", clitest.MockRequestResponse{ + Status: http.StatusOK, + Request: firstRequestEncoded.String(), + Response: firstResponse, + }) + tempSettings.AppendPostHandler("", clitest.MockRequestResponse{ + Status: http.StatusOK, + Request: secondRequestEncoded.String(), + Response: secondResponse, + }) + }) + + It("includes a link to the docs'", func() { + By("running the command") + session, err := gexec.Start(command, GinkgoWriter, GinkgoWriter) + + Expect(err).ShouldNot(HaveOccurred()) + Eventually(session.Out).Should(gbytes.Say("In order to see more details about each orb, type: `circleci orb info orb-namespace/orb-name`")) + Eventually(session.Out).Should(gbytes.Say("Search, filter, and view sources for all Orbs online at https://circleci.com/developer/orbs/")) + }) + }) + + Describe("when listing all orbs with --uncertified and custom host", func() { BeforeEach(func() { command = exec.Command(pathCLI, "orb", "list",