Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Always create in new format rather than old #361

Merged
merged 3 commits into from
Aug 15, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 3 additions & 9 deletions pkg/kn/commands/service/service_create.go
Original file line number Diff line number Diff line change
Expand Up @@ -206,16 +206,10 @@ func constructService(cmd *cobra.Command, editFlags ConfigurationEditFlags, name
},
}

// TODO: Should it always be `runLatest` ?
service.Spec.DeprecatedRunLatest = &serving_v1alpha1_api.RunLatestType{
Configuration: serving_v1alpha1_api.ConfigurationSpec{
DeprecatedRevisionTemplate: &serving_v1alpha1_api.RevisionTemplateSpec{
Spec: serving_v1alpha1_api.RevisionSpec{
DeprecatedContainer: &corev1.Container{},
},
},
},
service.Spec.Template = &serving_v1alpha1_api.RevisionTemplateSpec{
Spec: serving_v1alpha1_api.RevisionSpec{},
}
service.Spec.Template.Spec.Containers = []corev1.Container{{}}

err := editFlags.Apply(&service, cmd)
if err != nil {
Expand Down
32 changes: 14 additions & 18 deletions pkg/kn/commands/service/service_create_mock_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ func TestServiceCreateLabel(t *testing.T) {
template, err := servinglib.RevisionTemplateOfService(service)
assert.NilError(t, err)
template.ObjectMeta.Labels = expected
template.Spec.DeprecatedContainer.Image = "gcr.io/foo/bar:baz"
template.Spec.Containers[0].Image = "gcr.io/foo/bar:baz"
r.CreateService(service, nil)

output, err := executeServiceCommand(client, "create", "foo", "--image", "gcr.io/foo/bar:baz", "-l", "a=mouse", "--label", "b=cookie", "--label=empty", "--async")
output, err := executeServiceCommand(client, "create", "foo", "--image", "gcr.io/foo/bar:baz", "-l", "a=mouse", "--label", "b=cookie", "--label=empty", "--async", "--revision-name=")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right.

assert.NilError(t, err)
assert.Assert(t, util.ContainsAll(output, "created", "foo", "default"))

Expand All @@ -88,23 +88,19 @@ func getService(name string) *v1alpha1.Service {
Name: name,
Namespace: "default",
},
Spec: v1alpha1.ServiceSpec{
DeprecatedRunLatest: &v1alpha1.RunLatestType{
Configuration: v1alpha1.ConfigurationSpec{
DeprecatedRevisionTemplate: &v1alpha1.RevisionTemplateSpec{
Spec: v1alpha1.RevisionSpec{
DeprecatedContainer: &corev1.Container{
Resources: corev1.ResourceRequirements{
Limits: corev1.ResourceList{},
Requests: corev1.ResourceList{},
},
},
},
},
},
},
},
Spec: v1alpha1.ServiceSpec{},
}

service.Spec.Template = &v1alpha1.RevisionTemplateSpec{
Spec: v1alpha1.RevisionSpec{},
}

service.Spec.Template.Spec.Containers = []corev1.Container{{
Resources: corev1.ResourceRequirements{
Limits: corev1.ResourceList{},
Requests: corev1.ResourceList{},
},
}}
return service
}

Expand Down
60 changes: 30 additions & 30 deletions pkg/kn/commands/service/service_create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,8 @@ func TestServiceCreateImage(t *testing.T) {
template, err := servinglib.RevisionTemplateOfService(created)
if err != nil {
t.Fatal(err)
} else if template.Spec.DeprecatedContainer.Image != "gcr.io/foo/bar:baz" {
t.Fatalf("wrong image set: %v", template.Spec.DeprecatedContainer.Image)
} else if template.Spec.Containers[0].Image != "gcr.io/foo/bar:baz" {
t.Fatalf("wrong image set: %v", template.Spec.Containers[0].Image)
} else if !strings.Contains(output, "foo") || !strings.Contains(output, "created") ||
!strings.Contains(output, commands.FakeNamespace) {
t.Fatalf("wrong stdout message: %v", output)
Expand All @@ -144,8 +144,8 @@ func TestServiceCreateImageSync(t *testing.T) {
if err != nil {
t.Fatal(err)
}
if template.Spec.DeprecatedContainer.Image != "gcr.io/foo/bar:baz" {
t.Fatalf("wrong image set: %v", template.Spec.DeprecatedContainer.Image)
if template.Spec.Containers[0].Image != "gcr.io/foo/bar:baz" {
t.Fatalf("wrong image set: %v", template.Spec.Containers[0].Image)
}
if !strings.Contains(output, "foo") || !strings.Contains(output, "created") ||
!strings.Contains(output, commands.FakeNamespace) {
Expand Down Expand Up @@ -173,19 +173,19 @@ func TestServiceCreateEnv(t *testing.T) {
}

template, err := servinglib.RevisionTemplateOfService(created)
actualEnvVars, err := servinglib.EnvToMap(template.Spec.DeprecatedContainer.Env)
actualEnvVars, err := servinglib.EnvToMap(template.Spec.Containers[0].Env)
if err != nil {
t.Fatal(err)
}

if err != nil {
t.Fatal(err)
} else if template.Spec.DeprecatedContainer.Image != "gcr.io/foo/bar:baz" {
t.Fatalf("wrong image set: %v", template.Spec.DeprecatedContainer.Image)
} else if template.Spec.Containers[0].Image != "gcr.io/foo/bar:baz" {
t.Fatalf("wrong image set: %v", template.Spec.Containers[0].Image)
} else if !reflect.DeepEqual(
actualEnvVars,
expectedEnvVars) {
t.Fatalf("wrong env vars %v", template.Spec.DeprecatedContainer.Env)
t.Fatalf("wrong env vars %v", template.Spec.Containers[0].Env)
}
}

Expand All @@ -209,9 +209,9 @@ func TestServiceCreateWithRequests(t *testing.T) {
if err != nil {
t.Fatal(err)
} else if !reflect.DeepEqual(
template.Spec.DeprecatedContainer.Resources.Requests,
template.Spec.Containers[0].Resources.Requests,
expectedRequestsVars) {
t.Fatalf("wrong requests vars %v", template.Spec.DeprecatedContainer.Resources.Requests)
t.Fatalf("wrong requests vars %v", template.Spec.Containers[0].Resources.Requests)
}
}

Expand All @@ -235,9 +235,9 @@ func TestServiceCreateWithLimits(t *testing.T) {
if err != nil {
t.Fatal(err)
} else if !reflect.DeepEqual(
template.Spec.DeprecatedContainer.Resources.Limits,
template.Spec.Containers[0].Resources.Limits,
expectedLimitsVars) {
t.Fatalf("wrong limits vars %v", template.Spec.DeprecatedContainer.Resources.Limits)
t.Fatalf("wrong limits vars %v", template.Spec.Containers[0].Resources.Limits)
}
}

Expand Down Expand Up @@ -265,15 +265,15 @@ func TestServiceCreateRequestsLimitsCPU(t *testing.T) {
t.Fatal(err)
} else {
if !reflect.DeepEqual(
template.Spec.DeprecatedContainer.Resources.Requests,
template.Spec.Containers[0].Resources.Requests,
expectedRequestsVars) {
t.Fatalf("wrong requests vars %v", template.Spec.DeprecatedContainer.Resources.Requests)
t.Fatalf("wrong requests vars %v", template.Spec.Containers[0].Resources.Requests)
}

if !reflect.DeepEqual(
template.Spec.DeprecatedContainer.Resources.Limits,
template.Spec.Containers[0].Resources.Limits,
expectedLimitsVars) {
t.Fatalf("wrong limits vars %v", template.Spec.DeprecatedContainer.Resources.Limits)
t.Fatalf("wrong limits vars %v", template.Spec.Containers[0].Resources.Limits)
}
}
}
Expand Down Expand Up @@ -302,15 +302,15 @@ func TestServiceCreateRequestsLimitsMemory(t *testing.T) {
t.Fatal(err)
} else {
if !reflect.DeepEqual(
template.Spec.DeprecatedContainer.Resources.Requests,
template.Spec.Containers[0].Resources.Requests,
expectedRequestsVars) {
t.Fatalf("wrong requests vars %v", template.Spec.DeprecatedContainer.Resources.Requests)
t.Fatalf("wrong requests vars %v", template.Spec.Containers[0].Resources.Requests)
}

if !reflect.DeepEqual(
template.Spec.DeprecatedContainer.Resources.Limits,
template.Spec.Containers[0].Resources.Limits,
expectedLimitsVars) {
t.Fatalf("wrong limits vars %v", template.Spec.DeprecatedContainer.Resources.Limits)
t.Fatalf("wrong limits vars %v", template.Spec.Containers[0].Resources.Limits)
}
}
}
Expand Down Expand Up @@ -379,15 +379,15 @@ func TestServiceCreateRequestsLimitsCPUMemory(t *testing.T) {
t.Fatal(err)
} else {
if !reflect.DeepEqual(
template.Spec.DeprecatedContainer.Resources.Requests,
template.Spec.Containers[0].Resources.Requests,
expectedRequestsVars) {
t.Fatalf("wrong requests vars %v", template.Spec.DeprecatedContainer.Resources.Requests)
t.Fatalf("wrong requests vars %v", template.Spec.Containers[0].Resources.Requests)
}

if !reflect.DeepEqual(
template.Spec.DeprecatedContainer.Resources.Limits,
template.Spec.Containers[0].Resources.Limits,
expectedLimitsVars) {
t.Fatalf("wrong limits vars %v", template.Spec.DeprecatedContainer.Resources.Limits)
t.Fatalf("wrong limits vars %v", template.Spec.Containers[0].Resources.Limits)
}
}
}
Expand Down Expand Up @@ -426,8 +426,8 @@ func TestServiceCreateImageForce(t *testing.T) {
template, err := servinglib.RevisionTemplateOfService(created)
if err != nil {
t.Fatal(err)
} else if template.Spec.DeprecatedContainer.Image != "gcr.io/foo/bar:v2" {
t.Fatalf("wrong image set: %v", template.Spec.DeprecatedContainer.Image)
} else if template.Spec.Containers[0].Image != "gcr.io/foo/bar:v2" {
t.Fatalf("wrong image set: %v", template.Spec.Containers[0].Image)
} else if !strings.Contains(output, "foo") || !strings.Contains(output, commands.FakeNamespace) {
t.Fatalf("wrong output: %s", output)
}
Expand All @@ -453,18 +453,18 @@ func TestServiceCreateEnvForce(t *testing.T) {
"B": "LIONS"}

template, err := servinglib.RevisionTemplateOfService(created)
actualEnvVars, err := servinglib.EnvToMap(template.Spec.DeprecatedContainer.Env)
actualEnvVars, err := servinglib.EnvToMap(template.Spec.Containers[0].Env)
if err != nil {
t.Fatal(err)
}
if err != nil {
t.Fatal(err)
} else if template.Spec.DeprecatedContainer.Image != "gcr.io/foo/bar:v2" {
t.Fatalf("wrong image set: %v", template.Spec.DeprecatedContainer.Image)
} else if template.Spec.Containers[0].Image != "gcr.io/foo/bar:v2" {
t.Fatalf("wrong image set: %v", template.Spec.Containers[0].Image)
} else if !reflect.DeepEqual(
actualEnvVars,
expectedEnvVars) {
t.Fatalf("wrong env vars:%v", template.Spec.DeprecatedContainer.Env)
t.Fatalf("wrong env vars:%v", template.Spec.Containers[0].Env)
} else if !strings.Contains(output, "foo") || !strings.Contains(output, commands.FakeNamespace) {
t.Fatalf("wrong output: %s", output)
}
Expand Down
25 changes: 25 additions & 0 deletions pkg/kn/commands/service/service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,37 @@ import (

"github.com/knative/client/pkg/kn/commands"
knclient "github.com/knative/client/pkg/serving/v1alpha1"
"k8s.io/client-go/tools/clientcmd"
)

// Helper methods
var blankConfig clientcmd.ClientConfig

func init() {
var err error
blankConfig, err = clientcmd.NewClientConfigFromBytes([]byte(`kind: Config
version: v1
users:
- name: u
clusters:
- name: c
cluster:
server: example.com
contexts:
- name: x
context:
user: u
cluster: c
current-context: x
`))
if err != nil {
panic(err)
}
}

func executeServiceCommand(client knclient.KnClient, args ...string) (string, error) {
knParams := &commands.KnParams{}
knParams.ClientConfig = blankConfig

output := new(bytes.Buffer)
knParams.Output = output
Expand Down