+ writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1new, "test1_DISCONNECTED").Return(nil)
+
+ nodeb1NotAssociated := *nodeb1
+ nodeb1NotAssociated.AssociatedE2TInstanceAddress = ""
+ nodeb1NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
+ writerMock.On("UpdateNodebInfo", &nodeb1NotAssociated).Return(common.NewInternalError(fmt.Errorf("for tests")))
+
+ err := shutdownManager.Shutdown(e2tInstance1)
+
+ assert.NotNil(t, err)
+ readerMock.AssertExpectations(t)
+ writerMock.AssertExpectations(t)
+ httpClientMock.AssertExpectations(t)
+}
+
+func TestShutdownFailureInClearNodebsAssociation_UpdateConnectionStatus(t *testing.T) {
+ shutdownManager, readerMock, writerMock, httpClientMock := initE2TShutdownManagerTest(t)
+
+ e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName)
+ e2tInstance1.State = entities.Active
+ e2tInstance1.AssociatedRanList = []string{"test1", "test2"}
+ writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted })).Return(nil)
+
+ nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
+ readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
+
+ nodeb1new := *nodeb1
+ nodeb1new.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
+ writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1new, "test1_DISCONNECTED").Return(common.NewInternalError(fmt.Errorf("for tests")))