Fix bugs in monitor

This commit is contained in:
Asim Aslam 2019-08-06 18:05:05 +01:00
parent 3adce58eb2
commit 91f2af91de
2 changed files with 15 additions and 2 deletions

View File

@ -128,7 +128,7 @@ func (m *monitor) Watch(service string) error {
func (m *monitor) Stop() error {
m.Lock()
defer m.RUnlock()
defer m.Unlock()
select {
case <-m.exit:
@ -203,6 +203,7 @@ func newMonitor(opts ...Option) Monitor {
m := &monitor{
options: options,
exit: make(chan bool),
client: options.Client,
registry: cache.New(options.Registry),
services: make(map[string]*Status),

View File

@ -12,8 +12,20 @@ func TestMonitor(t *testing.T) {
for _, service := range services {
_, err := m.Status(service)
if err != nil {
if err == nil {
t.Fatal("expected status error for unknown service")
}
if err := m.Watch(service); err == nil {
t.Fatal("expected watch error for unknown service")
}
// TODO:
// 1. start a service
// 2. watch service
// 3. get service status
}
// stop monitor
m.Stop()
}