mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
ScheduledJob client and storage tests
This commit is contained in:
parent
d7c17ca94c
commit
647124bf5e
277
pkg/client/unversioned/scheduledjobs_test.go
Normal file
277
pkg/client/unversioned/scheduledjobs_test.go
Normal file
@ -0,0 +1,277 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2016 The Kubernetes 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 unversioned_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"k8s.io/kubernetes/pkg/api"
|
||||||
|
"k8s.io/kubernetes/pkg/api/testapi"
|
||||||
|
"k8s.io/kubernetes/pkg/apis/batch"
|
||||||
|
"k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
|
||||||
|
"k8s.io/kubernetes/pkg/client/unversioned/testclient/simple"
|
||||||
|
)
|
||||||
|
|
||||||
|
func getScheduledJobsResource() string {
|
||||||
|
return "scheduledjobs"
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestListScheduledJob(t *testing.T) {
|
||||||
|
// scheduled jobs should be tested only when batch/v2alpha1 is enabled
|
||||||
|
if *testapi.Batch.GroupVersion() != v2alpha1.SchemeGroupVersion {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ns := api.NamespaceAll
|
||||||
|
c := &simple.Client{
|
||||||
|
Request: simple.Request{
|
||||||
|
Method: "GET",
|
||||||
|
Path: testapi.Batch.ResourcePath(getScheduledJobsResource(), ns, ""),
|
||||||
|
},
|
||||||
|
Response: simple.Response{StatusCode: 200,
|
||||||
|
Body: &batch.ScheduledJobList{
|
||||||
|
Items: []batch.ScheduledJob{
|
||||||
|
{
|
||||||
|
ObjectMeta: api.ObjectMeta{
|
||||||
|
Name: "foo",
|
||||||
|
Labels: map[string]string{
|
||||||
|
"foo": "bar",
|
||||||
|
"name": "baz",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Spec: batch.ScheduledJobSpec{
|
||||||
|
JobTemplate: batch.JobTemplateSpec{
|
||||||
|
Spec: batch.JobSpec{
|
||||||
|
Template: api.PodTemplateSpec{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
ResourceGroup: batch.GroupName,
|
||||||
|
}
|
||||||
|
receivedScheduledJobList, err := c.Setup(t).Batch().ScheduledJobs(ns).List(api.ListOptions{})
|
||||||
|
defer c.Close()
|
||||||
|
c.Validate(t, receivedScheduledJobList, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGetScheduledJob(t *testing.T) {
|
||||||
|
// scheduled jobs should be tested only when batch/v2alpha1 is enabled
|
||||||
|
if *testapi.Batch.GroupVersion() != v2alpha1.SchemeGroupVersion {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ns := api.NamespaceDefault
|
||||||
|
c := &simple.Client{
|
||||||
|
Request: simple.Request{
|
||||||
|
Method: "GET",
|
||||||
|
Path: testapi.Batch.ResourcePath(getScheduledJobsResource(), ns, "foo"),
|
||||||
|
Query: simple.BuildQueryValues(nil),
|
||||||
|
},
|
||||||
|
Response: simple.Response{
|
||||||
|
StatusCode: 200,
|
||||||
|
Body: &batch.ScheduledJob{
|
||||||
|
ObjectMeta: api.ObjectMeta{
|
||||||
|
Name: "foo",
|
||||||
|
Labels: map[string]string{
|
||||||
|
"foo": "bar",
|
||||||
|
"name": "baz",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Spec: batch.ScheduledJobSpec{
|
||||||
|
JobTemplate: batch.JobTemplateSpec{
|
||||||
|
Spec: batch.JobSpec{
|
||||||
|
Template: api.PodTemplateSpec{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
ResourceGroup: batch.GroupName,
|
||||||
|
}
|
||||||
|
receivedScheduledJob, err := c.Setup(t).Batch().ScheduledJobs(ns).Get("foo")
|
||||||
|
defer c.Close()
|
||||||
|
c.Validate(t, receivedScheduledJob, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestUpdateScheduledJob(t *testing.T) {
|
||||||
|
// scheduled jobs should be tested only when batch/v2alpha1 is enabled
|
||||||
|
if *testapi.Batch.GroupVersion() != v2alpha1.SchemeGroupVersion {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ns := api.NamespaceDefault
|
||||||
|
requestScheduledJob := &batch.ScheduledJob{
|
||||||
|
ObjectMeta: api.ObjectMeta{
|
||||||
|
Name: "foo",
|
||||||
|
Namespace: ns,
|
||||||
|
ResourceVersion: "1",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
c := &simple.Client{
|
||||||
|
Request: simple.Request{
|
||||||
|
Method: "PUT",
|
||||||
|
Path: testapi.Batch.ResourcePath(getScheduledJobsResource(), ns, "foo"),
|
||||||
|
Query: simple.BuildQueryValues(nil),
|
||||||
|
},
|
||||||
|
Response: simple.Response{
|
||||||
|
StatusCode: 200,
|
||||||
|
Body: &batch.ScheduledJob{
|
||||||
|
ObjectMeta: api.ObjectMeta{
|
||||||
|
Name: "foo",
|
||||||
|
Labels: map[string]string{
|
||||||
|
"foo": "bar",
|
||||||
|
"name": "baz",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Spec: batch.ScheduledJobSpec{
|
||||||
|
JobTemplate: batch.JobTemplateSpec{
|
||||||
|
Spec: batch.JobSpec{
|
||||||
|
Template: api.PodTemplateSpec{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
ResourceGroup: batch.GroupName,
|
||||||
|
}
|
||||||
|
receivedScheduledJob, err := c.Setup(t).Batch().ScheduledJobs(ns).Update(requestScheduledJob)
|
||||||
|
defer c.Close()
|
||||||
|
c.Validate(t, receivedScheduledJob, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestUpdateScheduledJobStatus(t *testing.T) {
|
||||||
|
// scheduled jobs should be tested only when batch/v2alpha1 is enabled
|
||||||
|
if *testapi.Batch.GroupVersion() != v2alpha1.SchemeGroupVersion {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ns := api.NamespaceDefault
|
||||||
|
requestScheduledJob := &batch.ScheduledJob{
|
||||||
|
ObjectMeta: api.ObjectMeta{
|
||||||
|
Name: "foo",
|
||||||
|
Namespace: ns,
|
||||||
|
ResourceVersion: "1",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
c := &simple.Client{
|
||||||
|
Request: simple.Request{
|
||||||
|
Method: "PUT",
|
||||||
|
Path: testapi.Batch.ResourcePath(getScheduledJobsResource(), ns, "foo") + "/status",
|
||||||
|
Query: simple.BuildQueryValues(nil),
|
||||||
|
},
|
||||||
|
Response: simple.Response{
|
||||||
|
StatusCode: 200,
|
||||||
|
Body: &batch.ScheduledJob{
|
||||||
|
ObjectMeta: api.ObjectMeta{
|
||||||
|
Name: "foo",
|
||||||
|
Labels: map[string]string{
|
||||||
|
"foo": "bar",
|
||||||
|
"name": "baz",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Spec: batch.ScheduledJobSpec{
|
||||||
|
ConcurrencyPolicy: batch.AllowConcurrent,
|
||||||
|
JobTemplate: batch.JobTemplateSpec{
|
||||||
|
Spec: batch.JobSpec{
|
||||||
|
Template: api.PodTemplateSpec{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Status: batch.ScheduledJobStatus{
|
||||||
|
Active: []api.ObjectReference{{Name: "ref"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
ResourceGroup: batch.GroupName,
|
||||||
|
}
|
||||||
|
receivedScheduledJob, err := c.Setup(t).Batch().ScheduledJobs(ns).UpdateStatus(requestScheduledJob)
|
||||||
|
defer c.Close()
|
||||||
|
c.Validate(t, receivedScheduledJob, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestDeleteScheduledJob(t *testing.T) {
|
||||||
|
// scheduled jobs should be tested only when batch/v2alpha1 is enabled
|
||||||
|
if *testapi.Batch.GroupVersion() != v2alpha1.SchemeGroupVersion {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ns := api.NamespaceDefault
|
||||||
|
c := &simple.Client{
|
||||||
|
Request: simple.Request{
|
||||||
|
Method: "DELETE",
|
||||||
|
Path: testapi.Batch.ResourcePath(getScheduledJobsResource(), ns, "foo"),
|
||||||
|
Query: simple.BuildQueryValues(nil),
|
||||||
|
},
|
||||||
|
Response: simple.Response{StatusCode: 200},
|
||||||
|
ResourceGroup: batch.GroupName,
|
||||||
|
}
|
||||||
|
err := c.Setup(t).Batch().ScheduledJobs(ns).Delete("foo", nil)
|
||||||
|
defer c.Close()
|
||||||
|
c.Validate(t, nil, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestCreateScheduledJob(t *testing.T) {
|
||||||
|
// scheduled jobs should be tested only when batch/v2alpha1 is enabled
|
||||||
|
if *testapi.Batch.GroupVersion() != v2alpha1.SchemeGroupVersion {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ns := api.NamespaceDefault
|
||||||
|
requestScheduledJob := &batch.ScheduledJob{
|
||||||
|
ObjectMeta: api.ObjectMeta{
|
||||||
|
Name: "foo",
|
||||||
|
Namespace: ns,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
c := &simple.Client{
|
||||||
|
Request: simple.Request{
|
||||||
|
Method: "POST",
|
||||||
|
Path: testapi.Batch.ResourcePath(getScheduledJobsResource(), ns, ""),
|
||||||
|
Body: requestScheduledJob,
|
||||||
|
Query: simple.BuildQueryValues(nil),
|
||||||
|
},
|
||||||
|
Response: simple.Response{
|
||||||
|
StatusCode: 200,
|
||||||
|
Body: &batch.ScheduledJob{
|
||||||
|
ObjectMeta: api.ObjectMeta{
|
||||||
|
Name: "foo",
|
||||||
|
Labels: map[string]string{
|
||||||
|
"foo": "bar",
|
||||||
|
"name": "baz",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Spec: batch.ScheduledJobSpec{
|
||||||
|
JobTemplate: batch.JobTemplateSpec{
|
||||||
|
Spec: batch.JobSpec{
|
||||||
|
Template: api.PodTemplateSpec{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
ResourceGroup: batch.GroupName,
|
||||||
|
}
|
||||||
|
receivedScheduledJob, err := c.Setup(t).Batch().ScheduledJobs(ns).Create(requestScheduledJob)
|
||||||
|
defer c.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
}
|
||||||
|
c.Validate(t, receivedScheduledJob, err)
|
||||||
|
}
|
@ -25,6 +25,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/registry/generic/registry"
|
"k8s.io/kubernetes/pkg/registry/generic/registry"
|
||||||
"k8s.io/kubernetes/pkg/registry/scheduledjob"
|
"k8s.io/kubernetes/pkg/registry/scheduledjob"
|
||||||
"k8s.io/kubernetes/pkg/runtime"
|
"k8s.io/kubernetes/pkg/runtime"
|
||||||
|
"k8s.io/kubernetes/pkg/storage"
|
||||||
)
|
)
|
||||||
|
|
||||||
// REST implements a RESTStorage for scheduled jobs against etcd
|
// REST implements a RESTStorage for scheduled jobs against etcd
|
||||||
@ -38,7 +39,14 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
|||||||
|
|
||||||
newListFunc := func() runtime.Object { return &batch.ScheduledJobList{} }
|
newListFunc := func() runtime.Object { return &batch.ScheduledJobList{} }
|
||||||
storageInterface := opts.Decorator(
|
storageInterface := opts.Decorator(
|
||||||
opts.Storage, cachesize.GetWatchCacheSizeByResource(cachesize.ScheduledJobs), &batch.ScheduledJob{}, prefix, scheduledjob.Strategy, newListFunc)
|
opts.Storage,
|
||||||
|
cachesize.GetWatchCacheSizeByResource(cachesize.ScheduledJobs),
|
||||||
|
&batch.ScheduledJob{},
|
||||||
|
prefix,
|
||||||
|
scheduledjob.Strategy,
|
||||||
|
newListFunc,
|
||||||
|
storage.NoTriggerPublisher,
|
||||||
|
)
|
||||||
|
|
||||||
store := ®istry.Store{
|
store := ®istry.Store{
|
||||||
NewFunc: func() runtime.Object { return &batch.ScheduledJob{} },
|
NewFunc: func() runtime.Object { return &batch.ScheduledJob{} },
|
||||||
|
177
pkg/registry/scheduledjob/etcd/etcd_test.go
Normal file
177
pkg/registry/scheduledjob/etcd/etcd_test.go
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2016 The Kubernetes 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 etcd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"k8s.io/kubernetes/pkg/api"
|
||||||
|
"k8s.io/kubernetes/pkg/api/testapi"
|
||||||
|
"k8s.io/kubernetes/pkg/apis/batch"
|
||||||
|
"k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
|
||||||
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
|
"k8s.io/kubernetes/pkg/labels"
|
||||||
|
"k8s.io/kubernetes/pkg/registry/generic"
|
||||||
|
"k8s.io/kubernetes/pkg/registry/registrytest"
|
||||||
|
"k8s.io/kubernetes/pkg/runtime"
|
||||||
|
etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func newStorage(t *testing.T) (*REST, *StatusREST, *etcdtesting.EtcdTestServer) {
|
||||||
|
etcdStorage, server := registrytest.NewEtcdStorage(t, batch.GroupName)
|
||||||
|
restOptions := generic.RESTOptions{Storage: etcdStorage, Decorator: generic.UndecoratedStorage, DeleteCollectionWorkers: 1}
|
||||||
|
storage, statusStorage := NewREST(restOptions)
|
||||||
|
return storage, statusStorage, server
|
||||||
|
}
|
||||||
|
|
||||||
|
func validNewScheduledJob() *batch.ScheduledJob {
|
||||||
|
return &batch.ScheduledJob{
|
||||||
|
ObjectMeta: api.ObjectMeta{
|
||||||
|
Name: "foo",
|
||||||
|
Namespace: api.NamespaceDefault,
|
||||||
|
},
|
||||||
|
Spec: batch.ScheduledJobSpec{
|
||||||
|
Schedule: "* * * * * ?",
|
||||||
|
ConcurrencyPolicy: batch.AllowConcurrent,
|
||||||
|
JobTemplate: batch.JobTemplateSpec{
|
||||||
|
Spec: batch.JobSpec{
|
||||||
|
Template: api.PodTemplateSpec{
|
||||||
|
Spec: api.PodSpec{
|
||||||
|
RestartPolicy: api.RestartPolicyOnFailure,
|
||||||
|
DNSPolicy: api.DNSClusterFirst,
|
||||||
|
Containers: []api.Container{{Name: "abc", Image: "image", ImagePullPolicy: api.PullIfNotPresent}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestCreate(t *testing.T) {
|
||||||
|
// scheduled jobs should be tested only when batch/v2alpha1 is enabled
|
||||||
|
if *testapi.Batch.GroupVersion() != v2alpha1.SchemeGroupVersion {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
storage, _, server := newStorage(t)
|
||||||
|
defer server.Terminate(t)
|
||||||
|
test := registrytest.New(t, storage.Store)
|
||||||
|
validScheduledJob := validNewScheduledJob()
|
||||||
|
validScheduledJob.ObjectMeta = api.ObjectMeta{}
|
||||||
|
test.TestCreate(
|
||||||
|
// valid
|
||||||
|
validScheduledJob,
|
||||||
|
// invalid (empty spec)
|
||||||
|
&batch.ScheduledJob{
|
||||||
|
Spec: batch.ScheduledJobSpec{},
|
||||||
|
},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestUpdate(t *testing.T) {
|
||||||
|
// scheduled jobs should be tested only when batch/v2alpha1 is enabled
|
||||||
|
if *testapi.Batch.GroupVersion() != v2alpha1.SchemeGroupVersion {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
storage, _, server := newStorage(t)
|
||||||
|
defer server.Terminate(t)
|
||||||
|
test := registrytest.New(t, storage.Store)
|
||||||
|
schedule := "1 1 1 1 1 ?"
|
||||||
|
test.TestUpdate(
|
||||||
|
// valid
|
||||||
|
validNewScheduledJob(),
|
||||||
|
// updateFunc
|
||||||
|
func(obj runtime.Object) runtime.Object {
|
||||||
|
object := obj.(*batch.ScheduledJob)
|
||||||
|
object.Spec.Schedule = schedule
|
||||||
|
return object
|
||||||
|
},
|
||||||
|
// invalid updateFunc
|
||||||
|
func(obj runtime.Object) runtime.Object {
|
||||||
|
object := obj.(*batch.ScheduledJob)
|
||||||
|
object.Spec.Schedule = "* * *"
|
||||||
|
return object
|
||||||
|
},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestDelete(t *testing.T) {
|
||||||
|
// scheduled jobs should be tested only when batch/v2alpha1 is enabled
|
||||||
|
if *testapi.Batch.GroupVersion() != v2alpha1.SchemeGroupVersion {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
storage, _, server := newStorage(t)
|
||||||
|
defer server.Terminate(t)
|
||||||
|
test := registrytest.New(t, storage.Store)
|
||||||
|
test.TestDelete(validNewScheduledJob())
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGet(t *testing.T) {
|
||||||
|
// scheduled jobs should be tested only when batch/v2alpha1 is enabled
|
||||||
|
if *testapi.Batch.GroupVersion() != v2alpha1.SchemeGroupVersion {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
storage, _, server := newStorage(t)
|
||||||
|
defer server.Terminate(t)
|
||||||
|
test := registrytest.New(t, storage.Store)
|
||||||
|
test.TestGet(validNewScheduledJob())
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestList(t *testing.T) {
|
||||||
|
// scheduled jobs should be tested only when batch/v2alpha1 is enabled
|
||||||
|
if *testapi.Batch.GroupVersion() != v2alpha1.SchemeGroupVersion {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
storage, _, server := newStorage(t)
|
||||||
|
defer server.Terminate(t)
|
||||||
|
test := registrytest.New(t, storage.Store)
|
||||||
|
test.TestList(validNewScheduledJob())
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestWatch(t *testing.T) {
|
||||||
|
// scheduled jobs should be tested only when batch/v2alpha1 is enabled
|
||||||
|
if *testapi.Batch.GroupVersion() != v2alpha1.SchemeGroupVersion {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
storage, _, server := newStorage(t)
|
||||||
|
defer server.Terminate(t)
|
||||||
|
test := registrytest.New(t, storage.Store)
|
||||||
|
test.TestWatch(
|
||||||
|
validNewScheduledJob(),
|
||||||
|
// matching labels
|
||||||
|
[]labels.Set{},
|
||||||
|
// not matching labels
|
||||||
|
[]labels.Set{
|
||||||
|
{"x": "y"},
|
||||||
|
},
|
||||||
|
// matching fields
|
||||||
|
[]fields.Set{},
|
||||||
|
// not matching fields
|
||||||
|
[]fields.Set{
|
||||||
|
{"metadata.name": "xyz"},
|
||||||
|
{"name": "foo"},
|
||||||
|
},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: test update /status
|
@ -324,7 +324,7 @@ func (f *Framework) AfterEach() {
|
|||||||
case "json":
|
case "json":
|
||||||
for i := range summaries {
|
for i := range summaries {
|
||||||
typeName := reflect.TypeOf(summaries[i]).String()
|
typeName := reflect.TypeOf(summaries[i]).String()
|
||||||
Logf("%v JSON\n%v", typeName[strings.LastIndex(typeName, ".")+1:len(typeName)], summaries[i].PrintJSON())
|
Logf("%v JSON\n%v", typeName[strings.LastIndex(typeName, ".")+1:], summaries[i].PrintJSON())
|
||||||
Logf("Finished")
|
Logf("Finished")
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user