Skip to content

Commit

Permalink
Fix replicas *int32 type in describe commands
Browse files Browse the repository at this point in the history
  • Loading branch information
dsimansk committed May 13, 2021
1 parent 21edafa commit 07ce535
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 9 deletions.
4 changes: 2 additions & 2 deletions pkg/kn/commands/revision/describe.go
Original file line number Diff line number Diff line change
Expand Up @@ -206,8 +206,8 @@ func WriteEnvFrom(dw printers.PrefixWriter, revision *servingv1.Revision, printD
func WriteReplicas(dw printers.PrefixWriter, revision *servingv1.Revision) {
actualReplicas := revision.Status.ActualReplicas
desiredReplicas := revision.Status.DesiredReplicas
if actualReplicas != 0 || desiredReplicas != 0 {
dw.WriteAttribute("Replicas", fmt.Sprintf("%d/%d", actualReplicas, desiredReplicas))
if actualReplicas != nil && desiredReplicas != nil {
dw.WriteAttribute("Replicas", fmt.Sprintf("%d/%d", *actualReplicas, *desiredReplicas))
}
}

Expand Down
30 changes: 25 additions & 5 deletions pkg/kn/commands/revision/describe_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ import (
"testing"
"time"

"knative.dev/pkg/ptr"

"gotest.tools/v3/assert"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/equality"
Expand Down Expand Up @@ -106,7 +108,7 @@ func TestDescribeRevisionYaml(t *testing.T) {
}

func TestDescribeRevisionBasic(t *testing.T) {
expectedRevision := createTestRevision("test-rev", 3)
expectedRevision := createTestRevision("test-rev", 3, ptr.Int32(1))

action, data, err := fakeRevision([]string{"revision", "describe", "test-rev"}, &expectedRevision)
if err != nil {
Expand All @@ -120,11 +122,29 @@ func TestDescribeRevisionBasic(t *testing.T) {
}

assert.Assert(t, util.ContainsAll(data, "Image:", "gcr.io/test/image", "++ Ready", "Port:", "8080"))
assert.Assert(t, util.ContainsAll(data, "Replicas:", "0/1"))
assert.Assert(t, util.ContainsAll(data, "Replicas:", "1/1"))
assert.Assert(t, util.ContainsAll(data, "EnvFrom:", "cm:test1, cm:test2"))
}

func createTestRevision(revision string, gen int64) servingv1.Revision {
func TestDescribeRevisionReplicas(t *testing.T) {
expectedRevision := createTestRevision("test-rev", 3, ptr.Int32(1))
_, data, err := fakeRevision([]string{"revision", "describe", "test-rev"}, &expectedRevision)
assert.NilError(t, err)
assert.Assert(t, util.ContainsAll(data, "Replicas:", "1/1"))

expectedRevision = createTestRevision("test-rev", 3, ptr.Int32(0))
_, data, err = fakeRevision([]string{"revision", "describe", "test-rev"}, &expectedRevision)
assert.NilError(t, err)
assert.Assert(t, util.ContainsAll(data, "Replicas:", "0/0"))

expectedRevision = createTestRevision("test-rev", 3, nil)
_, data, err = fakeRevision([]string{"revision", "describe", "test-rev"}, &expectedRevision)
assert.NilError(t, err)
assert.Assert(t, util.ContainsNone(data, "Replicas:"))

}

func createTestRevision(revision string, gen int64, replicas *int32) servingv1.Revision {
labels := make(map[string]string)
labels[apiserving.ConfigurationGenerationLabelKey] = fmt.Sprintf("%d", gen)

Expand Down Expand Up @@ -162,8 +182,8 @@ func createTestRevision(revision string, gen int64) servingv1.Revision {
},
},
Status: servingv1.RevisionStatus{
ActualReplicas: 0,
DesiredReplicas: 1,
ActualReplicas: replicas,
DesiredReplicas: replicas,
DeprecatedImageDigest: "gcr.io/test/image@" + imageDigest,
Status: duckv1.Status{
Conditions: goodConditions(),
Expand Down
4 changes: 2 additions & 2 deletions pkg/kn/commands/service/describe_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -763,8 +763,8 @@ func createTestRevision(revision string, gen int64, conditions duckv1.Conditions
},
},
Status: servingv1.RevisionStatus{
ActualReplicas: 0,
DesiredReplicas: 1,
ActualReplicas: ptr.Int32(0),
DesiredReplicas: ptr.Int32(1),
DeprecatedImageDigest: "gcr.io/test/image@" + imageDigest,
Status: duckv1.Status{
Conditions: conditions,
Expand Down

0 comments on commit 07ce535

Please sign in to comment.