github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/apiserver/common/machine_test.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package common_test 5 6 import ( 7 gc "gopkg.in/check.v1" 8 9 "github.com/juju/juju/apiserver/common" 10 "github.com/juju/juju/state" 11 "github.com/juju/juju/state/multiwatcher" 12 ) 13 14 type machineSuite struct{} 15 16 var _ = gc.Suite(&machineSuite{}) 17 18 func (s *machineSuite) TestMachineJobFromParams(c *gc.C) { 19 var tests = []struct { 20 name multiwatcher.MachineJob 21 want state.MachineJob 22 err string 23 }{{ 24 name: multiwatcher.JobHostUnits, 25 want: state.JobHostUnits, 26 }, { 27 name: multiwatcher.JobManageEnviron, 28 want: state.JobManageEnviron, 29 }, { 30 name: multiwatcher.JobManageNetworking, 31 want: state.JobManageNetworking, 32 }, { 33 name: multiwatcher.JobManageStateDeprecated, 34 want: state.JobManageStateDeprecated, 35 }, { 36 name: "invalid", 37 want: -1, 38 err: `invalid machine job "invalid"`, 39 }} 40 for _, test := range tests { 41 got, err := common.MachineJobFromParams(test.name) 42 if err != nil { 43 c.Check(err, gc.ErrorMatches, test.err) 44 } 45 c.Check(got, gc.Equals, test.want) 46 } 47 }