VOL-1774 Etcd Crash Handling
Change-Id: I1eeb726654c3972fd0a4fafae134607e5a810415
diff --git a/rw_core/core/grpc_nbi_api_handler_test.go b/rw_core/core/grpc_nbi_api_handler_test.go
index e9499e3..4acb8aa 100755
--- a/rw_core/core/grpc_nbi_api_handler_test.go
+++ b/rw_core/core/grpc_nbi_api_handler_test.go
@@ -69,6 +69,8 @@
}
func (nb *NBTest) startCore(inCompeteMode bool) {
+ ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
+ defer cancel()
cfg := config.NewRWCoreFlags()
cfg.CorePairTopic = "rw_core"
cfg.DefaultRequestTimeout = nb.defaultTimeout.Nanoseconds() / 1000000 //TODO: change when Core changes to Duration
@@ -82,11 +84,14 @@
cfg.GrpcHost = "127.0.0.1"
setCoreCompeteMode(inCompeteMode)
client := setupKVClient(cfg, nb.coreInstanceID)
- nb.core = NewCore(nb.coreInstanceID, cfg, client, nb.kClient)
- nb.core.Start(context.Background())
+ nb.core = NewCore(ctx, nb.coreInstanceID, cfg, client, nb.kClient)
+ err = nb.core.Start(context.Background())
+ if err != nil {
+ log.Fatal("Cannot start core")
+ }
}
-func (nb *NBTest) createAndregisterAdapters() {
+func (nb *NBTest) createAndregisterAdapters(t *testing.T) {
// Setup the mock OLT adapter
oltAdapter, err := createMockAdapter(OltAdapter, nb.kClient, nb.coreInstanceID, coreName, nb.oltAdapterName)
if err != nil {
@@ -103,7 +108,10 @@
}
types := []*voltha.DeviceType{{Id: nb.oltAdapterName, Adapter: nb.oltAdapterName, AcceptsAddRemoveFlowUpdates: true}}
deviceTypes := &voltha.DeviceTypes{Items: types}
- nb.core.adapterMgr.registerAdapter(registrationData, deviceTypes)
+ if _, err := nb.core.adapterMgr.registerAdapter(registrationData, deviceTypes); err != nil {
+ log.Errorw("failed-to-register-adapter", log.Fields{"error": err})
+ assert.NotNil(t, err)
+ }
// Setup the mock ONU adapter
if _, err := createMockAdapter(OnuAdapter, nb.kClient, nb.coreInstanceID, coreName, nb.onuAdapterName); err != nil {
@@ -117,7 +125,10 @@
}
types = []*voltha.DeviceType{{Id: nb.onuAdapterName, Adapter: nb.onuAdapterName, AcceptsAddRemoveFlowUpdates: true}}
deviceTypes = &voltha.DeviceTypes{Items: types}
- nb.core.adapterMgr.registerAdapter(registrationData, deviceTypes)
+ if _, err := nb.core.adapterMgr.registerAdapter(registrationData, deviceTypes); err != nil {
+ log.Errorw("failed-to-register-adapter", log.Fields{"error": err})
+ assert.NotNil(t, err)
+ }
}
func (nb *NBTest) stopAll() {
@@ -314,7 +325,7 @@
// Try to create a device with invalid data
_, err = nbi.CreateDevice(getContext(), &voltha.Device{Type: nb.oltAdapterName})
assert.NotNil(t, err)
- assert.Equal(t, "No Device Info Present; MAC or HOSTIP&PORT", err.Error())
+ assert.Equal(t, "no-device-info-present; MAC or HOSTIP&PORT", err.Error())
// Ensure we only have 1 device in the Core
devices, err := nbi.ListDevices(getContext(), &empty.Empty{})
@@ -477,7 +488,7 @@
nb.testCoreWithoutData(t, nbi)
// Create/register the adapters
- nb.createAndregisterAdapters()
+ nb.createAndregisterAdapters(t)
// 2. Test adapter registration
nb.testAdapterRegistration(t, nbi)