+ assert.Equal(t, http.StatusUnsupportedMediaType, writer.Result().StatusCode)
+ assert.Equal(t, errorResponse.Code, err.Code)
+ assert.Equal(t, errorResponse.Message, err.Message)
+}
+
+func TestShutdownStatusNoContent(t *testing.T) {
+ controller, readerMock, _, _, e2tInstancesManagerMock := setupControllerTest(t)
+ e2tInstancesManagerMock.On("GetE2TAddresses").Return([]string{}, nil)
+ readerMock.On("GetListNodebIds").Return([]*entities.NbIdentity{}, nil)
+
+ writer := httptest.NewRecorder()
+ controller.Shutdown(writer, tests.GetHttpRequest())
+
+ assert.Equal(t, http.StatusNoContent, writer.Result().StatusCode)
+}
+
+func TestHandleInternalError(t *testing.T) {
+ controller, _, _, _, _ := setupControllerTest(t)
+
+ writer := httptest.NewRecorder()
+ err := e2managererrors.NewInternalError()
+
+ controller.handleErrorResponse(err, writer)
+ var errorResponse = parseJsonRequest(t, writer.Body)
+
+ assert.Equal(t, http.StatusInternalServerError, writer.Result().StatusCode)
+ assert.Equal(t, errorResponse.Code, err.Code)
+ assert.Equal(t, errorResponse.Message, err.Message)
+}
+
+func TestHandleCommandAlreadyInProgressError(t *testing.T) {
+ controller, _, _, _, _ := setupControllerTest(t)
+ writer := httptest.NewRecorder()
+ err := e2managererrors.NewCommandAlreadyInProgressError()
+
+ controller.handleErrorResponse(err, writer)
+ var errorResponse = parseJsonRequest(t, writer.Body)
+
+ assert.Equal(t, http.StatusMethodNotAllowed, writer.Result().StatusCode)
+ assert.Equal(t, errorResponse.Code, err.Code)
+ assert.Equal(t, errorResponse.Message, err.Message)
+}
+
+func TestHandleRoutingManagerError(t *testing.T) {
+ controller, _, _, _, _ := setupControllerTest(t)
+ writer := httptest.NewRecorder()
+ err := e2managererrors.NewRoutingManagerError()
+
+ controller.handleErrorResponse(err, writer)
+ var errorResponse = parseJsonRequest(t, writer.Body)
+
+ assert.Equal(t, http.StatusServiceUnavailable, writer.Result().StatusCode)
+ assert.Equal(t, errorResponse.Code, err.Code)
+ assert.Equal(t, errorResponse.Message, err.Message)
+}
+
+func TestHandleE2TInstanceAbsenceError(t *testing.T) {
+ controller, _, _, _, _ := setupControllerTest(t)
+
+ writer := httptest.NewRecorder()
+ err := e2managererrors.NewE2TInstanceAbsenceError()
+
+ controller.handleErrorResponse(err, writer)
+ var errorResponse = parseJsonRequest(t, writer.Body)
+
+ assert.Equal(t, http.StatusServiceUnavailable, writer.Result().StatusCode)
+ assert.Equal(t, errorResponse.Code, err.Code)
+ assert.Equal(t, errorResponse.Message, err.Message)
+}
+
+func TestValidateHeaders(t *testing.T) {
+ controller, _, _, _, _ := setupControllerTest(t)