Unify per-resource List for unversioned client
This commit is contained in:
@@ -29,7 +29,7 @@ type DaemonSetsNamespacer interface {
|
||||
}
|
||||
|
||||
type DaemonSetInterface interface {
|
||||
List(selector labels.Selector) (*extensions.DaemonSetList, error)
|
||||
List(label labels.Selector, field fields.Selector) (*extensions.DaemonSetList, error)
|
||||
Get(name string) (*extensions.DaemonSet, error)
|
||||
Create(ctrl *extensions.DaemonSet) (*extensions.DaemonSet, error)
|
||||
Update(ctrl *extensions.DaemonSet) (*extensions.DaemonSet, error)
|
||||
@@ -51,9 +51,9 @@ func newDaemonSets(c *ExtensionsClient, namespace string) *daemonSets {
|
||||
// Ensure statically that daemonSets implements DaemonSetsInterface.
|
||||
var _ DaemonSetInterface = &daemonSets{}
|
||||
|
||||
func (c *daemonSets) List(selector labels.Selector) (result *extensions.DaemonSetList, err error) {
|
||||
func (c *daemonSets) List(label labels.Selector, field fields.Selector) (result *extensions.DaemonSetList, err error) {
|
||||
result = &extensions.DaemonSetList{}
|
||||
err = c.r.Get().Namespace(c.ns).Resource("daemonsets").LabelsSelectorParam(selector).Do().Into(result)
|
||||
err = c.r.Get().Namespace(c.ns).Resource("daemonsets").LabelsSelectorParam(label).FieldsSelectorParam(field).Do().Into(result)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||
"k8s.io/kubernetes/pkg/fields"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
)
|
||||
|
||||
@@ -55,7 +56,7 @@ func TestListDaemonSets(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}
|
||||
receivedDSs, err := c.Setup(t).Extensions().DaemonSets(ns).List(labels.Everything())
|
||||
receivedDSs, err := c.Setup(t).Extensions().DaemonSets(ns).List(labels.Everything(), fields.Everything())
|
||||
c.Validate(t, receivedDSs, err)
|
||||
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ type LimitRangesNamespacer interface {
|
||||
|
||||
// LimitRangeInterface has methods to work with LimitRange resources.
|
||||
type LimitRangeInterface interface {
|
||||
List(selector labels.Selector) (*api.LimitRangeList, error)
|
||||
List(label labels.Selector, field fields.Selector) (*api.LimitRangeList, error)
|
||||
Get(name string) (*api.LimitRange, error)
|
||||
Delete(name string) error
|
||||
Create(limitRange *api.LimitRange) (*api.LimitRange, error)
|
||||
@@ -55,9 +55,9 @@ func newLimitRanges(c *Client, namespace string) *limitRanges {
|
||||
}
|
||||
|
||||
// List takes a selector, and returns the list of limitRanges that match that selector.
|
||||
func (c *limitRanges) List(selector labels.Selector) (result *api.LimitRangeList, err error) {
|
||||
func (c *limitRanges) List(label labels.Selector, field fields.Selector) (result *api.LimitRangeList, err error) {
|
||||
result = &api.LimitRangeList{}
|
||||
err = c.r.Get().Namespace(c.ns).Resource("limitRanges").LabelsSelectorParam(selector).Do().Into(result)
|
||||
err = c.r.Get().Namespace(c.ns).Resource("limitRanges").LabelsSelectorParam(label).FieldsSelectorParam(field).Do().Into(result)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ func TestLimitRangeList(t *testing.T) {
|
||||
},
|
||||
Response: Response{StatusCode: 200, Body: limitRangeList},
|
||||
}
|
||||
response, err := c.Setup(t).LimitRanges(ns).List(labels.Everything())
|
||||
response, err := c.Setup(t).LimitRanges(ns).List(labels.Everything(), fields.Everything())
|
||||
c.Validate(t, response, err)
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ type ReplicationControllersNamespacer interface {
|
||||
|
||||
// ReplicationControllerInterface has methods to work with ReplicationController resources.
|
||||
type ReplicationControllerInterface interface {
|
||||
List(selector labels.Selector) (*api.ReplicationControllerList, error)
|
||||
List(label labels.Selector, field fields.Selector) (*api.ReplicationControllerList, error)
|
||||
Get(name string) (*api.ReplicationController, error)
|
||||
Create(ctrl *api.ReplicationController) (*api.ReplicationController, error)
|
||||
Update(ctrl *api.ReplicationController) (*api.ReplicationController, error)
|
||||
@@ -51,9 +51,9 @@ func newReplicationControllers(c *Client, namespace string) *replicationControll
|
||||
}
|
||||
|
||||
// List takes a selector, and returns the list of replication controllers that match that selector.
|
||||
func (c *replicationControllers) List(selector labels.Selector) (result *api.ReplicationControllerList, err error) {
|
||||
func (c *replicationControllers) List(label labels.Selector, field fields.Selector) (result *api.ReplicationControllerList, err error) {
|
||||
result = &api.ReplicationControllerList{}
|
||||
err = c.r.Get().Namespace(c.ns).Resource("replicationControllers").LabelsSelectorParam(selector).Do().Into(result)
|
||||
err = c.r.Get().Namespace(c.ns).Resource("replicationControllers").LabelsSelectorParam(label).FieldsSelectorParam(field).Do().Into(result)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ import (
|
||||
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/pkg/fields"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
)
|
||||
|
||||
@@ -55,7 +56,7 @@ func TestListControllers(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}
|
||||
receivedControllerList, err := c.Setup(t).ReplicationControllers(ns).List(labels.Everything())
|
||||
receivedControllerList, err := c.Setup(t).ReplicationControllers(ns).List(labels.Everything(), fields.Everything())
|
||||
c.Validate(t, receivedControllerList, err)
|
||||
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ type ResourceQuotasNamespacer interface {
|
||||
|
||||
// ResourceQuotaInterface has methods to work with ResourceQuota resources.
|
||||
type ResourceQuotaInterface interface {
|
||||
List(selector labels.Selector) (*api.ResourceQuotaList, error)
|
||||
List(label labels.Selector, field fields.Selector) (*api.ResourceQuotaList, error)
|
||||
Get(name string) (*api.ResourceQuota, error)
|
||||
Delete(name string) error
|
||||
Create(resourceQuota *api.ResourceQuota) (*api.ResourceQuota, error)
|
||||
@@ -54,9 +54,9 @@ func newResourceQuotas(c *Client, namespace string) *resourceQuotas {
|
||||
}
|
||||
|
||||
// List takes a selector, and returns the list of resourceQuotas that match that selector.
|
||||
func (c *resourceQuotas) List(selector labels.Selector) (result *api.ResourceQuotaList, err error) {
|
||||
func (c *resourceQuotas) List(label labels.Selector, field fields.Selector) (result *api.ResourceQuotaList, err error) {
|
||||
result = &api.ResourceQuotaList{}
|
||||
err = c.r.Get().Namespace(c.ns).Resource("resourceQuotas").LabelsSelectorParam(selector).Do().Into(result)
|
||||
err = c.r.Get().Namespace(c.ns).Resource("resourceQuotas").LabelsSelectorParam(label).FieldsSelectorParam(field).Do().Into(result)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ func TestResourceQuotaList(t *testing.T) {
|
||||
},
|
||||
Response: Response{StatusCode: 200, Body: resourceQuotaList},
|
||||
}
|
||||
response, err := c.Setup(t).ResourceQuotas(ns).List(labels.Everything())
|
||||
response, err := c.Setup(t).ResourceQuotas(ns).List(labels.Everything(), fields.Everything())
|
||||
c.Validate(t, response, err)
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ type ServicesNamespacer interface {
|
||||
|
||||
// ServiceInterface has methods to work with Service resources.
|
||||
type ServiceInterface interface {
|
||||
List(selector labels.Selector) (*api.ServiceList, error)
|
||||
List(label labels.Selector, field fields.Selector) (*api.ServiceList, error)
|
||||
Get(name string) (*api.Service, error)
|
||||
Create(srv *api.Service) (*api.Service, error)
|
||||
Update(srv *api.Service) (*api.Service, error)
|
||||
@@ -51,12 +51,13 @@ func newServices(c *Client, namespace string) *services {
|
||||
}
|
||||
|
||||
// List takes a selector, and returns the list of services that match that selector
|
||||
func (c *services) List(selector labels.Selector) (result *api.ServiceList, err error) {
|
||||
func (c *services) List(label labels.Selector, field fields.Selector) (result *api.ServiceList, err error) {
|
||||
result = &api.ServiceList{}
|
||||
err = c.r.Get().
|
||||
Namespace(c.ns).
|
||||
Resource("services").
|
||||
LabelsSelectorParam(selector).
|
||||
LabelsSelectorParam(label).
|
||||
FieldsSelectorParam(field).
|
||||
Do().
|
||||
Into(result)
|
||||
return
|
||||
|
||||
@@ -23,6 +23,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/fields"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
)
|
||||
|
||||
@@ -54,7 +55,7 @@ func TestListServices(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}
|
||||
receivedServiceList, err := c.Setup(t).Services(ns).List(labels.Everything())
|
||||
receivedServiceList, err := c.Setup(t).Services(ns).List(labels.Everything(), fields.Everything())
|
||||
t.Logf("received services: %v %#v", err, receivedServiceList)
|
||||
c.Validate(t, receivedServiceList, err)
|
||||
}
|
||||
@@ -91,7 +92,7 @@ func TestListServicesLabels(t *testing.T) {
|
||||
c.Setup(t)
|
||||
c.QueryValidator[labelSelectorQueryParamName] = validateLabels
|
||||
selector := labels.Set{"foo": "bar", "name": "baz"}.AsSelector()
|
||||
receivedServiceList, err := c.Services(ns).List(selector)
|
||||
receivedServiceList, err := c.Services(ns).List(selector, fields.Everything())
|
||||
c.Validate(t, receivedServiceList, err)
|
||||
}
|
||||
|
||||
|
||||
@@ -42,8 +42,8 @@ func (c *FakeDaemonSets) Get(name string) (*extensions.DaemonSet, error) {
|
||||
return obj.(*extensions.DaemonSet), err
|
||||
}
|
||||
|
||||
func (c *FakeDaemonSets) List(label labels.Selector) (*extensions.DaemonSetList, error) {
|
||||
obj, err := c.Fake.Invokes(NewListAction("daemonsets", c.Namespace, label, nil), &extensions.DaemonSetList{})
|
||||
func (c *FakeDaemonSets) List(label labels.Selector, field fields.Selector) (*extensions.DaemonSetList, error) {
|
||||
obj, err := c.Fake.Invokes(NewListAction("daemonsets", c.Namespace, label, field), &extensions.DaemonSetList{})
|
||||
if obj == nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -39,8 +39,8 @@ func (c *FakeLimitRanges) Get(name string) (*api.LimitRange, error) {
|
||||
return obj.(*api.LimitRange), err
|
||||
}
|
||||
|
||||
func (c *FakeLimitRanges) List(label labels.Selector) (*api.LimitRangeList, error) {
|
||||
obj, err := c.Fake.Invokes(NewListAction("limitranges", c.Namespace, label, nil), &api.LimitRangeList{})
|
||||
func (c *FakeLimitRanges) List(label labels.Selector, field fields.Selector) (*api.LimitRangeList, error) {
|
||||
obj, err := c.Fake.Invokes(NewListAction("limitranges", c.Namespace, label, field), &api.LimitRangeList{})
|
||||
if obj == nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -39,8 +39,8 @@ func (c *FakeReplicationControllers) Get(name string) (*api.ReplicationControlle
|
||||
return obj.(*api.ReplicationController), err
|
||||
}
|
||||
|
||||
func (c *FakeReplicationControllers) List(label labels.Selector) (*api.ReplicationControllerList, error) {
|
||||
obj, err := c.Fake.Invokes(NewListAction("replicationcontrollers", c.Namespace, label, nil), &api.ReplicationControllerList{})
|
||||
func (c *FakeReplicationControllers) List(label labels.Selector, field fields.Selector) (*api.ReplicationControllerList, error) {
|
||||
obj, err := c.Fake.Invokes(NewListAction("replicationcontrollers", c.Namespace, label, field), &api.ReplicationControllerList{})
|
||||
if obj == nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -39,8 +39,8 @@ func (c *FakeResourceQuotas) Get(name string) (*api.ResourceQuota, error) {
|
||||
return obj.(*api.ResourceQuota), err
|
||||
}
|
||||
|
||||
func (c *FakeResourceQuotas) List(label labels.Selector) (*api.ResourceQuotaList, error) {
|
||||
obj, err := c.Fake.Invokes(NewListAction("resourcequotas", c.Namespace, label, nil), &api.ResourceQuotaList{})
|
||||
func (c *FakeResourceQuotas) List(label labels.Selector, field fields.Selector) (*api.ResourceQuotaList, error) {
|
||||
obj, err := c.Fake.Invokes(NewListAction("resourcequotas", c.Namespace, label, field), &api.ResourceQuotaList{})
|
||||
if obj == nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -40,8 +40,8 @@ func (c *FakeServices) Get(name string) (*api.Service, error) {
|
||||
return obj.(*api.Service), err
|
||||
}
|
||||
|
||||
func (c *FakeServices) List(label labels.Selector) (*api.ServiceList, error) {
|
||||
obj, err := c.Fake.Invokes(NewListAction("services", c.Namespace, label, nil), &api.ServiceList{})
|
||||
func (c *FakeServices) List(label labels.Selector, field fields.Selector) (*api.ServiceList, error) {
|
||||
obj, err := c.Fake.Invokes(NewListAction("services", c.Namespace, label, field), &api.ServiceList{})
|
||||
if obj == nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/errors"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/pkg/fields"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
)
|
||||
@@ -33,7 +34,7 @@ func TestNewClient(t *testing.T) {
|
||||
}
|
||||
client := &Fake{}
|
||||
client.AddReactor("*", "*", ObjectReaction(o, testapi.Default.RESTMapper()))
|
||||
list, err := client.Services("test").List(labels.Everything())
|
||||
list, err := client.Services("test").List(labels.Everything(), fields.Everything())
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -42,7 +43,7 @@ func TestNewClient(t *testing.T) {
|
||||
}
|
||||
|
||||
// When list is invoked a second time, the same results are returned.
|
||||
list, err = client.Services("test").List(labels.Everything())
|
||||
list, err = client.Services("test").List(labels.Everything(), fields.Everything())
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -64,12 +65,12 @@ func TestErrors(t *testing.T) {
|
||||
})
|
||||
client := &Fake{}
|
||||
client.AddReactor("*", "*", ObjectReaction(o, testapi.Default.RESTMapper()))
|
||||
_, err := client.Services("test").List(labels.Everything())
|
||||
_, err := client.Services("test").List(labels.Everything(), fields.Everything())
|
||||
if !errors.IsNotFound(err) {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
t.Logf("error: %#v", err.(*errors.StatusError).Status())
|
||||
_, err = client.Services("test").List(labels.Everything())
|
||||
_, err = client.Services("test").List(labels.Everything(), fields.Everything())
|
||||
if !errors.IsForbidden(err) {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user