Skip to content
Snippets Groups Projects
Commit cfe1c094 authored by Neil-Jocelyn Schark's avatar Neil-Jocelyn Schark Committed by Fabian Seidl
Browse files

Fix Update for devices does not work as expected for file store system

See merge request !325
parent ef0cb25d
No related branches found
No related tags found
2 merge requests!325Fix Update for devices does not work as expected for file store system,!264WIP: Develop
Pipeline #103429 failed
...@@ -125,7 +125,7 @@ func (s *FilesystemDeviceStore) Update(deviceToUpdate device.Device) error { ...@@ -125,7 +125,7 @@ func (s *FilesystemDeviceStore) Update(deviceToUpdate device.Device) error {
s.fileMutex.Lock() s.fileMutex.Lock()
defer s.fileMutex.Unlock() defer s.fileMutex.Unlock()
var loadedDevice device.LoadedDevice loadedDeviceToUpdate, err := store.TransformObjectToLoadedObject[device.Device, device.LoadedDevice](deviceToUpdate)
devices, err := s.readAllDevicesFromFile() devices, err := s.readAllDevicesFromFile()
if err != nil { if err != nil {
...@@ -134,11 +134,12 @@ func (s *FilesystemDeviceStore) Update(deviceToUpdate device.Device) error { ...@@ -134,11 +134,12 @@ func (s *FilesystemDeviceStore) Update(deviceToUpdate device.Device) error {
for i, device := range devices { for i, device := range devices {
if device.ID == deviceToUpdate.ID().String() { if device.ID == deviceToUpdate.ID().String() {
devices[i] = loadedDevice devices[i] = loadedDeviceToUpdate
err = s.writeAllDevicesToFile(devices) err = s.writeAllDevicesToFile(devices)
if err != nil { if err != nil {
return err return err
} }
return nil
} }
} }
......
...@@ -54,11 +54,12 @@ func TestAddDevice(t *testing.T) { ...@@ -54,11 +54,12 @@ func TestAddDevice(t *testing.T) {
pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad") pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
deviceID, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa") deviceID, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
sbiID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa") sbiID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
trop := returnBasicTransportOption()
sbi1, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID1) sbi1, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID1)
deviceStore := NewDeviceStore(pndID) deviceStore := NewDeviceStore(pndID)
device, _ := NewDevice("testdevice", deviceID, nil, sbi1) device, _ := NewDevice("testdevice", deviceID, &trop, sbi1)
err := deviceStore.Add(device) err := deviceStore.Add(device)
if err != nil { if err != nil {
...@@ -160,10 +161,52 @@ func TestGetDevice(t *testing.T) { ...@@ -160,10 +161,52 @@ func TestGetDevice(t *testing.T) {
} }
if returnDevice.ID != inputDevices[1].ID().String() { if returnDevice.ID != inputDevices[1].ID().String() {
t.Errorf("GetAll() = %v, want %v", returnDevice.ID, inputDevices[1].ID().String()) t.Errorf("Get() = %v, want %v", returnDevice.ID, inputDevices[1].ID().String())
} }
if returnDevice.Name != inputDevices[1].Name() { if returnDevice.Name != inputDevices[1].Name() {
t.Errorf("GetAll() = %v, want %v", returnDevice.Name, inputDevices[1].Name()) t.Errorf("Get() = %v, want %v", returnDevice.Name, inputDevices[1].Name())
}
}
func TestUpdateDevice(t *testing.T) {
ensureDeviceFilesForTestAreRemoved()
defer ensureDeviceFilesForTestAreRemoved()
pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
deviceID, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
sbiID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
trop := returnBasicTransportOption()
updatedDeviceName := "testdevice2"
sbi1, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID1)
deviceStore := NewDeviceStore(pndID)
device, _ := NewDevice("testdevice", deviceID, &trop, sbi1)
err := deviceStore.Add(device)
if err != nil {
t.Error(err)
}
device, _ = NewDevice(updatedDeviceName, deviceID, &trop, sbi1)
err = deviceStore.Update(device)
if err != nil {
t.Error(err)
}
returnDevice, err := deviceStore.Get(store.Query{ID: deviceID, Name: updatedDeviceName})
if err != nil {
t.Error(err)
}
if returnDevice.ID != deviceID.String() {
t.Errorf("Get() = %v, want %v", returnDevice.ID, deviceID.String())
}
if returnDevice.Name != updatedDeviceName {
t.Errorf("Get() = %v, want %v", returnDevice.Name, updatedDeviceName)
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment