summaryrefslogtreecommitdiffstats
path: root/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js')
-rw-r--r--gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js120
1 files changed, 105 insertions, 15 deletions
diff --git a/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js b/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js
index 45fae79..35eb297 100644
--- a/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js
+++ b/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js
@@ -1,19 +1,109 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
import $ from 'jquery';
-import { ajax_get, ajax_get_statistics } from "../MonitoringUtils";
-
-$.ajax = jest.fn().mockImplementation(() => {
- const fakeResponse = {
- data: {
- id: 1,
- name: "All",
- value: "Dummy Data"
+import * as sut from "../MonitoringUtils";
+import * as PdpInformation from "../PdpInformation";
+import * as PdpStatisticsSummary from "../PdpStatisticsSummary";
+import * as PdpListView from '../PdpListView';
+
+const requestURL = "http://localhost:7979";
+
+const serviceData = {
+ useHttps: "http",
+ hostname: "localhost",
+ port: 7979,
+ username: "username",
+ password: "password",
+};
+
+test('ajax_get ok', () => {
+ const callback = jest.fn();
+ $.ajax = jest.fn().mockImplementation((args) => { args.success(); });
+ sut.ajax_get(requestURL, callback, serviceData.useHttps, serviceData.hostname, serviceData.port,
+ serviceData.username, serviceData.password, {}, null);
+ expect(callback).toHaveBeenCalled();
+});
+
+test('ajax_get error', () => {
+ const errorCallback = jest.fn();
+ const jqXHR = { status: 500, responseText: "" };
+ $.ajax = jest.fn().mockImplementation(
+ args => {
+ args.error(jqXHR, null, null);
}
- };
- return Promise.resolve(fakeResponse);
+ );
+ sut.ajax_get(requestURL, null, serviceData.useHttps, serviceData.hostname, serviceData.port,
+ serviceData.username, serviceData.password, {}, errorCallback);
+ expect(errorCallback).toHaveBeenCalled();
});
-test('ajax_get return ok', () => {
- ajax_get().then(response => {
- expect(response.data.id).toBe(1);
- });
-}); \ No newline at end of file
+test('ajax_get_statistics ok', () => {
+ const callback = jest.fn();
+ $.ajax = jest.fn().mockImplementation((args) => { args.success(); });
+ sut.ajax_get_statistics(requestURL, callback, serviceData.useHttps, serviceData.hostname, serviceData.port,
+ serviceData.username, serviceData.password, "", {}, null);
+ expect(callback).toHaveBeenCalled();
+});
+
+test('ajax_get_statistics error', () => {
+ const errorCallback = jest.fn();
+ const jqXHR = { status: 500, responseText: "" };
+ $.ajax = jest.fn().mockImplementation(
+ args => {
+ args.error(jqXHR, null, null);
+ }
+ );
+ PdpInformation.createEngineServiceTable = jest.fn();
+ PdpStatisticsSummary.createEngineSummaryTable = jest.fn();
+ sut.ajax_get_statistics(requestURL, null, serviceData.useHttps, serviceData.hostname, serviceData.port,
+ serviceData.username, serviceData.password, "", {}, errorCallback);
+
+ expect(errorCallback).toHaveBeenCalled();
+ expect(PdpInformation.createEngineServiceTable).toHaveBeenCalled();
+ expect(PdpStatisticsSummary.createEngineSummaryTable).toHaveBeenCalled();
+});
+
+test('getEngineURL popup dialog', () => {
+ window.localStorage.clear();
+ sut.getEngineURL("message");
+ $('#submit').click();
+ expect($("papDialogDiv")).toHaveLength(1);
+});
+
+test('getEngineURL read from localStorage', () => {
+ window.localStorage.setItem("pap-monitor-services", JSON.stringify(serviceData));
+ const data = {
+ groups: [{
+ pdpSubgroups: [{
+ pdpType: "apex",
+ pdpInstances: [{
+ instanceId: "apex-pdp1",
+ }],
+ }]
+ }
+ ],
+ };
+
+ $.ajax = jest.fn().mockImplementation((args) => { args.success(data); });
+ PdpListView.RenderPdpList = jest.fn();
+ sut.getEngineURL("message");
+ expect(PdpListView.RenderPdpList.mock.calls[0][0]).toHaveLength(1);
+});