[VOL-4771] Error deleting device via voltctl when OLT is unreachable
Change-Id: I4cae0625a78a61b470db47b0339e078108d108c9
diff --git a/internal/pkg/core/openolt_test.go b/internal/pkg/core/openolt_test.go
index 575ce64..776fef4 100644
--- a/internal/pkg/core/openolt_test.go
+++ b/internal/pkg/core/openolt_test.go
@@ -30,6 +30,8 @@
conf "github.com/opencord/voltha-lib-go/v7/pkg/config"
vgrpc "github.com/opencord/voltha-lib-go/v7/pkg/grpc"
+ "github.com/opencord/voltha-protos/v5/go/openolt"
+ "github.com/stretchr/testify/assert"
"github.com/opencord/voltha-lib-go/v7/pkg/events"
fu "github.com/opencord/voltha-lib-go/v7/pkg/flows"
@@ -205,7 +207,18 @@
}
func TestOpenOLT_DeleteDevice(t *testing.T) {
+ oo1 := testOltObject(&fields{})
+ oo2 := testOltObject(&fields{})
+ oo2.deviceHandlers = make(map[string]*DeviceHandler)
+ oo2.deviceHandlers[mockDevice().Id] = newMockDeviceHandler()
+ oo3 := testOltObject(&fields{})
+ oo3.deviceHandlers = make(map[string]*DeviceHandler)
+ oo3.deviceHandlers[mockDevice().Id] = newMockDeviceHandler()
+ _, err := oo3.deviceHandlers[mockDevice().Id].Client.Reboot(context.Background(), &openolt.Empty{})
+ assert.Nil(t, err)
+
type args struct {
+ oo *OpenOLT
device *voltha.Device
}
tests := []struct {
@@ -214,13 +227,14 @@
args args
wantErr error
}{
- {"delete_device-1", &fields{}, args{mockDevice()},
+ {"delete_device-1", &fields{}, args{oo1, mockDevice()},
olterrors.NewErrNotFound("device-handler", log.Fields{"device-id": "olt"}, nil)},
+ {"delete_device-2", &fields{}, args{oo2, mockDevice()}, nil},
+ {"delete_device-3", &fields{}, args{oo3, mockDevice()}, nil},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
- oo := testOltObject(tt.fields)
- if _, err := oo.DeleteDevice(context.Background(), tt.args.device); !reflect.DeepEqual(err, tt.wantErr) {
+ if _, err := tt.args.oo.DeleteDevice(context.Background(), tt.args.device); !reflect.DeepEqual(err, tt.wantErr) {
t.Errorf("Delete_device() error = %v, wantErr %v", err, tt.wantErr)
}
})