fix host name formatting bug
This commit is contained in:
90
dist/panel-triggers/specs/panel_ctrl.spec.js
vendored
90
dist/panel-triggers/specs/panel_ctrl.spec.js
vendored
@@ -30,6 +30,30 @@ describe('TriggerPanelCtrl', () => {
|
|||||||
get: () => Promise.resolve(zabbixDSMock)
|
get: () => Promise.resolve(zabbixDSMock)
|
||||||
};
|
};
|
||||||
createPanelCtrl = () => new TriggerPanelCtrl(ctx.scope, {}, timeoutMock, datasourceSrvMock, {}, {}, {});
|
createPanelCtrl = () => new TriggerPanelCtrl(ctx.scope, {}, timeoutMock, datasourceSrvMock, {}, {}, {});
|
||||||
|
|
||||||
|
const getTriggersResp = [
|
||||||
|
[
|
||||||
|
createTrigger({
|
||||||
|
triggerid: "1", lastchange: "1510000010", priority: 5, lastEvent: {eventid: "11"}, hosts: [{maintenance_status: '1'}]
|
||||||
|
}),
|
||||||
|
createTrigger({
|
||||||
|
triggerid: "2", lastchange: "1510000040", priority: 3, lastEvent: {eventid: "12"}
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
createTrigger({triggerid: "3", lastchange: "1510000020", priority: 4, lastEvent: {eventid: "13"}}),
|
||||||
|
createTrigger({triggerid: "4", lastchange: "1510000030", priority: 2, lastEvent: {eventid: "14"}}),
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
// Simulate 2 data sources
|
||||||
|
zabbixDSMock.zabbix.getTriggers = jest.fn()
|
||||||
|
.mockReturnValueOnce(getTriggersResp[0])
|
||||||
|
.mockReturnValueOnce(getTriggersResp[1]);
|
||||||
|
zabbixDSMock.zabbix.getAcknowledges = jest.fn()
|
||||||
|
.mockReturnValue(Promise.resolve([defaultEvent]));
|
||||||
|
|
||||||
|
ctx.panelCtrl = createPanelCtrl();
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('When adding new panel', () => {
|
describe('When adding new panel', () => {
|
||||||
@@ -57,30 +81,7 @@ describe('TriggerPanelCtrl', () => {
|
|||||||
'zabbix_default': DEFAULT_TARGET,
|
'zabbix_default': DEFAULT_TARGET,
|
||||||
'zabbix': DEFAULT_TARGET
|
'zabbix': DEFAULT_TARGET
|
||||||
};
|
};
|
||||||
|
|
||||||
const getTriggersResp = [
|
|
||||||
[
|
|
||||||
createTrigger({triggerid: "1", lastchange: "1510000010", priority: 5, lastEvent: {eventid: "11"}}),
|
|
||||||
createTrigger({triggerid: "2", lastchange: "1510000040", priority: 3, lastEvent: {eventid: "12"}}),
|
|
||||||
],
|
|
||||||
[
|
|
||||||
createTrigger({triggerid: "3", lastchange: "1510000020", priority: 4, lastEvent: {eventid: "13"}}),
|
|
||||||
createTrigger({triggerid: "4", lastchange: "1510000030", priority: 2, lastEvent: {eventid: "14"}}),
|
|
||||||
]
|
|
||||||
];
|
|
||||||
|
|
||||||
// Simulate 2 data sources
|
|
||||||
zabbixDSMock.zabbix.getTriggers = jest.fn()
|
|
||||||
.mockReturnValueOnce(getTriggersResp[0])
|
|
||||||
.mockReturnValueOnce(getTriggersResp[1]);
|
|
||||||
zabbixDSMock.zabbix.getAcknowledges = jest.fn()
|
|
||||||
.mockReturnValue(Promise.resolve([defaultEvent]));
|
|
||||||
|
|
||||||
ctx.panelCtrl = createPanelCtrl();
|
ctx.panelCtrl = createPanelCtrl();
|
||||||
|
|
||||||
ctx.panelCtrl.datasources['zabbix_default'] = zabbixDSMock;
|
|
||||||
ctx.panelCtrl.datasources['zabbix'] = zabbixDSMock;
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should format triggers', (done) => {
|
it('should format triggers', (done) => {
|
||||||
@@ -90,6 +91,7 @@ describe('TriggerPanelCtrl', () => {
|
|||||||
expect(formattedTrigger.hostTechName).toBe('backend01_tech');
|
expect(formattedTrigger.hostTechName).toBe('backend01_tech');
|
||||||
expect(formattedTrigger.datasource).toBe('zabbix_default');
|
expect(formattedTrigger.datasource).toBe('zabbix_default');
|
||||||
expect(formattedTrigger.severity).toBe('Disaster');
|
expect(formattedTrigger.severity).toBe('Disaster');
|
||||||
|
expect(formattedTrigger.maintenance).toBe(true);
|
||||||
expect(formattedTrigger.age).toBeTruthy();
|
expect(formattedTrigger.age).toBeTruthy();
|
||||||
expect(formattedTrigger.lastchange).toBeTruthy();
|
expect(formattedTrigger.lastchange).toBeTruthy();
|
||||||
done();
|
done();
|
||||||
@@ -142,6 +144,48 @@ describe('TriggerPanelCtrl', () => {
|
|||||||
const formattedTrigger = ctx.panelCtrl.formatTrigger(trigger);
|
const formattedTrigger = ctx.panelCtrl.formatTrigger(trigger);
|
||||||
expect(formattedTrigger.comments).toBe("this is<br>description");
|
expect(formattedTrigger.comments).toBe("this is<br>description");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should format host name to display (default)', (done) => {
|
||||||
|
ctx.panelCtrl.onRefresh().then(() => {
|
||||||
|
let trigger = getTriggerById(1, ctx);
|
||||||
|
let hostname = ctx.panelCtrl.formatHostName(trigger);
|
||||||
|
expect(hostname).toBe('backend01');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should format host name to display (tech name)', (done) => {
|
||||||
|
ctx.panelCtrl.panel.hostField = false;
|
||||||
|
ctx.panelCtrl.panel.hostTechNameField = true;
|
||||||
|
ctx.panelCtrl.onRefresh().then(() => {
|
||||||
|
let trigger = getTriggerById(1, ctx);
|
||||||
|
let hostname = ctx.panelCtrl.formatHostName(trigger);
|
||||||
|
expect(hostname).toBe('backend01_tech');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should format host name to display (both tech and visible)', (done) => {
|
||||||
|
ctx.panelCtrl.panel.hostField = true;
|
||||||
|
ctx.panelCtrl.panel.hostTechNameField = true;
|
||||||
|
ctx.panelCtrl.onRefresh().then(() => {
|
||||||
|
let trigger = getTriggerById(1, ctx);
|
||||||
|
let hostname = ctx.panelCtrl.formatHostName(trigger);
|
||||||
|
expect(hostname).toBe('backend01 (backend01_tech)');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should hide hostname if both visible and tech name checkboxes unset', (done) => {
|
||||||
|
ctx.panelCtrl.panel.hostField = false;
|
||||||
|
ctx.panelCtrl.panel.hostTechNameField = false;
|
||||||
|
ctx.panelCtrl.onRefresh().then(() => {
|
||||||
|
let trigger = getTriggerById(1, ctx);
|
||||||
|
let hostname = ctx.panelCtrl.formatHostName(trigger);
|
||||||
|
expect(hostname).toBe("");
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
2
dist/panel-triggers/triggers_panel_ctrl.js
vendored
2
dist/panel-triggers/triggers_panel_ctrl.js
vendored
@@ -569,7 +569,7 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
|
|||||||
if (this.panel.hostField && this.panel.hostTechNameField) {
|
if (this.panel.hostField && this.panel.hostTechNameField) {
|
||||||
return trigger.host + ' (' + trigger.hostTechName + ')';
|
return trigger.host + ' (' + trigger.hostTechName + ')';
|
||||||
} else if (this.panel.hostField || this.panel.hostTechNameField) {
|
} else if (this.panel.hostField || this.panel.hostTechNameField) {
|
||||||
return trigger.host || trigger.hostTechName;
|
return this.panel.hostField ? trigger.host : trigger.hostTechName;
|
||||||
} else {
|
} else {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -30,6 +30,30 @@ describe('TriggerPanelCtrl', () => {
|
|||||||
get: () => Promise.resolve(zabbixDSMock)
|
get: () => Promise.resolve(zabbixDSMock)
|
||||||
};
|
};
|
||||||
createPanelCtrl = () => new TriggerPanelCtrl(ctx.scope, {}, timeoutMock, datasourceSrvMock, {}, {}, {});
|
createPanelCtrl = () => new TriggerPanelCtrl(ctx.scope, {}, timeoutMock, datasourceSrvMock, {}, {}, {});
|
||||||
|
|
||||||
|
const getTriggersResp = [
|
||||||
|
[
|
||||||
|
createTrigger({
|
||||||
|
triggerid: "1", lastchange: "1510000010", priority: 5, lastEvent: {eventid: "11"}, hosts: [{maintenance_status: '1'}]
|
||||||
|
}),
|
||||||
|
createTrigger({
|
||||||
|
triggerid: "2", lastchange: "1510000040", priority: 3, lastEvent: {eventid: "12"}
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
createTrigger({triggerid: "3", lastchange: "1510000020", priority: 4, lastEvent: {eventid: "13"}}),
|
||||||
|
createTrigger({triggerid: "4", lastchange: "1510000030", priority: 2, lastEvent: {eventid: "14"}}),
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
// Simulate 2 data sources
|
||||||
|
zabbixDSMock.zabbix.getTriggers = jest.fn()
|
||||||
|
.mockReturnValueOnce(getTriggersResp[0])
|
||||||
|
.mockReturnValueOnce(getTriggersResp[1]);
|
||||||
|
zabbixDSMock.zabbix.getAcknowledges = jest.fn()
|
||||||
|
.mockReturnValue(Promise.resolve([defaultEvent]));
|
||||||
|
|
||||||
|
ctx.panelCtrl = createPanelCtrl();
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('When adding new panel', () => {
|
describe('When adding new panel', () => {
|
||||||
@@ -57,34 +81,7 @@ describe('TriggerPanelCtrl', () => {
|
|||||||
'zabbix_default': DEFAULT_TARGET,
|
'zabbix_default': DEFAULT_TARGET,
|
||||||
'zabbix': DEFAULT_TARGET
|
'zabbix': DEFAULT_TARGET
|
||||||
};
|
};
|
||||||
|
|
||||||
const getTriggersResp = [
|
|
||||||
[
|
|
||||||
createTrigger({
|
|
||||||
triggerid: "1", lastchange: "1510000010", priority: 5, lastEvent: {eventid: "11"}, hosts: [{maintenance_status: '1'}]
|
|
||||||
}),
|
|
||||||
createTrigger({
|
|
||||||
triggerid: "2", lastchange: "1510000040", priority: 3, lastEvent: {eventid: "12"}
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
[
|
|
||||||
createTrigger({triggerid: "3", lastchange: "1510000020", priority: 4, lastEvent: {eventid: "13"}}),
|
|
||||||
createTrigger({triggerid: "4", lastchange: "1510000030", priority: 2, lastEvent: {eventid: "14"}}),
|
|
||||||
]
|
|
||||||
];
|
|
||||||
|
|
||||||
// Simulate 2 data sources
|
|
||||||
zabbixDSMock.zabbix.getTriggers = jest.fn()
|
|
||||||
.mockReturnValueOnce(getTriggersResp[0])
|
|
||||||
.mockReturnValueOnce(getTriggersResp[1]);
|
|
||||||
zabbixDSMock.zabbix.getAcknowledges = jest.fn()
|
|
||||||
.mockReturnValue(Promise.resolve([defaultEvent]));
|
|
||||||
|
|
||||||
ctx.panelCtrl = createPanelCtrl();
|
ctx.panelCtrl = createPanelCtrl();
|
||||||
|
|
||||||
ctx.panelCtrl.datasources['zabbix_default'] = zabbixDSMock;
|
|
||||||
ctx.panelCtrl.datasources['zabbix'] = zabbixDSMock;
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should format triggers', (done) => {
|
it('should format triggers', (done) => {
|
||||||
@@ -147,6 +144,48 @@ describe('TriggerPanelCtrl', () => {
|
|||||||
const formattedTrigger = ctx.panelCtrl.formatTrigger(trigger);
|
const formattedTrigger = ctx.panelCtrl.formatTrigger(trigger);
|
||||||
expect(formattedTrigger.comments).toBe("this is<br>description");
|
expect(formattedTrigger.comments).toBe("this is<br>description");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should format host name to display (default)', (done) => {
|
||||||
|
ctx.panelCtrl.onRefresh().then(() => {
|
||||||
|
let trigger = getTriggerById(1, ctx);
|
||||||
|
let hostname = ctx.panelCtrl.formatHostName(trigger);
|
||||||
|
expect(hostname).toBe('backend01');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should format host name to display (tech name)', (done) => {
|
||||||
|
ctx.panelCtrl.panel.hostField = false;
|
||||||
|
ctx.panelCtrl.panel.hostTechNameField = true;
|
||||||
|
ctx.panelCtrl.onRefresh().then(() => {
|
||||||
|
let trigger = getTriggerById(1, ctx);
|
||||||
|
let hostname = ctx.panelCtrl.formatHostName(trigger);
|
||||||
|
expect(hostname).toBe('backend01_tech');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should format host name to display (both tech and visible)', (done) => {
|
||||||
|
ctx.panelCtrl.panel.hostField = true;
|
||||||
|
ctx.panelCtrl.panel.hostTechNameField = true;
|
||||||
|
ctx.panelCtrl.onRefresh().then(() => {
|
||||||
|
let trigger = getTriggerById(1, ctx);
|
||||||
|
let hostname = ctx.panelCtrl.formatHostName(trigger);
|
||||||
|
expect(hostname).toBe('backend01 (backend01_tech)');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should hide hostname if both visible and tech name checkboxes unset', (done) => {
|
||||||
|
ctx.panelCtrl.panel.hostField = false;
|
||||||
|
ctx.panelCtrl.panel.hostTechNameField = false;
|
||||||
|
ctx.panelCtrl.onRefresh().then(() => {
|
||||||
|
let trigger = getTriggerById(1, ctx);
|
||||||
|
let hostname = ctx.panelCtrl.formatHostName(trigger);
|
||||||
|
expect(hostname).toBe("");
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -428,7 +428,7 @@ export class TriggerPanelCtrl extends PanelCtrl {
|
|||||||
if (this.panel.hostField && this.panel.hostTechNameField) {
|
if (this.panel.hostField && this.panel.hostTechNameField) {
|
||||||
return `${trigger.host} (${trigger.hostTechName})`;
|
return `${trigger.host} (${trigger.hostTechName})`;
|
||||||
} else if (this.panel.hostField || this.panel.hostTechNameField) {
|
} else if (this.panel.hostField || this.panel.hostTechNameField) {
|
||||||
return trigger.host || trigger.hostTechName;
|
return this.panel.hostField ? trigger.host : trigger.hostTechName;
|
||||||
} else {
|
} else {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user