From eb9a1f604a40363113681a9435bc722cbc7baf34 Mon Sep 17 00:00:00 2001 From: Andreas Linde Date: Tue, 9 Jan 2024 13:10:01 +0100 Subject: [PATCH] Fix handling usecases not being available yet --- spine/device_remote.go | 5 ++++- spine/device_remote_test.go | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/spine/device_remote.go b/spine/device_remote.go index 083a375f..29bf8cde 100644 --- a/spine/device_remote.go +++ b/spine/device_remote.go @@ -247,8 +247,11 @@ func (d *DeviceRemoteImpl) UseCases() []model.UseCaseInformationDataType { nodemgmt := d.FeatureByEntityTypeAndRole(entity, model.FeatureTypeTypeNodeManagement, model.RoleTypeSpecial) data := nodemgmt.DataCopy(model.FunctionTypeNodeManagementUseCaseData).(*model.NodeManagementUseCaseDataType) + if data != nil { + return data.UseCaseInformation + } - return data.UseCaseInformation + return nil } // Checks if the given actor, usecasename and provided server features are available diff --git a/spine/device_remote_test.go b/spine/device_remote_test.go index 7f9c7bfd..4f11f1b8 100644 --- a/spine/device_remote_test.go +++ b/spine/device_remote_test.go @@ -81,9 +81,12 @@ func (s *DeviceRemoteSuite) Test_FeatureByEntityTypeAndRole() { } func (s *DeviceRemoteSuite) Test_Usecases() { + uc := s.remoteDevice.UseCases() + assert.Nil(s.T(), uc) + _, _ = s.remoteDevice.HandleIncomingSpineMesssage(loadFileData(s.T(), nm_usecaseinformationlistdata_recv_reply_file_path)) - uc := s.remoteDevice.UseCases() + uc = s.remoteDevice.UseCases() assert.NotNil(s.T(), uc) }