diff options
author | Collin Guarino <collin.guarino@gmail.com> | 2016-02-13 11:48:59 -0500 |
---|---|---|
committer | Collin Guarino <collin.guarino@gmail.com> | 2016-02-13 11:48:59 -0500 |
commit | 32df96e1dc02531c42435dd6a12a0ac6f8725ff0 (patch) | |
tree | c8477a48f55991218b40a1685546f91c2734926d | |
parent | 11c8df3ca1f1aac6bd893ea2ecb69f858faceda5 (diff) |
Converted GetBridgeInfo to Bridge.GetInfo
-rw-r--r-- | bridge.go | 18 | ||||
-rw-r--r-- | bridge_test.go | 6 | ||||
-rw-r--r-- | light_test.go | 14 |
3 files changed, 15 insertions, 23 deletions
@@ -146,28 +146,32 @@ func (self *Bridge) Error(resp *http.Response, err error) (bool) { } // NewBridge defines hardware that is compatible with Hue. -func NewBridge(ip string, username string) *Bridge { +func NewBridge(ip string, username string) (*Bridge, error) { bridge := Bridge { IPAddress: ip, Username: username, } - GetBridgeInfo(&bridge) - return &bridge + info, err := bridge.GetInfo() + if err != nil { + return &Bridge{}, err + } + bridge.Info = info + return &bridge, nil } // GetBridgeInfo retreives the description.xml file from the bridge. -func GetBridgeInfo(self *Bridge) error { +func (self *Bridge) GetInfo() (BridgeInfo, error) { _, reader, err := self.Get("/description.xml") if err != nil { - return err + return BridgeInfo{}, err } data := BridgeInfo{} err = xml.NewDecoder(reader).Decode(&data) if err != nil { - return err + return BridgeInfo{}, err } self.Info = data - return nil + return data, nil } // CreateUser posts to ./api on the bridge to create a new whitelisted user. diff --git a/bridge_test.go b/bridge_test.go index e7069a2..2100089 100644 --- a/bridge_test.go +++ b/bridge_test.go @@ -11,11 +11,7 @@ import ( "testing" ) -func TestNewBridge(t *testing.T) { - NewBridge("192.168.1.128", "319b36233bd2328f3e40731b23479207") -} - func TestCreateUser(t *testing.T) { - bridge := NewBridge("192.168.1.128", "319b36233bd2328f3e40731b23479207") + bridge, _ := NewBridge("192.168.1.128", "319b36233bd2328f3e40731b23479207") bridge.CreateUser("linux") } diff --git a/light_test.go b/light_test.go index 8961666..a4fd777 100644 --- a/light_test.go +++ b/light_test.go @@ -13,19 +13,11 @@ import ( "time" ) -func TestGetAllLights(t *testing.T) { - bridge := NewBridge("192.168.1.128", "319b36233bd2328f3e40731b23479207") - GetAllLights(bridge) -} - -func TestGetLightByName(t *testing.T) { - bridge := NewBridge("192.168.1.128", "319b36233bd2328f3e40731b23479207") - GetLightByName(bridge, "Bathroom Light") -} - func TestSetLightState(t *testing.T) { fmt.Println("\nTESTING LIGHT STATE:\n\n") - bridge := NewBridge("192.168.1.128", "319b36233bd2328f3e40731b23479207") + bridge, _ := NewBridge("192.168.1.128", "319b36233bd2328f3e40731b23479207") + nameTest, _ := GetLightByName(bridge, "Desk Light") // Also tests GetAllLights + _ = nameTest selectedLight, _ := GetLightByIndex(bridge, 7) selectedLight.On() |