mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 19:31:44 +00:00
Merge pull request #1400 from abhgupta/abhgupta-dev
Adding GetEndpoints method to the client EndpointsInterface
This commit is contained in:
commit
bab5082a85
@ -78,6 +78,7 @@ type ServiceInterface interface {
|
||||
// EndpointsInterface has methods to work with Endpoints resources
|
||||
type EndpointsInterface interface {
|
||||
ListEndpoints(selector labels.Selector) (*api.EndpointsList, error)
|
||||
GetEndpoints(id string) (*api.Endpoints, error)
|
||||
WatchEndpoints(label, field labels.Selector, resourceVersion uint64) (watch.Interface, error)
|
||||
}
|
||||
|
||||
@ -429,6 +430,13 @@ func (c *Client) ListEndpoints(selector labels.Selector) (result *api.EndpointsL
|
||||
return
|
||||
}
|
||||
|
||||
// GetEndpoints returns information about the endpoints for a particular service.
|
||||
func (c *Client) GetEndpoints(id string) (result *api.Endpoints, err error) {
|
||||
result = &api.Endpoints{}
|
||||
err = c.Get().Path("endpoints").Path(id).Do().Into(result)
|
||||
return
|
||||
}
|
||||
|
||||
// WatchEndpoints returns a watch.Interface that watches the requested endpoints for a service.
|
||||
func (c *Client) WatchEndpoints(label, field labels.Selector, resourceVersion uint64) (watch.Interface, error) {
|
||||
return c.Get().
|
||||
|
@ -541,6 +541,33 @@ func TestDeleteService(t *testing.T) {
|
||||
c.Validate(t, nil, err)
|
||||
}
|
||||
|
||||
func TestListEndpooints(t *testing.T) {
|
||||
c := &testClient{
|
||||
Request: testRequest{Method: "GET", Path: "/endpoints"},
|
||||
Response: Response{StatusCode: 200,
|
||||
Body: &api.EndpointsList{
|
||||
Items: []api.Endpoints{
|
||||
{
|
||||
JSONBase: api.JSONBase{ID: "endpoint-1"},
|
||||
Endpoints: []string{"10.245.1.2:8080", "10.245.1.3:8080"},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
receivedEndpointsList, err := c.Setup().ListEndpoints(labels.Everything())
|
||||
c.Validate(t, receivedEndpointsList, err)
|
||||
}
|
||||
|
||||
func TestGetEndpoints(t *testing.T) {
|
||||
c := &testClient{
|
||||
Request: testRequest{Method: "GET", Path: "/endpoints/endpoint-1"},
|
||||
Response: Response{StatusCode: 200, Body: &api.Endpoints{JSONBase: api.JSONBase{ID: "endpoint-1"}}},
|
||||
}
|
||||
response, err := c.Setup().GetEndpoints("endpoint-1")
|
||||
c.Validate(t, response, err)
|
||||
}
|
||||
|
||||
func TestDoRequest(t *testing.T) {
|
||||
invalid := "aaaaa"
|
||||
testClients := []testClient{
|
||||
|
@ -132,6 +132,11 @@ func (c *Fake) ListEndpoints(selector labels.Selector) (*api.EndpointsList, erro
|
||||
return api.Scheme.CopyOrDie(&c.EndpointsList).(*api.EndpointsList), c.Err
|
||||
}
|
||||
|
||||
func (c *Fake) GetEndpoints(name string) (*api.Endpoints, error) {
|
||||
c.Actions = append(c.Actions, FakeAction{Action: "get-endpoints"})
|
||||
return &api.Endpoints{}, nil
|
||||
}
|
||||
|
||||
func (c *Fake) WatchEndpoints(label, field labels.Selector, resourceVersion uint64) (watch.Interface, error) {
|
||||
c.Actions = append(c.Actions, FakeAction{Action: "watch-endpoints", Value: resourceVersion})
|
||||
return c.Watch, c.Err
|
||||
|
Loading…
Reference in New Issue
Block a user