Loading js-apps/meep-frontend/src/js/util/scenario-utils.js +5 −0 Original line number Diff line number Diff line Loading @@ -884,6 +884,11 @@ export function getElementFromScenario(scenario, elementName) { } setElemFieldVal(elem, FIELD_PARENT, pl.name); setElemFieldVal(elem, FIELD_APP_LATENCY, process.appLatency || 0); setElemFieldVal(elem, FIELD_APP_LATENCY_VAR, process.appLatencyVariation || 0); setElemFieldVal(elem, FIELD_APP_THROUGPUT, process.appThroughput || DEFAULT_THROUGHPUT_APP); setElemFieldVal(elem, FIELD_APP_PKT_LOSS, process.appPacketLoss || 0); if (process.userChartLocation) { setElemFieldVal(elem, FIELD_CHART_ENABLED, true); setElemFieldVal(elem, FIELD_CHART_LOC, process.userChartLocation || ''); Loading test/cypress/integration/tests/scenario-cfg-spec.js +133 −12 Original line number Diff line number Diff line Loading @@ -63,6 +63,14 @@ import { FIELD_TERM_LINK_LATENCY_VAR, FIELD_TERM_LINK_THROUGPUT, FIELD_TERM_LINK_PKT_LOSS, FIELD_LINK_LATENCY, FIELD_LINK_LATENCY_VAR, FIELD_LINK_THROUGPUT, FIELD_LINK_PKT_LOSS, FIELD_APP_LATENCY, FIELD_APP_LATENCY_VAR, FIELD_APP_THROUGPUT, FIELD_APP_PKT_LOSS, getElemFieldVal, } from '../../../../js-apps/meep-frontend/src/js/util/elem-utils'; Loading Loading @@ -391,9 +399,23 @@ describe('Scenario Configuration', function() { // EDGE // ============================== //valid for every physical locations in the other test cases too let linkLatency = '2'; let linkLatencyVar = '3'; let linkPktLoss = '4'; let linkThroughput = '5'; function addEdge(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_EDGE); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_LINK)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_LINK)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_LINK)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_LINK)); type(meep.CFG_ELEM_LATENCY, linkLatency); type(meep.CFG_ELEM_LATENCY_VAR, linkLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, linkPktLoss); type(meep.CFG_ELEM_THROUGHPUT, linkThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); click(meep.MEEP_BTN_APPLY); Loading @@ -407,6 +429,10 @@ describe('Scenario Configuration', function() { assert.isNotNull(entry); assert.equal(getElemFieldVal(entry, FIELD_TYPE), meep.ELEMENT_TYPE_EDGE); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY), linkLatency); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY_VAR), linkLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_LINK_PKT_LOSS), linkPktLoss); assert.equal(getElemFieldVal(entry, FIELD_LINK_THROUGPUT), linkThroughput); }); } Loading @@ -414,6 +440,12 @@ describe('Scenario Configuration', function() { // EDGE APP // ============================== //valid for every app in the other test cases too let appLatency = '2'; let appLatencyVar = '4'; let appPktLoss = '5'; let appThroughput = '6'; let edgeAppImg = 'nginx'; let edgeAppPort = '1234'; let edgeAppExtPort = '32323'; Loading @@ -428,6 +460,14 @@ describe('Scenario Configuration', function() { function addEdgeApp(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_EDGE_APP); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_APP)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_APP)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_APP)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_APP)); type(meep.CFG_ELEM_LATENCY, appLatency); type(meep.CFG_ELEM_LATENCY_VAR, appLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, appPktLoss); type(meep.CFG_ELEM_THROUGHPUT, appThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); type(meep.CFG_ELEM_IMG, edgeAppImg); Loading Loading @@ -461,6 +501,11 @@ describe('Scenario Configuration', function() { assert.equal(getElemFieldVal(entry, FIELD_ENV_VAR), edgeAppEnv); assert.equal(getElemFieldVal(entry, FIELD_CMD), edgeAppCmd); assert.equal(getElemFieldVal(entry, FIELD_CMD_ARGS), edgeAppArgs); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY), appLatency); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY_VAR), appLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_APP_PKT_LOSS), appPktLoss); assert.equal(getElemFieldVal(entry, FIELD_APP_THROUGPUT), appThroughput); }); } Loading @@ -468,10 +513,10 @@ describe('Scenario Configuration', function() { // POA // ============================== let linkLatency = '2'; let linkLatencyVar = '3'; let linkPktLoss = '4'; let linkThroughput = '5'; let termLinkLatency = '2'; let termLinkLatencyVar = '3'; let termLinkPktLoss = '4'; let termLinkThroughput = '5'; function addPoa(name, parent) { click(meep.CFG_BTN_NEW_ELEM); Loading @@ -480,12 +525,12 @@ describe('Scenario Configuration', function() { verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_TERMINAL_LINK)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_TERMINAL_LINK)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_TERMINAL_LINK)); type(meep.CFG_ELEM_LATENCY, termLinkLatency); type(meep.CFG_ELEM_LATENCY_VAR, termLinkLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, termLinkPktLoss); type(meep.CFG_ELEM_THROUGHPUT, termLinkThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); type(meep.CFG_ELEM_LATENCY, linkLatency); type(meep.CFG_ELEM_LATENCY_VAR, linkLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, linkPktLoss); type(meep.CFG_ELEM_THROUGHPUT, linkThroughput); click(meep.MEEP_BTN_APPLY); verifyEnabled(meep.CFG_BTN_NEW_ELEM, true); verifyEnabled(meep.CFG_BTN_DEL_ELEM, false); Loading @@ -497,10 +542,10 @@ describe('Scenario Configuration', function() { assert.isNotNull(entry); assert.equal(getElemFieldVal(entry, FIELD_TYPE), meep.ELEMENT_TYPE_POA); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_LATENCY), linkLatency); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_LATENCY_VAR), linkLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_PKT_LOSS), linkPktLoss); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_THROUGPUT), linkThroughput); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_LATENCY), termLinkLatency); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_LATENCY_VAR), termLinkLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_PKT_LOSS), termLinkPktLoss); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_THROUGPUT), termLinkThroughput); }); } Loading @@ -511,6 +556,14 @@ describe('Scenario Configuration', function() { function addFog(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_FOG); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_LINK)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_LINK)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_LINK)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_LINK)); type(meep.CFG_ELEM_LATENCY, linkLatency); type(meep.CFG_ELEM_LATENCY_VAR, linkLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, linkPktLoss); type(meep.CFG_ELEM_THROUGHPUT, linkThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); click(meep.MEEP_BTN_APPLY); Loading @@ -524,6 +577,10 @@ describe('Scenario Configuration', function() { assert.isNotNull(entry); assert.equal(getElemFieldVal(entry, FIELD_TYPE), meep.ELEMENT_TYPE_FOG); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY), linkLatency); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY_VAR), linkLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_LINK_PKT_LOSS), linkPktLoss); assert.equal(getElemFieldVal(entry, FIELD_LINK_THROUGPUT), linkThroughput); }); } Loading @@ -545,6 +602,14 @@ describe('Scenario Configuration', function() { function addFogApp(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_EDGE_APP); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_APP)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_APP)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_APP)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_APP)); type(meep.CFG_ELEM_LATENCY, appLatency); type(meep.CFG_ELEM_LATENCY_VAR, appLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, appPktLoss); type(meep.CFG_ELEM_THROUGHPUT, appThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); type(meep.CFG_ELEM_IMG, fogAppImg); Loading Loading @@ -578,6 +643,11 @@ describe('Scenario Configuration', function() { assert.equal(getElemFieldVal(entry, FIELD_ENV_VAR), fogAppEnv); assert.equal(getElemFieldVal(entry, FIELD_CMD), fogAppCmd); assert.equal(getElemFieldVal(entry, FIELD_CMD_ARGS), fogAppArgs); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY), appLatency); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY_VAR), appLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_APP_PKT_LOSS), appPktLoss); assert.equal(getElemFieldVal(entry, FIELD_APP_THROUGPUT), appThroughput); }); } Loading @@ -588,6 +658,14 @@ describe('Scenario Configuration', function() { function addUe(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_UE); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_LINK)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_LINK)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_LINK)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_LINK)); type(meep.CFG_ELEM_LATENCY, linkLatency); type(meep.CFG_ELEM_LATENCY_VAR, linkLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, linkPktLoss); type(meep.CFG_ELEM_THROUGHPUT, linkThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); click(meep.MEEP_BTN_APPLY); Loading @@ -601,6 +679,11 @@ describe('Scenario Configuration', function() { assert.isNotNull(entry); assert.equal(getElemFieldVal(entry, FIELD_TYPE), meep.ELEMENT_TYPE_UE); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY), linkLatency); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY_VAR), linkLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_LINK_PKT_LOSS), linkPktLoss); assert.equal(getElemFieldVal(entry, FIELD_LINK_THROUGPUT), linkThroughput); }); } Loading @@ -619,6 +702,14 @@ describe('Scenario Configuration', function() { function addUeApp(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_UE_APP); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_APP)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_APP)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_APP)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_APP)); type(meep.CFG_ELEM_LATENCY, appLatency); type(meep.CFG_ELEM_LATENCY_VAR, appLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, appPktLoss); type(meep.CFG_ELEM_THROUGHPUT, appThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); type(meep.CFG_ELEM_IMG, ueAppImg); Loading @@ -644,6 +735,11 @@ describe('Scenario Configuration', function() { assert.equal(getElemFieldVal(entry, FIELD_ENV_VAR), ueAppEnv); assert.equal(getElemFieldVal(entry, FIELD_CMD), ueAppCmd); assert.equal(getElemFieldVal(entry, FIELD_CMD_ARGS), ueAppArgs); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY), appLatency); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY_VAR), appLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_APP_PKT_LOSS), appPktLoss); assert.equal(getElemFieldVal(entry, FIELD_APP_THROUGPUT), appThroughput); }); } Loading Loading @@ -675,6 +771,14 @@ describe('Scenario Configuration', function() { function addCloud(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_DC); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_LINK)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_LINK)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_LINK)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_LINK)); type(meep.CFG_ELEM_LATENCY, linkLatency); type(meep.CFG_ELEM_LATENCY_VAR, linkLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, linkPktLoss); type(meep.CFG_ELEM_THROUGHPUT, linkThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); click(meep.MEEP_BTN_APPLY); Loading @@ -688,6 +792,10 @@ describe('Scenario Configuration', function() { assert.isNotNull(entry); assert.equal(getElemFieldVal(entry, FIELD_TYPE), meep.ELEMENT_TYPE_DC); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY), linkLatency); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY_VAR), linkLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_LINK_PKT_LOSS), linkPktLoss); assert.equal(getElemFieldVal(entry, FIELD_LINK_THROUGPUT), linkThroughput); }); } Loading @@ -708,6 +816,14 @@ describe('Scenario Configuration', function() { function addCloudApp(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_CLOUD_APP); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_APP)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_APP)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_APP)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_APP)); type(meep.CFG_ELEM_LATENCY, appLatency); type(meep.CFG_ELEM_LATENCY_VAR, appLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, appPktLoss); type(meep.CFG_ELEM_THROUGHPUT, appThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); type(meep.CFG_ELEM_IMG, cloudAppImg); Loading Loading @@ -739,6 +855,11 @@ describe('Scenario Configuration', function() { assert.equal(getElemFieldVal(entry, FIELD_ENV_VAR), cloudAppEnv); assert.equal(getElemFieldVal(entry, FIELD_CMD), cloudAppCmd); assert.equal(getElemFieldVal(entry, FIELD_CMD_ARGS), cloudAppArgs); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY), appLatency); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY_VAR), appLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_APP_PKT_LOSS), appPktLoss); assert.equal(getElemFieldVal(entry, FIELD_APP_THROUGPUT), appThroughput); }); } Loading Loading
js-apps/meep-frontend/src/js/util/scenario-utils.js +5 −0 Original line number Diff line number Diff line Loading @@ -884,6 +884,11 @@ export function getElementFromScenario(scenario, elementName) { } setElemFieldVal(elem, FIELD_PARENT, pl.name); setElemFieldVal(elem, FIELD_APP_LATENCY, process.appLatency || 0); setElemFieldVal(elem, FIELD_APP_LATENCY_VAR, process.appLatencyVariation || 0); setElemFieldVal(elem, FIELD_APP_THROUGPUT, process.appThroughput || DEFAULT_THROUGHPUT_APP); setElemFieldVal(elem, FIELD_APP_PKT_LOSS, process.appPacketLoss || 0); if (process.userChartLocation) { setElemFieldVal(elem, FIELD_CHART_ENABLED, true); setElemFieldVal(elem, FIELD_CHART_LOC, process.userChartLocation || ''); Loading
test/cypress/integration/tests/scenario-cfg-spec.js +133 −12 Original line number Diff line number Diff line Loading @@ -63,6 +63,14 @@ import { FIELD_TERM_LINK_LATENCY_VAR, FIELD_TERM_LINK_THROUGPUT, FIELD_TERM_LINK_PKT_LOSS, FIELD_LINK_LATENCY, FIELD_LINK_LATENCY_VAR, FIELD_LINK_THROUGPUT, FIELD_LINK_PKT_LOSS, FIELD_APP_LATENCY, FIELD_APP_LATENCY_VAR, FIELD_APP_THROUGPUT, FIELD_APP_PKT_LOSS, getElemFieldVal, } from '../../../../js-apps/meep-frontend/src/js/util/elem-utils'; Loading Loading @@ -391,9 +399,23 @@ describe('Scenario Configuration', function() { // EDGE // ============================== //valid for every physical locations in the other test cases too let linkLatency = '2'; let linkLatencyVar = '3'; let linkPktLoss = '4'; let linkThroughput = '5'; function addEdge(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_EDGE); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_LINK)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_LINK)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_LINK)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_LINK)); type(meep.CFG_ELEM_LATENCY, linkLatency); type(meep.CFG_ELEM_LATENCY_VAR, linkLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, linkPktLoss); type(meep.CFG_ELEM_THROUGHPUT, linkThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); click(meep.MEEP_BTN_APPLY); Loading @@ -407,6 +429,10 @@ describe('Scenario Configuration', function() { assert.isNotNull(entry); assert.equal(getElemFieldVal(entry, FIELD_TYPE), meep.ELEMENT_TYPE_EDGE); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY), linkLatency); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY_VAR), linkLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_LINK_PKT_LOSS), linkPktLoss); assert.equal(getElemFieldVal(entry, FIELD_LINK_THROUGPUT), linkThroughput); }); } Loading @@ -414,6 +440,12 @@ describe('Scenario Configuration', function() { // EDGE APP // ============================== //valid for every app in the other test cases too let appLatency = '2'; let appLatencyVar = '4'; let appPktLoss = '5'; let appThroughput = '6'; let edgeAppImg = 'nginx'; let edgeAppPort = '1234'; let edgeAppExtPort = '32323'; Loading @@ -428,6 +460,14 @@ describe('Scenario Configuration', function() { function addEdgeApp(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_EDGE_APP); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_APP)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_APP)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_APP)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_APP)); type(meep.CFG_ELEM_LATENCY, appLatency); type(meep.CFG_ELEM_LATENCY_VAR, appLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, appPktLoss); type(meep.CFG_ELEM_THROUGHPUT, appThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); type(meep.CFG_ELEM_IMG, edgeAppImg); Loading Loading @@ -461,6 +501,11 @@ describe('Scenario Configuration', function() { assert.equal(getElemFieldVal(entry, FIELD_ENV_VAR), edgeAppEnv); assert.equal(getElemFieldVal(entry, FIELD_CMD), edgeAppCmd); assert.equal(getElemFieldVal(entry, FIELD_CMD_ARGS), edgeAppArgs); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY), appLatency); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY_VAR), appLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_APP_PKT_LOSS), appPktLoss); assert.equal(getElemFieldVal(entry, FIELD_APP_THROUGPUT), appThroughput); }); } Loading @@ -468,10 +513,10 @@ describe('Scenario Configuration', function() { // POA // ============================== let linkLatency = '2'; let linkLatencyVar = '3'; let linkPktLoss = '4'; let linkThroughput = '5'; let termLinkLatency = '2'; let termLinkLatencyVar = '3'; let termLinkPktLoss = '4'; let termLinkThroughput = '5'; function addPoa(name, parent) { click(meep.CFG_BTN_NEW_ELEM); Loading @@ -480,12 +525,12 @@ describe('Scenario Configuration', function() { verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_TERMINAL_LINK)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_TERMINAL_LINK)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_TERMINAL_LINK)); type(meep.CFG_ELEM_LATENCY, termLinkLatency); type(meep.CFG_ELEM_LATENCY_VAR, termLinkLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, termLinkPktLoss); type(meep.CFG_ELEM_THROUGHPUT, termLinkThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); type(meep.CFG_ELEM_LATENCY, linkLatency); type(meep.CFG_ELEM_LATENCY_VAR, linkLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, linkPktLoss); type(meep.CFG_ELEM_THROUGHPUT, linkThroughput); click(meep.MEEP_BTN_APPLY); verifyEnabled(meep.CFG_BTN_NEW_ELEM, true); verifyEnabled(meep.CFG_BTN_DEL_ELEM, false); Loading @@ -497,10 +542,10 @@ describe('Scenario Configuration', function() { assert.isNotNull(entry); assert.equal(getElemFieldVal(entry, FIELD_TYPE), meep.ELEMENT_TYPE_POA); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_LATENCY), linkLatency); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_LATENCY_VAR), linkLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_PKT_LOSS), linkPktLoss); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_THROUGPUT), linkThroughput); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_LATENCY), termLinkLatency); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_LATENCY_VAR), termLinkLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_PKT_LOSS), termLinkPktLoss); assert.equal(getElemFieldVal(entry, FIELD_TERM_LINK_THROUGPUT), termLinkThroughput); }); } Loading @@ -511,6 +556,14 @@ describe('Scenario Configuration', function() { function addFog(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_FOG); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_LINK)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_LINK)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_LINK)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_LINK)); type(meep.CFG_ELEM_LATENCY, linkLatency); type(meep.CFG_ELEM_LATENCY_VAR, linkLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, linkPktLoss); type(meep.CFG_ELEM_THROUGHPUT, linkThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); click(meep.MEEP_BTN_APPLY); Loading @@ -524,6 +577,10 @@ describe('Scenario Configuration', function() { assert.isNotNull(entry); assert.equal(getElemFieldVal(entry, FIELD_TYPE), meep.ELEMENT_TYPE_FOG); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY), linkLatency); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY_VAR), linkLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_LINK_PKT_LOSS), linkPktLoss); assert.equal(getElemFieldVal(entry, FIELD_LINK_THROUGPUT), linkThroughput); }); } Loading @@ -545,6 +602,14 @@ describe('Scenario Configuration', function() { function addFogApp(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_EDGE_APP); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_APP)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_APP)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_APP)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_APP)); type(meep.CFG_ELEM_LATENCY, appLatency); type(meep.CFG_ELEM_LATENCY_VAR, appLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, appPktLoss); type(meep.CFG_ELEM_THROUGHPUT, appThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); type(meep.CFG_ELEM_IMG, fogAppImg); Loading Loading @@ -578,6 +643,11 @@ describe('Scenario Configuration', function() { assert.equal(getElemFieldVal(entry, FIELD_ENV_VAR), fogAppEnv); assert.equal(getElemFieldVal(entry, FIELD_CMD), fogAppCmd); assert.equal(getElemFieldVal(entry, FIELD_CMD_ARGS), fogAppArgs); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY), appLatency); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY_VAR), appLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_APP_PKT_LOSS), appPktLoss); assert.equal(getElemFieldVal(entry, FIELD_APP_THROUGPUT), appThroughput); }); } Loading @@ -588,6 +658,14 @@ describe('Scenario Configuration', function() { function addUe(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_UE); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_LINK)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_LINK)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_LINK)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_LINK)); type(meep.CFG_ELEM_LATENCY, linkLatency); type(meep.CFG_ELEM_LATENCY_VAR, linkLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, linkPktLoss); type(meep.CFG_ELEM_THROUGHPUT, linkThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); click(meep.MEEP_BTN_APPLY); Loading @@ -601,6 +679,11 @@ describe('Scenario Configuration', function() { assert.isNotNull(entry); assert.equal(getElemFieldVal(entry, FIELD_TYPE), meep.ELEMENT_TYPE_UE); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY), linkLatency); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY_VAR), linkLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_LINK_PKT_LOSS), linkPktLoss); assert.equal(getElemFieldVal(entry, FIELD_LINK_THROUGPUT), linkThroughput); }); } Loading @@ -619,6 +702,14 @@ describe('Scenario Configuration', function() { function addUeApp(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_UE_APP); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_APP)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_APP)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_APP)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_APP)); type(meep.CFG_ELEM_LATENCY, appLatency); type(meep.CFG_ELEM_LATENCY_VAR, appLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, appPktLoss); type(meep.CFG_ELEM_THROUGHPUT, appThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); type(meep.CFG_ELEM_IMG, ueAppImg); Loading @@ -644,6 +735,11 @@ describe('Scenario Configuration', function() { assert.equal(getElemFieldVal(entry, FIELD_ENV_VAR), ueAppEnv); assert.equal(getElemFieldVal(entry, FIELD_CMD), ueAppCmd); assert.equal(getElemFieldVal(entry, FIELD_CMD_ARGS), ueAppArgs); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY), appLatency); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY_VAR), appLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_APP_PKT_LOSS), appPktLoss); assert.equal(getElemFieldVal(entry, FIELD_APP_THROUGPUT), appThroughput); }); } Loading Loading @@ -675,6 +771,14 @@ describe('Scenario Configuration', function() { function addCloud(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_DC); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_LINK)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_LINK)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_LINK)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_LINK)); type(meep.CFG_ELEM_LATENCY, linkLatency); type(meep.CFG_ELEM_LATENCY_VAR, linkLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, linkPktLoss); type(meep.CFG_ELEM_THROUGHPUT, linkThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); click(meep.MEEP_BTN_APPLY); Loading @@ -688,6 +792,10 @@ describe('Scenario Configuration', function() { assert.isNotNull(entry); assert.equal(getElemFieldVal(entry, FIELD_TYPE), meep.ELEMENT_TYPE_DC); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY), linkLatency); assert.equal(getElemFieldVal(entry, FIELD_LINK_LATENCY_VAR), linkLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_LINK_PKT_LOSS), linkPktLoss); assert.equal(getElemFieldVal(entry, FIELD_LINK_THROUGPUT), linkThroughput); }); } Loading @@ -708,6 +816,14 @@ describe('Scenario Configuration', function() { function addCloudApp(name, parent) { click(meep.CFG_BTN_NEW_ELEM); select(meep.CFG_ELEM_TYPE, meep.ELEMENT_TYPE_CLOUD_APP); verifyForm(meep.CFG_ELEM_LATENCY, true, 'have.value', String(meep.DEFAULT_LATENCY_APP)); verifyForm(meep.CFG_ELEM_LATENCY_VAR, true, 'have.value', String(meep.DEFAULT_LATENCY_JITTER_APP)); verifyForm(meep.CFG_ELEM_PKT_LOSS, true, 'have.value', String(meep.DEFAULT_PACKET_LOSS_APP)); verifyForm(meep.CFG_ELEM_THROUGHPUT, true, 'have.value', String(meep.DEFAULT_THROUGHPUT_APP)); type(meep.CFG_ELEM_LATENCY, appLatency); type(meep.CFG_ELEM_LATENCY_VAR, appLatencyVar); type(meep.CFG_ELEM_PKT_LOSS, appPktLoss); type(meep.CFG_ELEM_THROUGHPUT, appThroughput); select(meep.CFG_ELEM_PARENT, parent); type(meep.CFG_ELEM_NAME, name); type(meep.CFG_ELEM_IMG, cloudAppImg); Loading Loading @@ -739,6 +855,11 @@ describe('Scenario Configuration', function() { assert.equal(getElemFieldVal(entry, FIELD_ENV_VAR), cloudAppEnv); assert.equal(getElemFieldVal(entry, FIELD_CMD), cloudAppCmd); assert.equal(getElemFieldVal(entry, FIELD_CMD_ARGS), cloudAppArgs); assert.equal(getElemFieldVal(entry, FIELD_PARENT), parent); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY), appLatency); assert.equal(getElemFieldVal(entry, FIELD_APP_LATENCY_VAR), appLatencyVar); assert.equal(getElemFieldVal(entry, FIELD_APP_PKT_LOSS), appPktLoss); assert.equal(getElemFieldVal(entry, FIELD_APP_THROUGPUT), appThroughput); }); } Loading