aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCollin Guarino <collin.guarino@gmail.com>2016-02-13 11:48:59 -0500
committerCollin Guarino <collin.guarino@gmail.com>2016-02-13 11:48:59 -0500
commit32df96e1dc02531c42435dd6a12a0ac6f8725ff0 (patch)
treec8477a48f55991218b40a1685546f91c2734926d
parent11c8df3ca1f1aac6bd893ea2ecb69f858faceda5 (diff)
Converted GetBridgeInfo to Bridge.GetInfo
-rw-r--r--bridge.go18
-rw-r--r--bridge_test.go6
-rw-r--r--light_test.go14
3 files changed, 15 insertions, 23 deletions
diff --git a/bridge.go b/bridge.go
index 4785175..1081616 100644
--- a/bridge.go
+++ b/bridge.go
@@ -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()