Merge pull request #627 from sttts/api-agent-service-address
Add agent service Address field to the api
This commit is contained in:
commit
9600174ab7
|
@ -22,6 +22,7 @@ type AgentService struct {
|
||||||
Service string
|
Service string
|
||||||
Tags []string
|
Tags []string
|
||||||
Port int
|
Port int
|
||||||
|
Address string
|
||||||
}
|
}
|
||||||
|
|
||||||
// AgentMember represents a cluster member known to the agent
|
// AgentMember represents a cluster member known to the agent
|
||||||
|
@ -45,6 +46,7 @@ type AgentServiceRegistration struct {
|
||||||
Name string `json:",omitempty"`
|
Name string `json:",omitempty"`
|
||||||
Tags []string `json:",omitempty"`
|
Tags []string `json:",omitempty"`
|
||||||
Port int `json:",omitempty"`
|
Port int `json:",omitempty"`
|
||||||
|
Address string `json:",omitempty"`
|
||||||
Check *AgentServiceCheck
|
Check *AgentServiceCheck
|
||||||
Checks AgentServiceChecks
|
Checks AgentServiceChecks
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,6 +77,52 @@ func TestAgent_Services(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestAgent_ServiceAddress(t *testing.T) {
|
||||||
|
c, s := makeClient(t)
|
||||||
|
defer s.stop()
|
||||||
|
|
||||||
|
agent := c.Agent()
|
||||||
|
|
||||||
|
reg1 := &AgentServiceRegistration{
|
||||||
|
Name: "foo1",
|
||||||
|
Port: 8000,
|
||||||
|
Address: "192.168.0.42",
|
||||||
|
}
|
||||||
|
reg2 := &AgentServiceRegistration{
|
||||||
|
Name: "foo2",
|
||||||
|
Port: 8000,
|
||||||
|
}
|
||||||
|
if err := agent.ServiceRegister(reg1); err != nil {
|
||||||
|
t.Fatalf("err: %v", err)
|
||||||
|
}
|
||||||
|
if err := agent.ServiceRegister(reg2); err != nil {
|
||||||
|
t.Fatalf("err: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
services, err := agent.Services()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("err: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, ok := services["foo1"]; !ok {
|
||||||
|
t.Fatalf("missing service: %v", services)
|
||||||
|
}
|
||||||
|
if _, ok := services["foo2"]; !ok {
|
||||||
|
t.Fatalf("missing service: %v", services)
|
||||||
|
}
|
||||||
|
|
||||||
|
if services["foo1"].Address != "192.168.0.42" {
|
||||||
|
t.Fatalf("missing Address field in service foo1: %v", services)
|
||||||
|
}
|
||||||
|
if services["foo2"].Address != "" {
|
||||||
|
t.Fatalf("missing Address field in service foo2: %v", services)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := agent.ServiceDeregister("foo"); err != nil {
|
||||||
|
t.Fatalf("err: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestAgent_Services_MultipleChecks(t *testing.T) {
|
func TestAgent_Services_MultipleChecks(t *testing.T) {
|
||||||
c, s := makeClient(t)
|
c, s := makeClient(t)
|
||||||
defer s.stop()
|
defer s.stop()
|
||||||
|
|
Loading…
Reference in New Issue