Skip to content

Commit

Permalink
OCM-6527 | fix: adjust describe ingress binding
Browse files Browse the repository at this point in the history
  • Loading branch information
gdbranco committed Apr 30, 2024
1 parent 91d7691 commit fd6acd3
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 37 deletions.
3 changes: 2 additions & 1 deletion cmd/describe/ingress/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func NewDescribeIngressCommand() *cobra.Command {
Short: short,
Example: example,
Run: rosa.DefaultRunner(rosa.RuntimeWithOCM(), DescribeIngressRunner(options)),
Args: cobra.NoArgs,
Args: cobra.MaximumNArgs(1),
}

flags := cmd.Flags()
Expand All @@ -57,6 +57,7 @@ func DescribeIngressRunner(userOptions DescribeIngressUserOptions) rosa.CommandR
if err != nil {
return fmt.Errorf("unable to parse flags: %v", err)
}
userOptions.ingress = cmd.Flag("ingress").Value.String()
}
err := options.Bind(userOptions)
if err != nil {
Expand Down
65 changes: 29 additions & 36 deletions cmd/describe/ingress/cmd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,12 +129,13 @@ Wildcard Policy: WildcardsAllowed
})

It("Fails if ingress ID/alias is invalid", func() {
args := NewDescribeIngressUserOptions()
args.ingress = "A1b2"
runner := DescribeIngressRunner(args)
runner := DescribeIngressRunner(NewDescribeIngressUserOptions())
err := t.StdOutReader.Record()
Expect(err).ToNot(HaveOccurred())
err = runner(context.Background(), t.RosaRuntime, NewDescribeIngressCommand(), []string{})
cmd := NewDescribeIngressCommand()
cmd.Flag("ingress").Value.Set("A1b2")
cmd.Flag("cluster").Value.Set(mockReadyCluster.ID())
err = runner(context.Background(), t.RosaRuntime, cmd, []string{})
Expect(err).ToNot(BeNil())
Expect(
err.Error(),
Expand All @@ -143,44 +144,41 @@ Wildcard Policy: WildcardsAllowed

It("Cluster not ready", func() {
t.ApiServer.AppendHandlers(RespondWithJSON(http.StatusOK, classicClusterNotReady))
args := NewDescribeIngressUserOptions()
args.ingress = "apps"
runner := DescribeIngressRunner(args)
runner := DescribeIngressRunner(NewDescribeIngressUserOptions())
err := t.StdOutReader.Record()
Expect(err).ToNot(HaveOccurred())
err = runner(context.Background(), t.RosaRuntime, NewDescribeIngressCommand(), []string{
"-c", mockReadyCluster.ID(),
})
cmd := NewDescribeIngressCommand()
cmd.Flag("ingress").Value.Set("apps")
cmd.Flag("cluster").Value.Set(mockReadyCluster.ID())
err = runner(context.Background(), t.RosaRuntime, cmd, []string{})
Expect(err).ToNot(BeNil())
Expect(err.Error()).To(Equal("cluster '123' is not yet ready"))
})

It("Ingress not found", func() {
t.ApiServer.AppendHandlers(RespondWithJSON(http.StatusOK, classicClusterReady))
t.ApiServer.AppendHandlers(RespondWithJSON(http.StatusNotFound, ""))
args := NewDescribeIngressUserOptions()
args.ingress = "apps"
runner := DescribeIngressRunner(args)
runner := DescribeIngressRunner(NewDescribeIngressUserOptions())
err := t.StdOutReader.Record()
Expect(err).ToNot(HaveOccurred())
err = runner(context.Background(), t.RosaRuntime, NewDescribeIngressCommand(), []string{
"-c", mockReadyCluster.ID(),
})
cmd := NewDescribeIngressCommand()
cmd.Flag("ingress").Value.Set("apps")
cmd.Flag("cluster").Value.Set(mockReadyCluster.ID())
err = runner(context.Background(), t.RosaRuntime, cmd, []string{})
Expect(err).ToNot(BeNil())
Expect(err.Error()).To(Equal("Failed to get ingress 'apps' for cluster '123'"))
})

It("Ingress found", func() {
t.ApiServer.AppendHandlers(RespondWithJSON(http.StatusOK, classicClusterReady))
t.ApiServer.AppendHandlers(RespondWithJSON(http.StatusOK, ingressResponse))
args := NewDescribeIngressUserOptions()
args.ingress = "apps"
runner := DescribeIngressRunner(args)
runner := DescribeIngressRunner(NewDescribeIngressUserOptions())
err := t.StdOutReader.Record()
Expect(err).ToNot(HaveOccurred())
err = runner(context.Background(), t.RosaRuntime, NewDescribeIngressCommand(), []string{
"-c", mockReadyCluster.ID(),
})
cmd := NewDescribeIngressCommand()
cmd.Flag("ingress").Value.Set("apps")
cmd.Flag("cluster").Value.Set(mockReadyCluster.ID())
err = runner(context.Background(), t.RosaRuntime, cmd, []string{})
Expect(err).ToNot(HaveOccurred())
stdout, err := t.StdOutReader.Read()
Expect(err).ToNot(HaveOccurred())
Expand Down Expand Up @@ -209,16 +207,13 @@ Wildcard Policy: WildcardsAllowed
It("Ingress found json output", func() {
t.ApiServer.AppendHandlers(RespondWithJSON(http.StatusOK, classicClusterReady))
t.ApiServer.AppendHandlers(RespondWithJSON(http.StatusOK, ingressResponse))
args := NewDescribeIngressUserOptions()
args.ingress = "apps"
runner := DescribeIngressRunner(args)
cmd := NewDescribeIngressCommand()
cmd.Flag("output").Value.Set("json")
runner := DescribeIngressRunner(NewDescribeIngressUserOptions())
err := t.StdOutReader.Record()
Expect(err).ToNot(HaveOccurred())
err = runner(context.Background(), t.RosaRuntime, cmd, []string{
"-c", mockReadyCluster.ID(),
})
cmd := NewDescribeIngressCommand()
cmd.Flag("cluster").Value.Set(mockReadyCluster.ID())
cmd.Flag("output").Value.Set("json")
err = runner(context.Background(), t.RosaRuntime, cmd, []string{"apps"})
Expect(err).ToNot(HaveOccurred())
stdout, err := t.StdOutReader.Read()
Expect(err).ToNot(HaveOccurred())
Expand All @@ -230,14 +225,12 @@ Wildcard Policy: WildcardsAllowed
It("Private Ingress found", func() {
t.ApiServer.AppendHandlers(RespondWithJSON(http.StatusOK, classicClusterReady))
t.ApiServer.AppendHandlers(RespondWithJSON(http.StatusOK, privateIngressResponse))
args := NewDescribeIngressUserOptions()
args.ingress = "apps"
runner := DescribeIngressRunner(args)
runner := DescribeIngressRunner(NewDescribeIngressUserOptions())
err := t.StdOutReader.Record()
Expect(err).ToNot(HaveOccurred())
err = runner(context.Background(), t.RosaRuntime, NewDescribeIngressCommand(), []string{
"-c", mockReadyCluster.ID(),
})
cmd := NewDescribeIngressCommand()
cmd.Flag("cluster").Value.Set(mockReadyCluster.ID())
err = runner(context.Background(), t.RosaRuntime, cmd, []string{"apps"})
Expect(err).ToNot(HaveOccurred())
stdout, err := t.StdOutReader.Read()
Expect(err).ToNot(HaveOccurred())
Expand Down

0 comments on commit fd6acd3

Please sign in to comment.