ducky/devices

Paddy 2015-11-27 Parent:74dbc04879a7 Child:1ae5bae472c1

11:683050b4546b Go to Latest

ducky/devices/storer_test.go

Return ErrDeviceNotFound when updating devices. If we can't find the Device we're supposed to update, return an ErrDeviceNotFound error. Write a unit test that tests for this behaviour.

History
     1.1 --- a/storer_test.go	Fri Nov 27 10:37:27 2015 -0800
     1.2 +++ b/storer_test.go	Fri Nov 27 11:32:15 2015 -0800
     1.3 @@ -327,3 +327,35 @@
     1.4  		}
     1.5  	}
     1.6  }
     1.7 +
     1.8 +func TestUpdateDeviceNotFound(t *testing.T) {
     1.9 +	for _, factory := range storerFactories {
    1.10 +		ctx := context.Background()
    1.11 +		storer, err := factory.NewStorer(ctx)
    1.12 +		if err != nil {
    1.13 +			t.Fatalf("Fatal error creating Storer from %T: %+v\n", factory, err)
    1.14 +		}
    1.15 +
    1.16 +		deviceID := uuid.NewID()
    1.17 +		name := "my new name"
    1.18 +		change := DeviceChange{DeviceID: deviceID, Name: &name}
    1.19 +
    1.20 +		err = storer.UpdateDevice(change, ctx)
    1.21 +		if err != ErrDeviceNotFound {
    1.22 +			t.Errorf("Expected error to be ErrDeviceNotFound, %T returned %+v\n", storer, err)
    1.23 +		}
    1.24 +
    1.25 +		results, err := storer.GetDevices([]uuid.ID{deviceID}, ctx)
    1.26 +		if err != nil {
    1.27 +			t.Errorf("Error retrieving devices from %T: %+v\n", storer, err)
    1.28 +		}
    1.29 +		if len(results) != 0 {
    1.30 +			t.Errorf("Expected no devices in %T, got %+v\n", storer, results)
    1.31 +		}
    1.32 +
    1.33 +		err = factory.TeardownStorer(storer, ctx)
    1.34 +		if err != nil {
    1.35 +			t.Errorf("Error cleaning up after %T: %+v\n", storer, err)
    1.36 +		}
    1.37 +	}
    1.38 +}