SEBA-901 - handle adapter restart

Stops existing goroutines processing messages and
allows for ONUs not in the initialized state when
adapter reconnects to not attempt to rediscover.

Change-Id: Ie3951d6ad36b7c8b3a4ddfbf55850b8ed7cf35d8
diff --git a/internal/bbsim/devices/onu_indications_test.go b/internal/bbsim/devices/onu_indications_test.go
index d12c5a6..37008a2 100644
--- a/internal/bbsim/devices/onu_indications_test.go
+++ b/internal/bbsim/devices/onu_indications_test.go
@@ -17,6 +17,7 @@
 package devices
 
 import (
+	"context"
 	"errors"
 	"github.com/opencord/voltha-protos/v2/go/openolt"
 	"google.golang.org/grpc"
@@ -52,7 +53,8 @@
 		fail:      false,
 		channel:   make(chan int, 10),
 	}
-	go onu.ProcessOnuMessages(stream, nil)
+	ctx, cancel := context.WithCancel(context.TODO())
+	go onu.ProcessOnuMessages(ctx, stream, nil)
 	onu.InternalState.SetState("initialized")
 	onu.InternalState.Event("discover")
 
@@ -62,6 +64,7 @@
 		assert.Equal(t, stream.Calls[1].IntfId, onu.PonPortID)
 		assert.Equal(t, stream.Calls[1].SerialNumber, onu.SerialNumber)
 	}
+	cancel()
 }
 
 // test that if the discovery indication is not acknowledge we'll keep sending new ones
@@ -73,7 +76,8 @@
 		fail:      false,
 		channel:   make(chan int, 10),
 	}
-	go onu.ProcessOnuMessages(stream, nil)
+	ctx, cancel := context.WithCancel(context.TODO())
+	go onu.ProcessOnuMessages(ctx, stream, nil)
 	onu.InternalState.SetState("initialized")
 	onu.InternalState.Event("discover")
 
@@ -81,6 +85,7 @@
 	case <-time.After(400 * time.Millisecond):
 		assert.Equal(t, stream.CallCount, 4)
 	}
+	cancel()
 }
 
 // test that if the discovery indication is not acknowledge we'll send a new one
@@ -93,7 +98,8 @@
 		fail:      false,
 		channel:   make(chan int, 10),
 	}
-	go onu.ProcessOnuMessages(stream, nil)
+	ctx, cancel := context.WithCancel(context.TODO())
+	go onu.ProcessOnuMessages(ctx, stream, nil)
 	onu.InternalState.SetState("initialized")
 	onu.InternalState.Event("discover")
 
@@ -110,4 +116,5 @@
 
 		assert.Equal(t, stream.CallCount, 2)
 	}
+	cancel()
 }