Merge pull request #1400 from abhgupta/abhgupta-dev

Adding GetEndpoints method to the client EndpointsInterface
This commit is contained in:
Daniel Smith 2014-09-22 17:51:42 -07:00
commit bab5082a85
3 changed files with 40 additions and 0 deletions

View File

@ -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().

View File

@ -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{

View File

@ -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