// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
+
+// This source code is part of the near-RT RIC (RAN Intelligent Controller)
+// platform project (RICP).
+
package httpserver
"time"
)
-func setupRouterAndMocks() (*mux.Router, *mocks.RootControllerMock) {
+func setupRouterAndMocks() (*mux.Router, *mocks.RootControllerMock, *mocks.ControllerMock) {
rootControllerMock := &mocks.RootControllerMock{}
rootControllerMock.On("HandleHealthCheckRequest").Return(nil)
+ controllerMock := &mocks.ControllerMock{}
+ controllerMock.On("ResourceStatus").Return(nil)
+
router := mux.NewRouter()
- initializeRoutes(router, rootControllerMock)
- return router, rootControllerMock
+ initializeRoutes(router, rootControllerMock, controllerMock)
+ return router, rootControllerMock, controllerMock
+}
+func TestResourceStatus(t *testing.T) {
+ router, _, controllerMock := setupRouterAndMocks()
+
+ req, err := http.NewRequest("PUT", "/v1/general/resourcestatus", nil)
+ if err != nil {
+ t.Fatal(err)
+ }
+ rr := httptest.NewRecorder()
+ router.ServeHTTP(rr, req)
+
+ controllerMock.AssertNumberOfCalls(t, "ResourceStatus", 1)
}
func TestRouteGetHealth(t *testing.T) {
- router, rootControllerMock := setupRouterAndMocks()
+ router, rootControllerMock, _ := setupRouterAndMocks()
req, err := http.NewRequest("GET", "/v1/health", nil)
if err != nil {
}
func TestRouteNotFound(t *testing.T) {
- router, _ := setupRouterAndMocks()
+ router, _, _ := setupRouterAndMocks()
req, err := http.NewRequest("GET", "/v1/no/such/route", nil)
if err != nil {
}
func TestRunError(t *testing.T) {
- rootControllerMock := &mocks.RootControllerMock{}
+ _, rootControllerMock, controllerMock := setupRouterAndMocks()
- err := Run(111222333, rootControllerMock)
+ err := Run(111222333, rootControllerMock, controllerMock)
assert.NotNil(t, err)
}
func TestRun(t *testing.T) {
- rootControllerMock := &mocks.RootControllerMock{}
- rootControllerMock.On("HandleHealthCheckRequest").Return(nil)
+ _, rootControllerMock, controllerMock := setupRouterAndMocks()
- go Run(11223, rootControllerMock)
+ go Run(11223, rootControllerMock, controllerMock)
time.Sleep(time.Millisecond * 100)
resp, err := http.Get("http://localhost:11223/v1/health")