2 * Copyright 2018 Intel Corporation, Inc
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
24 "github.com/onap/multicloud-k8s/src/k8splugin/internal/db"
26 pkgerrors "github.com/pkg/errors"
29 // healthCheckHandler executes a db read to return health of k8splugin
30 // and its backing database
31 func TestHealthCheckHandler(t *testing.T) {
33 t.Run("OK HealthCheck", func(t *testing.T) {
34 db.DBconn = &db.MockDB{
37 request := httptest.NewRequest("GET", "/v1/healthcheck", nil)
38 resp := executeRequest(request, NewRouter(nil, nil, nil, nil, nil, nil, nil, nil))
41 if resp.StatusCode != http.StatusOK {
42 t.Fatalf("Expected %d; Got: %d", http.StatusOK, resp.StatusCode)
46 t.Run("FAILED HealthCheck", func(t *testing.T) {
47 db.DBconn = &db.MockDB{
48 Err: pkgerrors.New("Runtime Error in DB"),
50 request := httptest.NewRequest("GET", "/v1/healthcheck", nil)
51 resp := executeRequest(request, NewRouter(nil, nil, nil, nil, nil, nil, nil, nil))
54 if resp.StatusCode != http.StatusInternalServerError {
55 t.Fatalf("Expected %d; Got: %d", http.StatusInternalServerError, resp.StatusCode)