summaryrefslogtreecommitdiffstats
path: root/utils/test/reporting/pages
diff options
context:
space:
mode:
Diffstat (limited to 'utils/test/reporting/pages')
-rwxr-xr-xutils/test/reporting/pages/angular.sh5
-rw-r--r--utils/test/reporting/pages/app/index.html3
-rw-r--r--utils/test/reporting/pages/app/scripts/app.config.js0
-rw-r--r--utils/test/reporting/pages/app/scripts/controllers/table.controller.js555
-rw-r--r--utils/test/reporting/pages/app/scripts/controllers/testvisual.controller.js17
-rw-r--r--utils/test/reporting/pages/app/scripts/factory/table.factory.js52
-rw-r--r--utils/test/reporting/pages/app/views/commons/table.html28
-rw-r--r--utils/test/reporting/pages/app/views/commons/testCaseVisual.html4
-rwxr-xr-xutils/test/reporting/pages/config.sh3
9 files changed, 286 insertions, 381 deletions
diff --git a/utils/test/reporting/pages/angular.sh b/utils/test/reporting/pages/angular.sh
index 080f27bb7..0e00ea635 100755
--- a/utils/test/reporting/pages/angular.sh
+++ b/utils/test/reporting/pages/angular.sh
@@ -1,8 +1,3 @@
-: ${SERVER_URL:='http://testresults.opnfv.org/reporting/api'}
-
-echo "var BASE_URL = 'http://${SERVER_URL}/landing-page'" >> app/scripts/app.config.js
-echo "var PROJECT_URL = 'http://${SERVER_URL}'" >> app/scripts/app.config.js
-
apt-get install -y nodejs
apt-get install -y npm
npm install
diff --git a/utils/test/reporting/pages/app/index.html b/utils/test/reporting/pages/app/index.html
index f4eb65adf..843a6230e 100644
--- a/utils/test/reporting/pages/app/index.html
+++ b/utils/test/reporting/pages/app/index.html
@@ -87,10 +87,9 @@
<script src="scripts/controllers/auth.controller.js"></script>
<script src="scripts/controllers/admin.controller.js"></script>
<script src="scripts/controllers/main.controller.js"></script>
- <script src="scripts/app.config.js"></script>
<script src="scripts/controllers/testvisual.controller.js"></script>
<!-- endbuild -->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/utils/test/reporting/pages/app/scripts/app.config.js b/utils/test/reporting/pages/app/scripts/app.config.js
deleted file mode 100644
index e69de29bb..000000000
--- a/utils/test/reporting/pages/app/scripts/app.config.js
+++ /dev/null
diff --git a/utils/test/reporting/pages/app/scripts/controllers/table.controller.js b/utils/test/reporting/pages/app/scripts/controllers/table.controller.js
index 0f3a17a03..8d494c3ae 100644
--- a/utils/test/reporting/pages/app/scripts/controllers/table.controller.js
+++ b/utils/test/reporting/pages/app/scripts/controllers/table.controller.js
@@ -8,378 +8,271 @@
* Controller of the opnfvdashBoardAngularApp
*/
angular.module('opnfvApp')
- .controller('TableController', ['$scope', '$state', '$stateParams', '$http', 'TableFactory', function($scope, $state, $stateParams, $http, TableFactory) {
-
- $scope.filterlist = [];
- $scope.selection = [];
- $scope.statusList = [];
- $scope.projectList = [];
- $scope.installerList = [];
- $scope.versionlist = [];
- $scope.loopci = [];
- $scope.time = [];
- $scope.tableDataAll = {};
- $scope.tableInfoAll = {};
- $scope.scenario = {};
-
- $scope.VersionConfig = {
- create: true,
- valueField: 'title',
- labelField: 'title',
- delimiter: '|',
- maxItems: 1,
- placeholder: 'Version',
- onChange: function(value) {
- checkElementArrayValue($scope.selection, $scope.VersionOption);
- $scope.selection.push(value);
- // console.log($scope.selection);
- getScenarioData();
-
- }
- }
-
- $scope.LoopConfig = {
- create: true,
- valueField: 'title',
- labelField: 'title',
- delimiter: '|',
- maxItems: 1,
- placeholder: 'Loop',
- onChange: function(value) {
- checkElementArrayValue($scope.selection, $scope.LoopOption);
- $scope.selection.push(value);
- // console.log($scope.selection);
- getScenarioData();
-
- }
- }
-
- $scope.TimeConfig = {
- create: true,
- valueField: 'title',
- labelField: 'title',
- delimiter: '|',
- maxItems: 1,
- placeholder: 'Time',
- onChange: function(value) {
- checkElementArrayValue($scope.selection, $scope.TimeOption);
- $scope.selection.push(value);
- // console.log($scope.selection)
- getScenarioData();
-
+ .controller('TableController', ['$scope', '$state', '$stateParams', '$http', 'TableFactory', '$timeout',
+ function($scope, $state, $stateParams, $http, TableFactory, $timeout) {
+
+ init();
+
+ function init() {
+ $scope.filterlist = [];
+ $scope.selection = [];
+
+ $scope.statusList = [];
+ $scope.projectList = [];
+ $scope.installerList = [];
+ $scope.versionlist = [];
+ $scope.loopList = [];
+ $scope.timeList = [];
+
+ $scope.selectStatus = [];
+ $scope.selectProjects = [];
+ $scope.selectInstallers = [];
+ $scope.selectVersion = null;
+ $scope.selectLoop = null;
+ $scope.selectTime = null;
+
+ $scope.statusClicked = false;
+ $scope.installerClicked = false;
+ $scope.projectClicked = false;
+
+ $scope.scenarios = {};
+
+ $scope.VersionConfig = {
+ create: true,
+ valueField: 'title',
+ labelField: 'title',
+ delimiter: '|',
+ maxItems: 1,
+ placeholder: 'Version',
+ onChange: function(value) {
+ $scope.selectVersion = value;
+
+ getScenarioData();
- }
- }
-
-
- init();
-
- function init() {
- $scope.toggleSelection = toggleSelection;
- getScenarioData();
- // radioSetting();
- getFilters();
- }
-
- function getFilters() {
- TableFactory.getFilter().get({
-
-
- }).$promise.then(function(response) {
- if (response != null) {
- $scope.statusList = response.filters.status;
- $scope.projectList = response.filters.projects;
- $scope.installerList = response.filters.installers;
- $scope.versionlist = response.filters.version;
- $scope.loopci = response.filters.loops;
- $scope.time = response.filters.time;
-
- $scope.statusListString = $scope.statusList.toString();
- $scope.projectListString = $scope.projectList.toString();
- $scope.installerListString = $scope.installerList.toString();
- $scope.VersionSelected = $scope.versionlist[1];
- $scope.LoopCiSelected = $scope.loopci[0];
- $scope.TimeSelected = $scope.time[0];
- radioSetting($scope.versionlist, $scope.loopci, $scope.time);
-
- } else {
- alert("网络错误");
- }
- })
- }
-
- function getScenarioData() {
-
- var utl = BASE_URL + '/scenarios';
- var data = {
- 'status': ['success', 'danger', 'warning'],
- 'projects': ['functest', 'yardstick'],
- 'installers': ['apex', 'compass', 'fuel', 'joid'],
- 'version': $scope.VersionSelected,
- 'loops': $scope.LoopCiSelected,
- 'time': $scope.TimeSelected
- };
- var config = {
- headers: {
- 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
- }
- }
- $http.post(utl, data, config).then(function(response) {
- if (response.status == 200) {
- $scope.scenario = response.data;
- constructJson();
- }
- })
- }
-
- //construct json
- function constructJson() {
-
- var colspan;
- var InstallerData;
- var projectsInfo;
- $scope.tableDataAll["scenario"] = [];
-
-
- for (var item in $scope.scenario.scenarios) {
-
- var headData = Object.keys($scope.scenario.scenarios[item].installers).sort();
- var scenarioStatus = $scope.scenario.scenarios[item].status;
- var scenarioStatusDisplay;
- if (scenarioStatus == "success") {
- scenarioStatusDisplay = "navy";
- } else if (scenarioStatus == "danger") {
- scenarioStatusDisplay = "danger";
- } else if (scenarioStatus == "warning") {
- scenarioStatusDisplay = "warning";
+ }
}
- InstallerData = headData;
- var projectData = [];
- var datadisplay = [];
- var projects = [];
+ $scope.LoopConfig = {
+ create: true,
+ valueField: 'title',
+ labelField: 'title',
+ delimiter: '|',
+ maxItems: 1,
+ placeholder: 'Loop',
+ onChange: function(value) {
+ $scope.selectLoop = value;
- for (var j = 0; j < headData.length; j++) {
+ getScenarioData();
- projectData.push($scope.scenario.scenarios[item].installers[headData[j]]);
+ }
}
- for (var j = 0; j < projectData.length; j++) {
-
- for (var k = 0; k < projectData[j].length; k++) {
- projects.push(projectData[j][k].project);
- var temArray = [];
- if (projectData[j][k].score == null) {
- temArray.push("null");
- temArray.push(projectData[j][k].project);
- temArray.push(headData[j]);
- } else {
- temArray.push(projectData[j][k].score);
- temArray.push(projectData[j][k].project);
- temArray.push(headData[j]);
- }
-
-
- if (projectData[j][k].status == "platinium") {
- temArray.push("primary");
- temArray.push("P");
- } else if (projectData[j][k].status == "gold") {
- temArray.push("danger");
- temArray.push("G");
- } else if (projectData[j][k].status == "silver") {
- temArray.push("warning");
- temArray.push("S");
- } else if (projectData[j][k].status == null) {
- temArray.push("null");
- }
-
- datadisplay.push(temArray);
+ $scope.TimeConfig = {
+ create: true,
+ valueField: 'title',
+ labelField: 'title',
+ delimiter: '|',
+ maxItems: 1,
+ placeholder: 'Time',
+ onChange: function(value) {
+ $scope.selectTime = value;
+
+ getScenarioData();
}
-
}
- colspan = projects.length / headData.length;
-
- var tabledata = {
- scenarioName: item,
- Installer: InstallerData,
- projectData: projectData,
- projects: projects,
- datadisplay: datadisplay,
- colspan: colspan,
- status: scenarioStatus,
- statusDisplay: scenarioStatusDisplay
- };
-
- JSON.stringify(tabledata);
- $scope.tableDataAll.scenario.push(tabledata);
-
- // console.log(tabledata);
-
+ getFilters();
}
+ function getFilters() {
+ TableFactory.getFilter().get({
+ }).$promise.then(function(response) {
+ if (response != null) {
+ $scope.statusList = response.filters.status;
+ $scope.projectList = response.filters.projects;
+ $scope.installerList = response.filters.installers;
+ $scope.versionList = toSelectList(response.filters.version);
+ $scope.loopList = toSelectList(response.filters.loops);
+ $scope.timeList = toSelectList(response.filters.time);
+
+ $scope.selectStatus = copy($scope.statusList);
+ $scope.selectInstallers = copy($scope.installerList);
+ $scope.selectProjects = copy($scope.projectList);
+ $scope.selectVersion = response.filters.version[0];
+ $scope.selectLoop = response.filters.loops[0];
+ $scope.selectTime = response.filters.time[0];
+
+ getScenarioData();
+
+ } else {
+ }
+ });
+ }
- projectsInfo = $scope.tableDataAll.scenario[0].projects;
-
- var tempHeadData = [];
-
- for (var i = 0; i < InstallerData.length; i++) {
- for (var j = 0; j < colspan; j++) {
- tempHeadData.push(InstallerData[i]);
- }
+ function toSelectList(arr){
+ var tempList = [];
+ angular.forEach(arr, function(ele){
+ tempList.push({'title': ele});
+ });
+ return tempList;
}
- //console.log(tempHeadData);
+ function copy(arr){
+ var tempList = [];
+ angular.forEach(arr, function(ele){
+ tempList.push(ele);
+ });
+ return tempList;
+ }
- var projectsInfoAll = [];
+ function getScenarioData() {
- for (var i = 0; i < projectsInfo.length; i++) {
- var tempA = [];
- tempA.push(projectsInfo[i]);
- tempA.push(tempHeadData[i]);
- projectsInfoAll.push(tempA);
+ var data = {
+ 'status': $scope.selectStatus,
+ 'projects': $scope.selectProjects,
+ 'installers': $scope.selectInstallers,
+ 'version': $scope.selectVersion,
+ 'loops': $scope.selectLoop,
+ 'time': $scope.selectTime
+ };
- }
- //console.log(projectsInfoAll);
+ TableFactory.getScenario(data).then(function(response) {
+ if (response.status == 200) {
+ $scope.scenarios = response.data.scenarios;
+ getScenario();
+ }
- $scope.tableDataAll["colspan"] = colspan;
- $scope.tableDataAll["Installer"] = InstallerData;
- $scope.tableDataAll["Projects"] = projectsInfoAll;
+ }, function(error) {
+ });
- // console.log($scope.tableDataAll);
- $scope.colspan = $scope.tableDataAll.colspan;
+ }
- }
+ function getScenario(){
- //get json element size
- function getSize(jsondata) {
- var size = 0;
- for (var item in jsondata) {
- size++;
+ $scope.project_row = [];
+ angular.forEach($scope.selectInstallers, function(installer){
+ angular.forEach($scope.selectProjects, function(project){
+ var temp = {
+ 'installer': installer,
+ 'project': project
+ }
+ $scope.project_row.push(temp);
+
+ });
+ });
+
+
+ $scope.scenario_rows = [];
+ angular.forEach($scope.scenarios, function(scenario, name){
+ var scenario_row = {
+ 'name': null,
+ 'status': null,
+ 'statusDisplay': null,
+ 'datadisplay': [],
+ };
+ scenario_row.name = name;
+ scenario_row.status = scenario.status;
+
+ var scenarioStatusDisplay;
+ if (scenario.status == "success") {
+ scenarioStatusDisplay = "navy";
+ } else if (scenario.status == "danger") {
+ scenarioStatusDisplay = "danger";
+ } else if (scenario.status == "warning") {
+ scenarioStatusDisplay = "warning";
+ }
+ scenario_row.statusDisplay = scenarioStatusDisplay;
+
+ angular.forEach($scope.selectInstallers, function(installer){
+ angular.forEach($scope.selectProjects, function(project){
+ var datadisplay = {
+ 'installer': null,
+ 'project': null,
+ 'value': null,
+ 'label': null,
+ 'label_value': null
+ };
+ datadisplay.installer = installer;
+ datadisplay.project = project;
+ datadisplay.value = scenario.installers[installer][project].score;
+
+ var single_status = scenario.installers[installer][project].status;
+ if (single_status == "platinium") {
+ datadisplay.label = 'primary';
+ datadisplay.label_value = 'P';
+ } else if (single_status == "gold") {
+ datadisplay.label = 'danger';
+ datadisplay.label_value = 'G';
+ } else if (single_status == "silver") {
+ datadisplay.label = 'warning';
+ datadisplay.label_value = 'S';
+ } else if (single_status == null) {
+ }
+ scenario_row.datadisplay.push(datadisplay);
+
+ });
+ });
+ $scope.scenario_rows.push(scenario_row);
+ });
}
- return size;
- }
- $scope.colspan = $scope.tableDataAll.colspan;
- // console.log($scope.colspan);
-
- //find all same element index
- function getSameElementIndex(array, element) {
- var indices = [];
- var idx = array.indexOf(element);
- while (idx != -1) {
- indices.push(idx);
- idx = array.indexOf(element, idx + 1);
+ function clickBase(eleList, ele){
+ var idx = eleList.indexOf(ele);
+ if(idx > -1){
+ eleList.splice(idx, 1);
+ }else{
+ eleList.push(ele);
+ }
}
- //return indices;
- var result = { element: element, index: indices };
- JSON.stringify(result);
- return result;
- }
- //delete element in array
- function deletElement(array, index) {
- array.splice(index, 1);
+ $scope.clickStatus = function(status){
+ if($scope.selectStatus.length == $scope.statusList.length && $scope.statusClicked == false){
+ $scope.selectStatus = [];
+ $scope.statusClicked = true;
+ }
- }
+ clickBase($scope.selectStatus, status);
- function radioSetting(array1, array2, array3) {
- var tempVersion = [];
- var tempLoop = [];
- var tempTime = [];
- for (var i = 0; i < array1.length; i++) {
- var temp = {
- title: array1[i]
- };
- tempVersion.push(temp);
- }
- for (var i = 0; i < array2.length; i++) {
- var temp = {
- title: array2[i]
- };
- tempLoop.push(temp);
- }
- for (var i = 0; i < array3.length; i++) {
- var temp = {
- title: array3[i]
- };
- tempTime.push(temp);
- }
- $scope.VersionOption = tempVersion;
- $scope.LoopOption = tempLoop;
- $scope.TimeOption = tempTime;
- }
-
- //remove element in the array
- function removeArrayValue(arr, value) {
- for (var i = 0; i < arr.length; i++) {
- if (arr[i] == value) {
- arr.splice(i, 1);
- break;
+ if($scope.selectStatus.length == 0 && $scope.statusClicked == true){
+ $scope.selectStatus = copy($scope.statusList);
+ $scope.statusClicked = false;
}
+
+ getScenarioData();
}
- }
- //check if exist element
- function checkElementArrayValue(arrayA, arrayB) {
- for (var i = 0; i < arrayB.length; i++) {
- if (arrayA.indexOf(arrayB[i].title) > -1) {
- removeArrayValue(arrayA, arrayB[i].title);
+ $scope.clickInstaller = function(installer){
+ if($scope.selectInstallers.length == $scope.installerList.length && $scope.installerClicked == false){
+ $scope.selectInstallers = [];
+ $scope.installerClicked = true;
}
- }
- }
- function toggleSelection(status) {
- var idx = $scope.selection.indexOf(status);
+ clickBase($scope.selectInstallers, installer);
+
+ if($scope.selectInstallers.length == 0 && $scope.installerClicked == true){
+ $scope.selectInstallers = copy($scope.installerList);
+ $scope.installerClicked = false;
+ }
- if (idx > -1) {
- $scope.selection.splice(idx, 1);
- filterData($scope.selection)
- } else {
- $scope.selection.push(status);
- filterData($scope.selection)
+ getScenarioData();
}
- // console.log($scope.selection);
- }
+ $scope.clickProject = function(project){
+ if($scope.selectProjects.length == $scope.projectList.length && $scope.projectClicked == false){
+ $scope.selectProjects = [];
+ $scope.projectClicked = true;
+ }
- //filter function
- function filterData(selection) {
+ clickBase($scope.selectProjects, project);
- $scope.selectInstallers = [];
- $scope.selectProjects = [];
- $scope.selectStatus = [];
- for (var i = 0; i < selection.length; i++) {
- if ($scope.statusListString.indexOf(selection[i]) > -1) {
- $scope.selectStatus.push(selection[i]);
- }
- if ($scope.projectListString.indexOf(selection[i]) > -1) {
- $scope.selectProjects.push(selection[i]);
- }
- if ($scope.installerListString.indexOf(selection[i]) > -1) {
- $scope.selectInstallers.push(selection[i]);
+ if($scope.selectProjects.length == 0 && $scope.projectClicked == true){
+ $scope.selectProjects = copy($scope.projectList);
+ $scope.projectClicked = false;
}
- }
-
- $scope.colspan = $scope.selectProjects.length;
- //when some selection is empty, we set it full
- if ($scope.selectInstallers.length == 0) {
- $scope.selectInstallers = $scope.installerList;
+ getScenarioData();
}
- if ($scope.selectProjects.length == 0) {
- $scope.selectProjects = $scope.projectList;
- $scope.colspan = $scope.tableDataAll.colspan;
- }
- if ($scope.selectStatus.length == 0) {
- $scope.selectStatus = $scope.statusList
- }
-
- // console.log($scope.selectStatus);
- // console.log($scope.selectProjects);
}
-
-
- }]); \ No newline at end of file
+ ]);
diff --git a/utils/test/reporting/pages/app/scripts/controllers/testvisual.controller.js b/utils/test/reporting/pages/app/scripts/controllers/testvisual.controller.js
index def8e7293..894e10f77 100644
--- a/utils/test/reporting/pages/app/scripts/controllers/testvisual.controller.js
+++ b/utils/test/reporting/pages/app/scripts/controllers/testvisual.controller.js
@@ -16,7 +16,7 @@ angular.module('opnfvApp')
$scope.vsperf = "542,185,640,414";
$scope.stor = "658,187,750,410";
$scope.qtip = "769,190,852,416";
- $scope.bootleneck = "870,192,983,419";
+ $scope.bottlenecks = "870,192,983,419";
$scope.noPopArea1 = "26,8,1190,180";
$scope.noPopArea2 = "1018,193,1190,590";
$scope.noPopArea3 = "37,455,1003,584";
@@ -41,25 +41,18 @@ angular.module('opnfvApp')
$scope.tableData = null;
$scope.modalName = name;
- var url = PROJECT_URL + '/projects/' + name + '/cases';
-
- var config = {
- headers: {
- 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
- }
- }
- $http.get(url, config).then(function(response) {
+ TableFactory.getProjectTestCases(name).then(function(response) {
if (response.status == 200) {
$scope.tableData = response.data;
$scope.tableData = constructObjectArray($scope.tableData);
console.log($scope.tableData);
$loading.finish('Key');
-
-
-
}
+ }, function(error) {
+
})
+
}
//construct key value for tableData
diff --git a/utils/test/reporting/pages/app/scripts/factory/table.factory.js b/utils/test/reporting/pages/app/scripts/factory/table.factory.js
index 2a8cbd046..e715c5c28 100644
--- a/utils/test/reporting/pages/app/scripts/factory/table.factory.js
+++ b/utils/test/reporting/pages/app/scripts/factory/table.factory.js
@@ -4,45 +4,67 @@
* get data factory
*/
angular.module('opnfvApp')
- .factory('TableFactory', function($resource, $rootScope) {
+ .factory('TableFactory', function($resource, $rootScope, $http) {
+
+ var BASE_URL = 'http://testresults.opnfv.org/reporting2';
+ $.ajax({
+ url: 'config.json',
+ async: false,
+ dataType: 'json',
+ success: function (response) {
+ BASE_URL = response.url;
+ },
+ error: function (response){
+ alert('fail to get api url, using default: http://testresults.opnfv.org/reporting2')
+ }
+ });
return {
getFilter: function() {
- return $resource(BASE_URL + '/filters', {}, {
+ return $resource(BASE_URL + '/landing-page/filters', {}, {
'get': {
method: 'GET',
}
});
},
- getScenario: function() {
- return $resource(BASE_URL + '/scenarios', {}, {
- 'post': {
- method: 'POST',
+ getScenario: function(data) {
+
+ var config = {
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
}
- })
+ }
+
+ return $http.post(BASE_URL + '/landing-page/scenarios', data, config);
},
+
+
getProjectUrl: function() {
- return $resource(PROJECT_URL + '/projects-page/projects', {}, {
+ return $resource(BASE_URL + '/projects-page/projects', {}, {
'get': {
method: 'GET'
}
})
},
- getProjectTestCases: function() {
- return $resource(PROJECT_URL + '/projects/:project/cases', { project: '@project' }, {
- 'get': {
- method: 'GET'
+ getProjectTestCases: function(name) {
+ var config = {
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
}
- })
+ };
+ return $http.get(BASE_URL + '/projects/' + name + '/cases', {}, config)
+
+
},
getProjectTestCaseDetail: function() {
- return $resource(PROJECT_URL + '/projects/:project/cases/:testcase', { project: '@project', testcase: '@testcase' }, {
+ return $resource(BASE_URL + '/projects/:project/cases/:testcase', { project: '@project', testcase: '@testcase' }, {
'get': {
method: 'GET'
}
})
}
+
};
- }); \ No newline at end of file
+ });
diff --git a/utils/test/reporting/pages/app/views/commons/table.html b/utils/test/reporting/pages/app/views/commons/table.html
index f504bd76b..a33c48312 100644
--- a/utils/test/reporting/pages/app/views/commons/table.html
+++ b/utils/test/reporting/pages/app/views/commons/table.html
@@ -29,9 +29,9 @@
<div class=" col-md-12" data-toggle="buttons" aria-pressed="false">
<label> Status </label> &nbsp;&nbsp; &nbsp;
- <label class="btn btn-outline btn-success btn-sm" style="height:25px; margin-right: 5px;" ng-repeat="status in statusList" value={{status}} ng-checked="selection.indexOf(status)>-1" ng-click="toggleSelection(status)">
+ <label class="btn btn-outline btn-success btn-sm" style="height:25px; margin-right: 5px;" ng-repeat="status in statusList" value={{status}} ng-checked="selectStatus.indexOf(status)>-1" ng-click="clickStatus(status)">
<input type="checkbox" disabled="disabled" > {{status}}
-
+
</label>
</div>
@@ -39,7 +39,7 @@
<div class=" col-md-12" data-toggle="buttons">
<label> Projects </label> &nbsp;
- <label class="btn btn-outline btn-success btn-sm " style="height:25px;margin-right: 5px;" ng-repeat="project in projectList" value={{project}} ng-checked="selection.indexOf(project)>-1" ng-click="toggleSelection(project)">
+ <label class="btn btn-outline btn-success btn-sm " style="height:25px;margin-right: 5px;" ng-repeat="project in projectList" value={{project}} ng-checked="selectProjects.indexOf(project)>-1" ng-click="clickProject(project)">
<input type="checkbox" disabled="disabled"> {{project}}
</label>
@@ -47,7 +47,7 @@
<hr class="myhr">
<div class=" col-md-12" data-toggle="buttons">
<label> Installers </label>
- <label class="btn btn-outline btn-success btn-sm" style="height:25px;margin-right: 5px;" ng-repeat="installer in installerList" value={{installer}} ng-checked="selection.indexOf(installer)>-1" ng-click="toggleSelection(installer)">
+ <label class="btn btn-outline btn-success btn-sm" style="height:25px;margin-right: 5px;" ng-repeat="installer in installerList" value={{installer}} ng-checked="selectInstallers.indexOf(installer)>-1" ng-click="clickInstaller(installer)">
<input type="checkbox" disabled="disabled"> {{installer}}
</label>
</div>
@@ -56,17 +56,17 @@
<div class=" col-md-1" style="margin-top:5px;margin-right: 5px;">
- <selectize options="VersionOption" ng-model="VersionSelected" config="VersionConfig"></selectize>
+ <selectize options="versionList" ng-model="selectVersion" config="VersionConfig"></selectize>
</div>
<div class=" col-md-1" style="margin-top:5px;margin-right: 5px;">
- <selectize options="LoopOption" ng-model="LoopCiSelected" config="LoopConfig"></selectize>
+ <selectize options="loopList" ng-model="selectLoop" config="LoopConfig"></selectize>
</div>
<div class=" col-md-1" style="margin-top:5px;margin-right: 5px;">
- <selectize options="TimeOption" ng-model="TimeSelected" config="TimeConfig"></selectize>
+ <selectize options="timeList" ng-model="selectTime" config="TimeConfig"></selectize>
</div>
</div>
<div class="table-responsive">
@@ -75,25 +75,25 @@
<thead class="thead">
<tr>
<th>Scenario </th>
- <th colspan={{colspan}} ng-show="selectInstallers.indexOf(key)!=-1" value={{key}} ng-repeat="key in tableDataAll.Installer"><a href="notfound.html">{{key}}</a> </th>
+ <th colspan={{selectProjects.length}} ng-show="selectInstallers.indexOf(key)!=-1" value={{key}} ng-repeat="key in selectInstallers"><a href="notfound.html">{{key}}</a> </th>
</tr>
<tr>
<td></td>
- <td ng-show="selectProjects.indexOf(project[0])!=-1 && selectInstallers.indexOf(project[1])!=-1" ng-repeat="project in tableDataAll.Projects track by $index" data={{project[1]}} value={{project[0]}}>{{project[0]}}</td>
+ <td ng-show="selectProjects.indexOf(project.project)!=-1 && selectInstallers.indexOf(project.installer)!=-1" ng-repeat="project in project_row track by $index" data={{project.installer}} value={{project.project}}>{{ project.project }}</td>
</tr>
</thead>
<tbody class="tbody">
- <tr ng-repeat="scenario in tableDataAll.scenario" ng-show="selectStatus.indexOf(scenario.status)!=-1">
+ <tr ng-repeat="scenario in scenario_rows" ng-show="selectStatus.indexOf(scenario.status)!=-1">
- <td nowrap="nowrap" data={{scenario.status}}><span class="fa fa-circle text-{{scenario.statusDisplay}}"></span> <a href="notfound.html">{{scenario.scenarioName}}</a> </td>
+ <td nowrap="nowrap" data={{scenario.status}}><span class="fa fa-circle text-{{scenario.statusDisplay}}"></span> <a href="notfound.html">{{scenario.name}}</a> </td>
<!--<td style="background-color:#e7eaec" align="justify" ng-if="data[0]=='Not Support'" ng-repeat="data in scenario.datadisplay track by $index" data={{data[1]}} value={{data[2]}}></td>-->
- <td nowrap="nowrap" ng-show="selectInstallers.indexOf(data[2])!=-1 && selectProjects.indexOf(data[1])!=-1" ng-repeat="data in scenario.datadisplay track by $index" data={{data[1]}} value={{data[2]}} class={{data[0]}}>
- <span class="label label-{{data[3]}}">{{data[4]}}</a></span> {{data[0]}}</td>
+ <td nowrap="nowrap" ng-show="selectInstallers.indexOf(data.installer)!=-1 && selectProjects.indexOf(data.project)!=-1" ng-repeat="data in scenario.datadisplay track by $index" data={{data.project}} value={{data.installer}} class={{data.value}}>
+ <span class="label label-{{data.label}}">{{data.label_value}}</a></span> {{data.value}}</td>
</tr>
@@ -110,4 +110,4 @@
</div>
</div>
-</section> \ No newline at end of file
+</section>
diff --git a/utils/test/reporting/pages/app/views/commons/testCaseVisual.html b/utils/test/reporting/pages/app/views/commons/testCaseVisual.html
index 74eb56eba..4de4e187f 100644
--- a/utils/test/reporting/pages/app/views/commons/testCaseVisual.html
+++ b/utils/test/reporting/pages/app/views/commons/testCaseVisual.html
@@ -20,7 +20,7 @@
<area shape="rect" coords={{vsperf}} alt="test" href="{{vsperfurl}}" onmouseover="pop(event)" ng-mouseover="myTrigger('vsperf')" />
<area shape="rect" coords={{stor}} alt="test" href="{{storperfurl}}" onmouseover="pop(event)" ng-mouseover="myTrigger('storperf')"/>
<area shape="rect" coords={{qtip}} alt="test" href="{{qtipurl}}" onmouseover="pop(event)" ng-mouseover="myTrigger('qtip')" />
- <area shape="rect" coords={{bootleneck}} alt="test" href="{{bottlenecksurl}}" onmouseover="pop(event)" ng-mouseover="myTrigger('bootlenecks')" />
+ <area shape="rect" coords={{bottlenecks}} alt="test" href="{{bottlenecksurl}}" onmouseover="pop(event)" ng-mouseover="myTrigger('bottlenecks')" />
<area shape="rect" coords={{noPopArea1}} alt="test" onmouseover="pophide(event)" />
<area shape="rect" coords={{noPopArea2}} alt="test" onmouseover="pophide(event)" />
<area shape="rect" coords={{noPopArea3}} alt="test" onmouseover="pophide(event)" />
@@ -124,4 +124,4 @@
$('#popup').hide();
return true;
}
- </script> \ No newline at end of file
+ </script>
diff --git a/utils/test/reporting/pages/config.sh b/utils/test/reporting/pages/config.sh
new file mode 100755
index 000000000..f9bb89ac8
--- /dev/null
+++ b/utils/test/reporting/pages/config.sh
@@ -0,0 +1,3 @@
+: ${SERVER_URL:='testresults.opnfv.org/reporting2'}
+
+echo "{\"url\": \"http://${SERVER_URL}\"}" > dist/config.json