ONOS-6730: Topo View i18n for:
- device and host label op flash messages
- hosts visible/hidden, offline devices visible/hidden
- bad links, reset node locations
- packet/optical/all layers shown
- port highlighting
- instance show/hide panel, devices

Change-Id: I0f1cfb43ba3e03a806c716394f42ba064ba99bd7
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/_config/core.view.Topo.lioncfg b/web/gui/src/main/resources/org/onosproject/ui/lion/_config/core.view.Topo.lioncfg
index b53b734..597fd29 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/_config/core.view.Topo.lioncfg
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/_config/core.view.Topo.lioncfg
@@ -25,6 +25,7 @@
 
 from cf.QuickHelp import qh_hint_close_detail
 
+from cc.Action import show, hide, enable, disable
+from cc.Network import hosts, devices
+from cc.State import visible, hidden
 from cc.Ui import click, shift_click, drag, cmd_scroll, cmd_drag
-
-from cc.Action import show, hide
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action.properties
index 2193a6c..86a62d0 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action.properties
@@ -25,3 +25,5 @@
 deactivate=Deactivate
 show=Show
 hide=Hide
+enable=Enable
+disable=Disable
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_es.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_es.properties
index 573ea92..fd5fec9 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_es.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_es.properties
@@ -25,3 +25,5 @@
 deactivate=Desactivar
 show=Show (es)
 hide=Hide (es)
+enable=Enable (es)
+disable=Disable (es)
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_it.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_it.properties
index 004d37a..43c2867 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_it.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_it.properties
@@ -25,3 +25,5 @@
 deactivate=Disattiva
 show=Show (it)
 hide=Hide (it)
+enable=Enable (it)
+disable=Disable (it)
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_ko.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_ko.properties
index b307220..6b61c20 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_ko.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_ko.properties
@@ -25,3 +25,5 @@
 deactivate=비활성화
 show=Show (ko)
 hide=Hide (ko)
+enable=Enable (ko)
+disable=Disable (ko)
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_zh_CN.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_zh_CN.properties
index e2de821..0479ce4 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_zh_CN.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_zh_CN.properties
@@ -25,3 +25,6 @@
 deactivate=停用
 show=Show (zh_CN)
 hide=Hide (zh_CN)
+enable=Enable (zh_CN)
+disable=Disable (zh_CN)
+
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_zh_TW.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_zh_TW.properties
index 673453c..e560388 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_zh_TW.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/Action_zh_TW.properties
@@ -25,3 +25,5 @@
 deactivate=停用
 show=Show (zh_TW)
 hide=Hide (zh_TW)
+enable=Enable (zh_TW)
+disable=Disable (zh_TW)
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State.properties
index 82c18f3..220fbb6 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State.properties
@@ -23,3 +23,5 @@
 last_updated=Last Updated
 last_modified=Last Modified
 
+visible=Visible
+hidden=Hidden
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_es.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_es.properties
index 507fcaf..5dfc971 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_es.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_es.properties
@@ -23,3 +23,5 @@
 last_updated=Última Actualización
 last_modified=Última Modificación
 
+visible=Visible (es)
+hidden=Hidden (es)
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_it.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_it.properties
index c16eb5c..9ac4d17 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_it.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_it.properties
@@ -23,3 +23,5 @@
 last_updated=Ultimo Aggiornamento
 last_modified=Ultima Modifica
 
+visible=Visible (it)
+hidden=Hidden (it)
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_ko.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_ko.properties
index ab2561e..107b68e 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_ko.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_ko.properties
@@ -22,3 +22,6 @@
 
 last_updated=최근 업데이트
 last_modified=최근 수정
+
+visible=Visible (ko)
+hidden=Hidden (ko)
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_zh_CN.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_zh_CN.properties
index ecb41ea..1c11cee 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_zh_CN.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_zh_CN.properties
@@ -22,3 +22,6 @@
 
 last_updated=最近更新
 last_modified=最近修改
+
+visible=Visible (zh_CN)
+hidden=Hidden (zh_CN)
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_zh_TW.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_zh_TW.properties
index 77d361e..4c5ef51 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_zh_TW.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/common/State_zh_TW.properties
@@ -22,3 +22,6 @@
 
 last_updated=最近更新
 last_modified=最近修改
+
+visible=Visible (zh_TW)
+hidden=Hidden (zh_TW)
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo.properties
index 745aa6d..220b29e 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo.properties
@@ -59,3 +59,22 @@
 fl_sprite_layer=sprite layer
 fl_pan_zoom_reset=Pan and zoom reset
 fl_eq_masters=Equalizing master roles
+
+fl_device_labels_hide=Hide device labels
+fl_device_labels_show_friendly=Show friendly device labels
+fl_device_labels_show_id=Show device ID labels
+fl_host_labels_show_friendly=Show friendly host labels
+fl_host_labels_show_ip=Show host IP addresses
+fl_host_labels_show_mac=Show host MAC addresses
+
+fl_offline_devices=Offline Devices
+fl_bad_links=Bad Links
+fl_reset_node_locations=Reset Node Locations
+
+fl_layer_all=All Layers Shown
+fl_layer_pkt=Packet Layer Shown
+fl_layer_opt=Optical Layer Shown
+
+fl_panel_instances=Instances Panel
+
+fl_port_highlighting=Port Highlighting
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_it.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_it.properties
index 8691d81..941c577 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_it.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_it.properties
@@ -54,3 +54,22 @@
 fl_sprite_layer=sprite layer (it)
 fl_pan_zoom_reset=Pan and zoom reset (it)
 fl_eq_masters=Equalizing master roles (it)
+
+fl_device_labels_hide=Hide device labels (it)
+fl_device_labels_show_friendly=Show friendly device labels (it)
+fl_device_labels_show_id=Show device ID labels (it)
+fl_host_labels_show_friendly=Show friendly host labels (it)
+fl_host_labels_show_ip=Show host IP addresses (it)
+fl_host_labels_show_mac=Show host MAC addresses (it)
+
+fl_offline_devices=Offline Devices (it)
+fl_bad_links=Bad Links (it)
+fl_reset_node_locations=Reset Node Locations (it)
+
+fl_layer_all=All Layers Shown (it)
+fl_layer_pkt=Packet Layer Shown (it)
+fl_layer_opt=Optical Layer Shown (it)
+
+fl_panel_instances=Instances Panel (it)
+
+fl_port_highlighting=Port Highlighting (it)
diff --git a/web/gui/src/main/webapp/app/view/topo/topo.js b/web/gui/src/main/webapp/app/view/topo/topo.js
index 07b29c7..24eee02 100644
--- a/web/gui/src/main/webapp/app/view/topo/topo.js
+++ b/web/gui/src/main/webapp/app/view/topo/topo.js
@@ -326,8 +326,18 @@
 
     // --- Background Map ------------------------------------------------
 
+    function recenterLabel(g) {
+        var box = g.node().getBBox();
+
+        box.x -= box.width/2;
+        box.y -= box.height/2;
+        g.attr('transform', sus.translate(box.x, box.y));
+
+    }
+
     function setUpNoDevs() {
-        var g, box;
+        var g;
+
         noDevsLayer = svg.append('g').attr({
             id: 'topo-noDevsLayer',
             transform: sus.translate(500, 500),
@@ -337,20 +347,16 @@
 
         g = noDevsLayer.append('g');
         gs.addGlyph(g, 'bird', 100).attr('class', 'noDevsBird');
-        g.append('text').text(topoLion('no_devices_are_connected'))
-            .attr({ x: 120, y: 80 });
-
-        box = g.node().getBBox();
-        box.x -= box.width/2;
-        box.y -= box.height/2;
-        g.attr('transform', sus.translate(box.x, box.y));
-
+        g.append('text').text('').attr({x: 120, y: 80 });
+        recenterLabel(g);
         showNoDevs(true);
     }
 
     function lionNoDevs() {
-        d3.select('#topo-noDevsLayer g text')
-            .text(topoLion('no_devices_are_connected'));
+        var g = d3.select('#topo-noDevsLayer g');
+
+        g.select('text').text(topoLion('no_devices_are_connected'));
+        recenterLabel(g);
     }
 
     function showNoDevs(b) {
@@ -719,6 +725,10 @@
                     // DOM elements...
                     lionNoDevs();
 
+                    // pass lion bundle function ref to other topo modules
+                    tfs.setLionBundle(topoLion);
+                    tis.setLionBundle(topoLion);
+
                     // now we have the map projection, we are ready for
                     //  the server to send us device/host data...
                     tes.start();
diff --git a/web/gui/src/main/webapp/app/view/topo/topoD3.js b/web/gui/src/main/webapp/app/view/topo/topoD3.js
index 6146082..9aafc98 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoD3.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoD3.js
@@ -25,6 +25,11 @@
     // injected refs
     var sus, is, ts, ps, ttbs;
 
+    // function to be replaced by the localization bundle function
+    var topoLion = function (x) {
+        return '#tfs#' + x + '#';
+    };
+
     // api to topoForce
     var zoomer, api;
     /*
@@ -126,9 +131,9 @@
     function incDevLabIndex() {
         setDevLabIndex(deviceLabelIndex+1);
         switch (deviceLabelIndex) {
-            case 0: return 'Hide device labels';
-            case 1: return 'Show friendly device labels';
-            case 2: return 'Show device ID labels';
+            case 0: return topoLion('fl_device_labels_hide');
+            case 1: return topoLion('fl_device_labels_show_friendly');
+            case 2: return topoLion('fl_device_labels_show_id');
         }
     }
 
@@ -142,9 +147,9 @@
     function incHostLabIndex() {
         setHostLabIndex(hostLabelIndex+1);
         switch (hostLabelIndex) {
-            case 0: return 'Show friendly host labels';
-            case 1: return 'Show host IP Addresses';
-            case 2: return 'Show host MAC Addresses';
+            case 0: return topoLion('fl_host_labels_show_friendly');
+            case 1: return topoLion('fl_host_labels_show_ip');
+            case 2: return topoLion('fl_host_labels_show_mac');
         }
     }
 
@@ -603,6 +608,11 @@
         labels.exit().remove();
     }
 
+    // invoked after the localization bundle has been received from the server
+    function setLionBundle(bundle) {
+        topoLion = bundle;
+    }
+
     // ==========================
     // Module definition
 
@@ -653,6 +663,8 @@
                 transformLabel: transformLabel,
                 applyPortLabels: applyPortLabels,
                 applyNumLinkLabels: applyNumLinkLabels,
+
+                setLionBundle: setLionBundle,
             };
         }]);
 }());
diff --git a/web/gui/src/main/webapp/app/view/topo/topoFilter.js b/web/gui/src/main/webapp/app/view/topo/topoFilter.js
index b24bf53..b5a5283 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoFilter.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoFilter.js
@@ -33,6 +33,11 @@
      link()     // get ref to D3 selection of links
      */
 
+    // function to be replaced by the localization bundle function
+    var topoLion = function (x) {
+        return '#tfltr#' + x + '#';
+    };
+
     var smax = 'suppressedmax';
 
     // which "layer" a particular item "belongs to"
@@ -61,25 +66,26 @@
             {
                 type: 'all',
                 action: function () { suppressLayers(false); },
-                msg: 'All Layers Shown',
             },
             {
                 type: 'pkt',
                 action: function () { showLayer('pkt'); },
-                msg: 'Packet Layer Shown',
             },
             {
                 type: 'opt',
                 action: function () { showLayer('opt'); },
-                msg: 'Optical Layer Shown',
             },
         ],
-        layer = 0;
+        layer = 0,
+        layerType,
+        lionKey;
 
     function clickAction() {
         layer = (layer + 1) % dispatch.length;
         dispatch[layer].action();
-        flash.flash(dispatch[layer].msg);
+        layerType = dispatch[layer].type;
+        lionKey = 'fl_layer_' + layerType;
+        flash.flash(topoLion(lionKey));
     }
 
     function selected() {
@@ -119,6 +125,11 @@
         unsuppressLayer(which);
     }
 
+    // invoked after the localization bundle has been received from the server
+    function setLionBundle(bundle) {
+        topoLion = bundle;
+    }
+
     // === -----------------------------------------------------
     // === MODULE DEFINITION ===
 
@@ -137,6 +148,7 @@
                     clickAction: clickAction,
                     selected: selected,
                     inLayer: inLayer,
+                    setLionBundle: setLionBundle,
                 };
             },
         ]);
diff --git a/web/gui/src/main/webapp/app/view/topo/topoForce.js b/web/gui/src/main/webapp/app/view/topo/topoForce.js
index c7d1dca..b8f3a48 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoForce.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoForce.js
@@ -26,6 +26,11 @@
     var $log, $timeout, fs, sus, ts, flash, wss, tov,
         tis, tms, td3, tss, tts, tos, fltr, tls, uplink, svg, tpis;
 
+    // function to be replaced by the localization bundle function
+    var topoLion = function (x) {
+        return '#tfs#' + x + '#';
+    };
+
     // configuration
     var linkConfig = {
         light: {
@@ -486,7 +491,8 @@
     }
 
     function vis(b) {
-        return b ? 'visible' : 'hidden';
+        var lionKey = b ? 'visible' : 'hidden';
+        return topoLion(lionKey);
     }
 
     function toggleHosts(x) {
@@ -495,7 +501,7 @@
 
         showHosts = on;
         updateHostVisibility();
-        flash.flash('Hosts ' + vis(on));
+        flash.flash(topoLion('hosts') + ' ' + vis(on));
         return on;
     }
 
@@ -505,7 +511,7 @@
 
         showOffline = on;
         updateOfflineVisibility();
-        flash.flash('Offline devices ' + vis(on));
+        flash.flash(topoLion('fl_offline_devices') + ' ' + vis(on));
         return on;
     }
 
@@ -586,7 +592,7 @@
 
     function showBadLinks() {
         var badLinks = tms.findBadLinks();
-        flash.flash('Bad Links: ' + badLinks.length);
+        flash.flash(topoLion('fl_bad_links') + ': ' + badLinks.length);
         $log.debug('Bad Link List (' + badLinks.length + '):');
         badLinks.forEach(function (d) {
             $log.debug('bad link: (' + d.bad + ') ' + d.key, d);
@@ -650,7 +656,7 @@
         tms.resetAllLocations();
         updateNodes();
         tick(); // force nodes to be redrawn in their new locations
-        flash.flash('Reset Node Locations');
+        flash.flash(topoLion('fl_reset_node_locations'));
     }
 
     // ==========================================
@@ -1105,6 +1111,14 @@
         updateNodes();
     }
 
+    // invoked after the localization bundle has been received from the server
+    function setLionBundle(bundle) {
+        topoLion = bundle;
+        td3.setLionBundle(bundle);
+        fltr.setLionBundle(bundle);
+        tls.setLionBundle(bundle);
+    }
+
     angular.module('ovTopo')
     .factory('TopoForceService',
         ['$log', '$timeout', 'FnService', 'SvgUtilService',
@@ -1263,6 +1277,8 @@
                 updateLink: updateLink,
                 removeLink: removeLink,
                 topoStartDone: topoStartDone,
+
+                setLionBundle: setLionBundle,
             };
         }]);
 }());
diff --git a/web/gui/src/main/webapp/app/view/topo/topoInst.js b/web/gui/src/main/webapp/app/view/topo/topoInst.js
index 9544d4e..4e89822 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoInst.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoInst.js
@@ -45,6 +45,11 @@
         oiShowMaster,
         oiBox;
 
+    // function to be replaced by the localization bundle function
+    var topoLion = function (x) {
+        return '#tinst#' + x + '#';
+    };
+
 
     function addInstance(data) {
         var id = data.id;
@@ -165,7 +170,7 @@
                 .data(onosOrder, function (d) { return d.id; });
 
         function nSw(n) {
-            return 'Devices: ' + n;
+            return topoLion('devices') + ': ' + n;
         }
 
         // operate on existing onos instances if necessary
@@ -307,11 +312,16 @@
                 hideInsts();
             }
         }
-        verb = on ? 'Show' : 'Hide';
-        flash.flash(verb + ' instances panel');
+        verb = on ? topoLion('show') : topoLion('hide');
+        flash.flash(verb + ' ' + topoLion('fl_panel_instances'));
         return on;
     }
 
+    // invoked after the localization bundle has been received from the server
+    function setLionBundle(bundle) {
+        topoLion = bundle;
+    }
+
     // ==========================
 
     angular.module('ovTopo')
@@ -343,6 +353,7 @@
                 hide: hideInsts,
                 toggle: toggleInsts,
                 showMaster: function () { return oiShowMaster; },
+                setLionBundle: setLionBundle,
             };
         }]);
 }());
diff --git a/web/gui/src/main/webapp/app/view/topo/topoLink.js b/web/gui/src/main/webapp/app/view/topo/topoLink.js
index c0faa8c..ed06ce1 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoLink.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoLink.js
@@ -36,6 +36,10 @@
     // SVG elements;
     var svg;
 
+    // function to be replaced by the localization bundle function
+    var topoLion = function (x) {
+        return '#tlink#' + x + '#';
+    };
 
     // ======== ALGORITHM TO FIND LINK CLOSEST TO MOUSE ========
 
@@ -288,7 +292,8 @@
     function togglePorts(x) {
         var kev = (x === 'keyev'),
             on = kev ? !showPorts : !!x,
-            what = on ? 'Enable' : 'Disable',
+            what = on ? topoLion('enable') : topoLion('disable'),
+            philite = topoLion('fl_port_highlighting'),
             handler = on ? mouseMoveHandler : null;
 
         showPorts = on;
@@ -297,7 +302,7 @@
             enhanceLink(null);
         }
         svg.on('mousemove', handler);
-        flash.flash(what + ' port highlighting');
+        flash.flash(what + ' ' + philite);
         return on;
     }
 
@@ -312,6 +317,11 @@
         }
     }
 
+    // invoked after the localization bundle has been received from the server
+    function setLionBundle(bundle) {
+        topoLion = bundle;
+    }
+
     // ==========================
     // Module definition
 
@@ -350,6 +360,7 @@
                 destroyLink: destroyLink,
                 togglePorts: togglePorts,
                 deselectAllLinks: deselectAllLinks,
+                setLionBundle: setLionBundle,
             };
         }]);
 }());
diff --git a/web/gui/src/main/webapp/tests/app/view/topo/topoFilter-spec.js b/web/gui/src/main/webapp/tests/app/view/topo/topoFilter-spec.js
index 543991a..3228e1d 100644
--- a/web/gui/src/main/webapp/tests/app/view/topo/topoFilter-spec.js
+++ b/web/gui/src/main/webapp/tests/app/view/topo/topoFilter-spec.js
@@ -56,7 +56,8 @@
     it('should define api functions', function () {
         expect(fs.areFunctions(fltr, [
             'initFilter',
-            'clickAction', 'selected', 'inLayer'
+            'clickAction', 'selected', 'inLayer',
+            'setLionBundle',
         ])).toBeTruthy();
     });
 
diff --git a/web/gui/src/main/webapp/tests/app/view/topo/topoForce-spec.js b/web/gui/src/main/webapp/tests/app/view/topo/topoForce-spec.js
index dce67e7..85e2f9e 100644
--- a/web/gui/src/main/webapp/tests/app/view/topo/topoForce-spec.js
+++ b/web/gui/src/main/webapp/tests/app/view/topo/topoForce-spec.js
@@ -46,7 +46,9 @@
 
             'resetAllLocations', 'addDevice', 'updateDevice', 'removeDevice',
             'addHost', 'updateHost', 'moveHost', 'removeHost',
-            'addLink', 'updateLink', 'removeLink', 'topoStartDone'
+            'addLink', 'updateLink', 'removeLink', 'topoStartDone',
+
+            'setLionBundle',
         ])).toBeTruthy();
     });
 
diff --git a/web/gui/src/main/webapp/tests/app/view/topo/topoInst-spec.js b/web/gui/src/main/webapp/tests/app/view/topo/topoInst-spec.js
index a732a69..cf7ebca 100644
--- a/web/gui/src/main/webapp/tests/app/view/topo/topoInst-spec.js
+++ b/web/gui/src/main/webapp/tests/app/view/topo/topoInst-spec.js
@@ -37,7 +37,8 @@
             'initInst', 'destroyInst',
             'addInstance', 'updateInstance', 'removeInstance',
             'cancelAffinity',
-            'isVisible', 'show', 'hide', 'toggle', 'showMaster'
+            'isVisible', 'show', 'hide', 'toggle', 'showMaster',
+            'setLionBundle',
         ])).toBeTruthy();
     });