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
Branches
Tags
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 {
s.fileMutex.Lock()
defer s.fileMutex.Unlock()
var loadedDevice device.LoadedDevice
loadedDeviceToUpdate, err := store.TransformObjectToLoadedObject[device.Device, device.LoadedDevice](deviceToUpdate)
devices, err := s.readAllDevicesFromFile()
if err != nil {
......@@ -134,11 +134,12 @@ func (s *FilesystemDeviceStore) Update(deviceToUpdate device.Device) error {
for i, device := range devices {
if device.ID == deviceToUpdate.ID().String() {
devices[i] = loadedDevice
devices[i] = loadedDeviceToUpdate
err = s.writeAllDevicesToFile(devices)
if err != nil {
return err
}
return nil
}
}
......
......@@ -54,11 +54,12 @@ func TestAddDevice(t *testing.T) {
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()
sbi1, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID1)
deviceStore := NewDeviceStore(pndID)
device, _ := NewDevice("testdevice", deviceID, nil, sbi1)
device, _ := NewDevice("testdevice", deviceID, &trop, sbi1)
err := deviceStore.Add(device)
if err != nil {
......@@ -160,10 +161,52 @@ func TestGetDevice(t *testing.T) {
}
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() {
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