github.com/Pankov404/juju@v0.0.0-20150703034450-be266991dceb/service/windows/stubsvcmanager_test.go (about)

     1  package windows
     2  
     3  import (
     4  	"github.com/juju/testing"
     5  
     6  	"github.com/juju/juju/service/common"
     7  )
     8  
     9  type service struct {
    10  	running bool
    11  
    12  	conf common.Conf
    13  }
    14  
    15  var MgrServices = map[string]*service{}
    16  
    17  type StubSvcManager struct {
    18  	*testing.Stub
    19  }
    20  
    21  func (s *StubSvcManager) Start(name string) error {
    22  	s.Stub.AddCall("Start", name)
    23  
    24  	if svc, ok := MgrServices[name]; !ok {
    25  		return c_ERROR_SERVICE_DOES_NOT_EXIST
    26  	} else {
    27  		svc.running = true
    28  	}
    29  	return nil
    30  }
    31  
    32  func (s *StubSvcManager) Stop(name string) error {
    33  	s.Stub.AddCall("Stop", name)
    34  
    35  	if svc, ok := MgrServices[name]; !ok {
    36  		return c_ERROR_SERVICE_DOES_NOT_EXIST
    37  	} else {
    38  		svc.running = false
    39  	}
    40  	return nil
    41  }
    42  
    43  func (s *StubSvcManager) Delete(name string) error {
    44  	s.Stub.AddCall("Delete", name)
    45  
    46  	if _, ok := MgrServices[name]; !ok {
    47  		return c_ERROR_SERVICE_DOES_NOT_EXIST
    48  	}
    49  	delete(MgrServices, name)
    50  	return nil
    51  }
    52  
    53  func (s *StubSvcManager) Create(name string, conf common.Conf) error {
    54  	s.Stub.AddCall("Create", name, conf)
    55  
    56  	if _, ok := MgrServices[name]; ok {
    57  		return c_ERROR_SERVICE_EXISTS
    58  	}
    59  
    60  	MgrServices[name] = &service{
    61  		running: false,
    62  		conf:    conf,
    63  	}
    64  	return nil
    65  }
    66  
    67  func (s *StubSvcManager) Running(name string) (bool, error) {
    68  	s.Stub.AddCall("Running", name)
    69  
    70  	if svc, ok := MgrServices[name]; ok {
    71  		return svc.running, nil
    72  	}
    73  	return false, c_ERROR_SERVICE_DOES_NOT_EXIST
    74  }
    75  
    76  func (s *StubSvcManager) Exists(name string, conf common.Conf) (bool, error) {
    77  	if _, ok := MgrServices[name]; ok {
    78  		return true, nil
    79  	}
    80  	return false, nil
    81  }
    82  
    83  func (s *StubSvcManager) ListServices() ([]string, error) {
    84  	s.Stub.AddCall("listServices")
    85  
    86  	services := []string{}
    87  	for i := range MgrServices {
    88  		services = append(services, i)
    89  	}
    90  	return services, s.NextErr()
    91  }
    92  
    93  func (s *StubSvcManager) Clear() {
    94  	MgrServices = map[string]*service{}
    95  }