package main

import "github.com/go-check/check"

func (s *DockerSwarmSuite) getDaemon(c *check.C, nodeID string) *SwarmDaemon {
	s.daemonsLock.Lock()
	defer s.daemonsLock.Unlock()
	for _, d := range s.daemons {
		if d.NodeID == nodeID {
			return d
		}
	}
	c.Fatalf("could not find node with id: %s", nodeID)
	return nil
}

// nodeCmd executes a command on a given node via the normal docker socket
func (s *DockerSwarmSuite) nodeCmd(c *check.C, id, cmd string, args ...string) (string, error) {
	return s.getDaemon(c, id).Cmd(cmd, args...)
}