+}
+
+func TestRunError(t *testing.T) {
+ log := initLog(t)
+ err := Run(log, 1234567, &mocks.RootControllerMock{}, &mocks.NodebControllerMock{}, &mocks.E2TControllerMock{}, &mocks.SymptomdataControllerMock{})
+ assert.NotNil(t, err)
+}
+
+func TestRun(t *testing.T) {
+ log := initLog(t)
+ _, rootControllerMock, nodebControllerMock, e2tControllerMock, symptomdataControllerMock := setupRouterAndMocks()
+ go Run(log, 11223, rootControllerMock, nodebControllerMock, e2tControllerMock, symptomdataControllerMock)
+
+ time.Sleep(time.Millisecond * 100)
+ resp, err := http.Get("http://localhost:11223/v1/health")
+ if err != nil {
+ t.Fatalf("failed to perform GET to http://localhost:11223/v1/health")
+ }
+ assert.Equal(t, 200, resp.StatusCode)
+}
+
+func TestRouteAddEnb(t *testing.T) {
+ router, _, nodebControllerMock, _, _ := setupRouterAndMocks()
+
+ req, err := http.NewRequest("POST", "/v1/nodeb/enb", nil)
+ if err != nil {
+ t.Fatal(err)
+ }
+ rr := httptest.NewRecorder()
+ router.ServeHTTP(rr, req)
+
+ assert.Equal(t, http.StatusCreated, rr.Code, "handler returned wrong status code")
+ nodebControllerMock.AssertNumberOfCalls(t, "AddEnb", 1)
+}
+
+func TestRouteDeleteEnb(t *testing.T) {
+ router, _, nodebControllerMock, _, _ := setupRouterAndMocks()
+
+ req, err := http.NewRequest("DELETE", "/v1/nodeb/enb/ran1", nil)
+ if err != nil {
+ t.Fatal(err)
+ }
+ rr := httptest.NewRecorder()
+ router.ServeHTTP(rr, req)
+
+ assert.Equal(t, http.StatusNoContent, rr.Code, "handler returned wrong status code")
+ nodebControllerMock.AssertNumberOfCalls(t, "DeleteEnb", 1)
+}
+
+func initLog(t *testing.T) *logger.Logger {
+ InfoLevel := int8(3)
+ log, err := logger.InitLogger(InfoLevel)
+ if err != nil {
+ t.Errorf("#initLog test - failed to initialize logger, error: %s", err)
+ }
+ return log
+}