aboutsummaryrefslogtreecommitdiffstats
path: root/src/app/test/test.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/test/test.component.ts')
-rw-r--r--src/app/test/test.component.ts234
1 files changed, 61 insertions, 173 deletions
diff --git a/src/app/test/test.component.ts b/src/app/test/test.component.ts
index 347bde6..f3f6a94 100644
--- a/src/app/test/test.component.ts
+++ b/src/app/test/test.component.ts
@@ -25,7 +25,6 @@ import { NgxSpinnerService } from 'ngx-spinner';
import { saveAs } from 'file-saver';
import { Location } from '@angular/common';
import { ActivatedRoute, Router } from '@angular/router';
-import { NotificationService } from '.././shared/services/notification.service';
import { ParamShareService } from '.././shared/services/paramShare.service';
import { MappingEditorService } from '.././shared/services/mapping-editor.service';
import { NotificationsService } from 'angular2-notifications';
@@ -62,7 +61,7 @@ export class TestComponent implements OnInit {
vnfcType: any;
protocol: any;
mode: any = 'NORMAL';
- public force = 'TRUE';
+ force: any = 'True';
ttl: any;
public formattedNameValuePairs = {};
public requestId = '';
@@ -88,11 +87,10 @@ export class TestComponent implements OnInit {
public apiRequest = '';
public apiResponse = '';
public statusResponse;
- public appcTimestampResponse;
public outputTimeStamp;
public status;
public statusReason;
- public errorResponse;
+ public errorResponse;
public timer;
public subscribe;
public enableTestButton: boolean = false;
@@ -103,39 +101,30 @@ export class TestComponent implements OnInit {
public enableCounterDiv: boolean = false;
public enableDownload: boolean = false;
private userId = localStorage['userId'];
- timeStampInt: number;
- AppcTimeStampInt: number;
- AppcTimeDiff: number;
- isAppcTimestampReceived: boolean = false;
-
- constructor (private location: Location, private activeRoutes: ActivatedRoute, private notificationService: NotificationService, private nService: NotificationsService, private router: Router, private paramShareService: ParamShareService, private mappingEditorService: MappingEditorService, private httpUtil: HttpUtilService,
- private utiltiy: UtilityService, private ngProgress: NgProgress, private spinner: NgxSpinnerService) {
+ constructor (
+ private location: Location,
+ private activeRoutes: ActivatedRoute,
+ private nService: NotificationsService,
+ private router: Router,
+ private paramShareService: ParamShareService,
+ private mappingEditorService: MappingEditorService,
+ private httpUtil: HttpUtilService,
+ private utiltiy: UtilityService,
+ private ngProgress: NgProgress,
+ private spinner: NgxSpinnerService
+ ) {
}
ngOnInit() {
- let timeStampI = new Date();
- console.log("ngOnInit: local timeStamp:[" + timeStampI + "]");
- let timeStampS = timeStampI.toISOString();
- console.log("ngOnInit: local ISO timestamp:[" + timeStampS + "]");
- //.. send HTTP request to APPC
- this.getAppcTimestamp();
- }
- /*public download() {
- let stringData: any;
- stringData = JSON.stringify(this.paramShareService.getSessionParamData());
- let paramsKeyValueFromEditor: JSON;
- paramsKeyValueFromEditor = JSON.parse(stringData);
- let fileName = 'param_' + this.action + '_' + this.type + '_' + "0.0.1" + 'V';
- this.JSONToCSVConvertor([paramsKeyValueFromEditor], fileName, true);
+ }
- }*/
public download() {
if (this.apiRequest) {
- var fileName = 'test_' + this.action + '_' + this.actionIdentifiers['vnf-id'] + '_request.json';
+ var fileName = 'test_' + this.action + '_' + this.actionIdentifiers['vnf-id'] + '_request';
var theJSON = this.apiRequest;
if (fileName != null || fileName != '') {
var blob = new Blob([theJSON], {
@@ -149,7 +138,7 @@ export class TestComponent implements OnInit {
}
if (this.apiResponse) {
- var fileName = 'test_' + this.action + '_' + this.actionIdentifiers['vnf-id'] + '_response.json';
+ var fileName = 'test_' + this.action + '_' + this.actionIdentifiers['vnf-id'] + '_response';
var theJSON = this.apiResponse;
if (fileName != null || fileName != '') {
var blob = new Blob([theJSON], {
@@ -168,7 +157,6 @@ export class TestComponent implements OnInit {
this.enableTestButton = true;
this.enablePollButton = true;
if (this.subscribe && this.subscribe != undefined) this.subscribe.unsubscribe();
- this.apiResponse="Test has been abandoned and polling stopped";
this.nService.info("Information", "Test has been abandoned and polling stopped");
}
@@ -302,7 +290,7 @@ export class TestComponent implements OnInit {
constructTestPayload(listName2, listName3, key, value) {
- if ((listName2 == undefined || listName2 == '') && (listName3 == undefined || listName3 == '')) {
+ if (listName2 == undefined && listName3 == undefined) {
this.subPayload[key] = value;
}
if (listName2) {
@@ -317,7 +305,7 @@ export class TestComponent implements OnInit {
}
else {
this.vnfcJson[key] = value;
- this.vmJson['vnfc'] = [this.vnfcJson];
+ this.vmJson['vnfc'] = this.vnfcJson;
this.flag = 1;
}
if (this.vmJson) this.lastvmJson = this.vmJson;
@@ -329,22 +317,7 @@ export class TestComponent implements OnInit {
}
constructRequest() {
- this.timeStampInt = Date.now(); //.. milliseconds
- let timeStamp;
- console.log("constructRequest: isAppcTimestampReceived:" +
- (this.isAppcTimestampReceived ? "true" : "false"));
- if (this.isAppcTimestampReceived) {
- console.log("constructRequest: AppcTimeDiff:[" + this.AppcTimeDiff + "]");
- this.timeStampInt += this.AppcTimeDiff;
- timeStamp = new Date(this.timeStampInt).toISOString();
- console.log("constructRequest: got timeStamp from APPC:[" + timeStamp + "]");
- }
- else { //.. still not received
- console.log('constructRequest: Appc Timestamp is not ready (use local)');
- this.timeStampInt -= 100000;
- timeStamp = new Date(this.timeStampInt).toISOString();
- };
- console.log('constructRequest: timeStamp:[' + timeStamp + ']');
+ let timeStamp = new Date().toISOString();
let reqId;
this.requestId = reqId = new Date().getTime().toString();
let data = {
@@ -357,7 +330,7 @@ export class TestComponent implements OnInit {
'sub-request-id': this.requestId,
'flags': {
'mode': 'NORMAL',
- 'force': this.force.toString().toUpperCase(),
+ 'force': 'TRUE',
'ttl': 3600
}
},
@@ -366,15 +339,6 @@ export class TestComponent implements OnInit {
'payload': JSON.stringify(this.payload)
}
};
- if (this.action == 'Unlock') {
- let payload = JSON.parse(data.input['payload']);
- data.input['common-header']['request-id'] = payload['request-id'];
- data.input['common-header']['sub-request-id'] = payload['request-id'];
- }
-
- if(this.action == 'Unlock' || this.action == 'Lock' || this.action == 'CheckLock') {
- delete data.input['payload'];
- }
return data;
}
@@ -384,20 +348,13 @@ export class TestComponent implements OnInit {
this.enableTestButton = false;
this.enablePollButton = false;
this.timer = Observable.interval(10000);
- if(this.action == 'Unlock' || this.action == 'Lock' || this.action == 'CheckLock') {
- this.enablePollButton = true;
- this.enableBrowse = true;
- this.enableTestButton = true;
- this.requestId = '';
- } else {
- this.subscribe = this.timer.subscribe((t) => this.pollTestStatus());
- }
+ this.subscribe = this.timer.subscribe((t) => this.pollTestStatus());
this.ngProgress.start();
this.apiRequest = JSON.stringify(this.constructRequest());
this.httpUtil.post(
{
- url: environment.testVnf + "?urlAction=" + this.getUrlEndPoint(this.action),
+ url: environment.testVnf + "?urlAction=" + this.getUrlEndPoint(this.action.toLowerCase()),
data: this.apiRequest
})
.subscribe(resp => {
@@ -408,11 +365,10 @@ export class TestComponent implements OnInit {
},
error => {
this.nService.error('Error', 'Error in connecting to APPC Server');
- // this.enableBrowse = true;
+ this.enableBrowse = true;
this.enableTestButton = true;
this.enablePollButton = true;
this.enableCounterDiv = false;
- this.enableBrowse = true;
if (this.subscribe && this.subscribe != undefined) this.subscribe.unsubscribe();
});
@@ -422,98 +378,10 @@ export class TestComponent implements OnInit {
}, 3500);
}
- getAppcTimestamp() {
- this.timeStampInt = Date.now(); //.. milliseconds
- console.log("getAppcTimestamp: timeStampInt:[" + this.timeStampInt + "]");
- let timeStampP = new Date(this.timeStampInt).toISOString();
- console.log("getAppcTimestamp: from int timestamp:[" + timeStampP + "]");
- this.isAppcTimestampReceived = false;
- let reqId = new Date().getTime().toString();
- try {
- let data = {
- 'input': {
- 'design-request': {
- 'request-id': reqId,
- 'action': 'getAppcTimestampUTC',
- 'payload': '{}'
- }
- }
- };
- console.log('getAppcTimestamp: sending httpUtil.post...');
- this.httpUtil.post(
- {
- url: environment.getDesigns, data: data
- })
- .subscribe(resp => {
- this.appcTimestampResponse = resp;
- // this.appcTimestampResponse = JSON.stringify(resp);
- console.log('appcTimestampResponse:[' + resp + ']');
- this.parseAppcTimestamp(this.appcTimestampResponse);
- });
- }
- catch (e) {
- this.nService.warn('status',
- 'Error while retrieving APPC Timestamp(using local by default)!');
- }
- }
-
- parseAppcTimestamp(tstampStr: string) {
- //.. parse the response to get timestamp as milliseconds
- // input format: YYYY-MM-DDTHH:mm:ss.sssZ (24 chars)
- var rexp =
- new RegExp(/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.(\d{3})Z/);
- var mresult = rexp.exec(tstampStr);
- if (mresult[0]) {
- console.log("parseAppcTimestamp: response format is OK...");
- var aYearS = mresult[1];
- var aYear = parseInt(aYearS, 10);
- var aMonS = mresult[2];
- var aMon = parseInt(aMonS, 10) - 1;
- var aDayS = mresult[3];
- var aDay = parseInt(aDayS, 10);
- var aHrS = mresult[4];
- var aHr = parseInt(aHrS, 10);
- var aMntS = mresult[5];
- var aMnt = parseInt(aMntS, 10);
- var aSecS = mresult[6];
- var aSec = parseInt(aSecS, 10);
- var aMsecS = mresult[7];
- var aMsec = parseInt(aMsecS, 10);
- this.AppcTimeStampInt =
- Date.UTC(aYear, aMon, aDay, aHr, aMnt, aSec, aMsec);
- console.log(
- "parseAppcTimestamp: AppcTimeStampInt:[" + this.AppcTimeStampInt + "]");
- let timeStampP = new Date(this.AppcTimeStampInt).toISOString();
- console.log("parseAppcTimestamp: from int timestamp:[" + timeStampP + "]");
- //.. AppcTimeDiff - time difference in milliseconds
- this.AppcTimeDiff = this.AppcTimeStampInt - this.timeStampInt;
- console.log("parseAppcTimestamp: AppcTimeDiff:[" + this.AppcTimeDiff + "]");
- this.isAppcTimestampReceived = true;
- }
- else {
- throw new Error(
- 'The received APPC Timestamp is not matching expected format: YYYY-MM-DDTHH:mm:ss.sssZ !');
- }
- }
pollTestStatus() {
if (this.requestId && this.actionIdentifiers['vnf-id']) {
- // console.log("payload==" + JSON.stringify(this.payload))
- this.timeStampInt = Date.now(); //.. milliseconds
- let timeStamp;
- console.log("pollTestStatus: isAppcTimestampReceived:" +
- (this.isAppcTimestampReceived ? "true" : "false"));
- if (this.isAppcTimestampReceived) {
- this.timeStampInt += this.AppcTimeDiff;
- timeStamp = new Date(this.timeStampInt).toISOString();
- console.log("pollTestStatus: got timeStamp from APPC:[" + timeStamp + "]");
- }
- else { //.. still not received
- console.log('pollTestStatus: Appc Timestamp is not ready (use local)');
- this.timeStampInt -= 100000;
- timeStamp = new Date(this.timeStampInt).toISOString();
- };
- console.log("pollTestStatus: timestamp:[" + timeStamp + "]");
+ let timeStamp = new Date().toISOString();
let reqId = new Date().getTime().toString();
let data = {
'input': {
@@ -525,7 +393,7 @@ export class TestComponent implements OnInit {
'sub-request-id': reqId,
'flags': {
'mode': 'NORMAL',
- 'force': this.force.toString().toUpperCase(),
+ 'force': 'TRUE',
'ttl': 3600
}
},
@@ -567,14 +435,10 @@ export class TestComponent implements OnInit {
if (status.toUpperCase() === 'SUCCESS' || status.toUpperCase() === 'SUCCESSFUL') {
if (this.subscribe && this.subscribe != undefined) this.subscribe.unsubscribe();
this.enablePollButton = true;
- this.enableBrowse = true;
- this.enableTestButton = true;
}
if (status.toUpperCase() === 'FAILED') {
if (this.subscribe && this.subscribe != undefined) this.subscribe.unsubscribe();
this.enablePollButton = true;
- this.enableBrowse = true;
- this.enableTestButton = true;
}
}
else {
@@ -592,14 +456,11 @@ export class TestComponent implements OnInit {
this.showStatusResponseDiv = false;
this.errorResponse = 'Error Connecting to APPC server';
this.enableCounterDiv = false;
- this.enableBrowse = true;
- this.enableTestButton = true;
if (this.subscribe && this.subscribe != undefined) {
this.subscribe.unsubscribe();
this.enablePollButton = true;
}
});
-
}
else {
this.nService.error("Error", "Please enter vnf Id & request Id");
@@ -608,16 +469,43 @@ export class TestComponent implements OnInit {
}
getUrlEndPoint(action) {
- let charArray = action.split('');
- let url = '';
- for (let i = 0; i < charArray.length; i++) {
- if (charArray[i] == charArray[i].toUpperCase() && i != 0) {
- url = url + '-';
- }
- url = url + charArray[i];
+ switch (action) {
+ case 'configmodify':
+ return 'config-modify';
+ case 'configbackup':
+ return 'config-backup';
+ case 'configrestore':
+ return 'config-restore';
+ case 'healthcheck':
+ return 'health-check';
+ case 'quiescetraffic':
+ return 'quiesce-traffic';
+ case 'resumetraffic':
+ return 'resume-traffic';
+ case 'distributetraffic':
+ return 'distribute-traffic';
+ case 'startapplication':
+ return 'start-application';
+ case 'stopapplication':
+ return 'stop-application';
+ case 'upgradebackout':
+ return 'upgrade-backout';
+ case 'upgradepostcheck':
+ return 'upgrade-post-check';
+ case 'upgradeprecheck':
+ return 'upgrade-pre-check';
+ case 'upgradesoftware':
+ return 'upgrade-software';
+ case 'upgradebackup':
+ return 'upgrade-backup';
+ case 'attachvolume':
+ return 'attach-volume';
+ case 'detachvolume':
+ return 'detach-volume';
+ default:
+ return action.toLowerCase();
}
- return url.toLowerCase();
}
setValuesOnFileUploadFailure() {