github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/apiserver/common/presence_test.go (about) 1 // Copyright 2018 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package common_test 5 6 import ( 7 "fmt" 8 9 "github.com/juju/errors" 10 11 "github.com/juju/juju/apiserver/common" 12 "github.com/juju/juju/core/presence" 13 ) 14 15 func agentAlive(agent string) common.ModelPresence { 16 return &fakeModelPresence{status: presence.Alive, agent: agent} 17 } 18 19 func agentDown(agent string) common.ModelPresence { 20 return &fakeModelPresence{status: presence.Missing, agent: agent} 21 } 22 23 func presenceError(agent string) common.ModelPresence { 24 return &fakeModelPresence{err: errors.New("boom"), agent: agent} 25 } 26 27 type fakeModelPresence struct { 28 agent string 29 status presence.Status 30 err error 31 } 32 33 func (f *fakeModelPresence) AgentStatus(agent string) (presence.Status, error) { 34 if agent != f.agent { 35 return f.status, fmt.Errorf("unexpected agent %v, expected %v", agent, f.agent) 36 } 37 return f.status, f.err 38 }