X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fcontrollers%2Fnodeb_controller_test.go;h=cd22cc6d6050b726c9d15121ced2d154ef4da329;hb=d287336cfb4d5c74634fe7af38e7d5e9265671e4;hp=c01d7c92e6f283a0b74ee973e9e08e087aaf5c11;hpb=fe8d481d7f3e8d4b889ee3dcd995984eeb64cc6e;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/controllers/nodeb_controller_test.go b/E2Manager/controllers/nodeb_controller_test.go index c01d7c9..cd22cc6 100644 --- a/E2Manager/controllers/nodeb_controller_test.go +++ b/E2Manager/controllers/nodeb_controller_test.go @@ -1,6 +1,7 @@ // // Copyright 2019 AT&T Intellectual Property // Copyright 2019 Nokia +// Copyright (c) 2020 Samsung Electronics Co., Ltd. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -1760,6 +1761,21 @@ func TestX2ResetHandleSuccessfulRequestedDefault(t *testing.T) { assert.Equal(t, http.StatusNoContent, writer.Result().StatusCode) } +func TestX2ResetHandleFailureBodyReadError(t *testing.T) { + controller, _, _, _, _, _ := setupControllerTest(t) + + ranName := "test1" + writer := httptest.NewRecorder() + + // Fake reader to return reading error. + req, _ := http.NewRequest("PUT", "https://localhost:3800/nodeb-reset", errReader(0)) + req = mux.SetURLVars(req, map[string]string{"ranName": ranName}) + + controller.X2Reset(writer, req) + assert.Equal(t, http.StatusBadRequest, writer.Result().StatusCode) + +} + func TestX2ResetHandleFailureInvalidBody(t *testing.T) { controller, _, _, _, _, _ := setupControllerTest(t) @@ -1777,6 +1793,34 @@ func TestX2ResetHandleFailureInvalidBody(t *testing.T) { } +/* +func TestControllerHealthCheckRequestSuccess(t *testing.T) { + controller, readerMock, _, rmrMessengerMock, _, _ := setupControllerTest(t) + + ranName := "test1" + // o&m intervention + payload := []byte{0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x05, 0x40, 0x01, 0x64} + var xAction []byte + var msgSrc unsafe.Pointer + msg := rmrCgo.NewMBuf(rmrCgo.RIC_X2_RESET, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("SendMsg", msg, true).Return(msg, nil) + + writer := httptest.NewRecorder() + + var nodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTED} + readerMock.On("GetNodeb", ranName).Return(nodeb, nil) + + data4Req := map[string]interface{}{"ranList": []string{"abcd"}} + b := new(bytes.Buffer) + _ = json.NewEncoder(b).Encode(data4Req) + req, _ := http.NewRequest("PUT", "https://localhost:3800/v1/nodeb/health", b) + req = mux.SetURLVars(req, map[string]string{"ranName": ranName}) + + controller.HealthCheckRequest(writer, req) + assert.Equal(t, http.StatusNoContent, writer.Result().StatusCode) +} +*/ + func TestHandleErrorResponse(t *testing.T) { controller, _, _, _, _, _ := setupControllerTest(t) @@ -1822,3 +1866,9 @@ func getRmrSender(rmrMessengerMock *mocks.RmrMessengerMock, log *logger.Logger) rmrMessengerMock.On("Init", tests.GetPort(), tests.MaxMsgSize, tests.Flags, log).Return(&rmrMessenger) return rmrsender.NewRmrSender(log, rmrMessenger) } + +type errReader int + +func (errReader) Read(p []byte) (n int, err error) { + return 0, errors.New("test error") +}