aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/server
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/server')
-rw-r--r--vid-webpack-master/src/app/shared/server/healthStatusService/health-status.service.spec.ts60
-rw-r--r--vid-webpack-master/src/app/shared/server/healthStatusService/health-status.service.ts17
-rw-r--r--vid-webpack-master/src/app/shared/server/serviceInfo/AuditStatus.model.ts10
-rw-r--r--vid-webpack-master/src/app/shared/server/serviceInfo/serviceInfo.model.ts38
-rw-r--r--vid-webpack-master/src/app/shared/server/serviceInfo/serviceInfo.service.spec.ts235
-rw-r--r--vid-webpack-master/src/app/shared/server/serviceInfo/serviceInfo.service.ts38
6 files changed, 398 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/server/healthStatusService/health-status.service.spec.ts b/vid-webpack-master/src/app/shared/server/healthStatusService/health-status.service.spec.ts
new file mode 100644
index 000000000..36f6349e2
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/server/healthStatusService/health-status.service.spec.ts
@@ -0,0 +1,60 @@
+import {TestBed, inject, getTestBed} from '@angular/core/testing';
+
+import { HealthStatusService } from './health-status.service';
+import {Constants} from "../../utils/constants";
+import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing";
+import {ExternalComponentStatus} from "../../models/externalComponentStatus";
+
+describe('HealthStatusService', () => {
+
+ let injector;
+ let service: HealthStatusService;
+ let httpMock: HttpTestingController;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({
+ imports: [HttpClientTestingModule],
+ providers: [HealthStatusService]
+ });
+
+ injector = getTestBed();
+ service = injector.get(HealthStatusService);
+ httpMock = injector.get(HttpTestingController);
+ });
+
+ describe('#getProbe', () =>{
+ it('when call probe, there is http GET with right url', () => {
+
+ service.getProbe().subscribe((result: Array<ExternalComponentStatus>)=>{
+ expect(result[0].component).toEqual("AAI");
+ expect(result[0].available).toBeTruthy();
+ expect(result[0].metadata).toEqual({ myKey: 'myValue' });
+
+ expect(result[1].component).toEqual("MSO");
+ expect(result[1].available).toBeFalsy();
+ expect(result[1].metadata).toEqual({otherKey: 123});
+ });
+
+ const req = httpMock.expectOne(Constants.Path.SERVICES_PROBE_PATH);
+ expect(req.request.method).toEqual('GET');
+ req.flush([
+ {
+ "component": "AAI",
+ "available": true,
+ "metadata": {
+ "myKey": "myValue"
+ }
+ },
+ {
+ "component": "MSO",
+ "available": false,
+ "metadata": {
+ "otherKey": 123
+ }
+ },
+ ]);
+ });
+
+ });
+
+});
diff --git a/vid-webpack-master/src/app/shared/server/healthStatusService/health-status.service.ts b/vid-webpack-master/src/app/shared/server/healthStatusService/health-status.service.ts
new file mode 100644
index 000000000..4305ab97e
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/server/healthStatusService/health-status.service.ts
@@ -0,0 +1,17 @@
+import { Injectable } from '@angular/core';
+import {HttpClient} from "@angular/common/http";
+import {Observable} from "rxjs/Observable";
+import {Constants} from "../../utils/constants";
+import {ExternalComponentStatus} from "../../models/externalComponentStatus";
+
+@Injectable()
+export class HealthStatusService {
+
+ constructor(private _http: HttpClient) {
+ }
+
+ getProbe(): Observable<Array<ExternalComponentStatus>> {
+ let pathQuery = Constants.Path.SERVICES_PROBE_PATH;
+ return this._http.get<Array<ExternalComponentStatus>>(pathQuery).map(res => res);
+ }
+}
diff --git a/vid-webpack-master/src/app/shared/server/serviceInfo/AuditStatus.model.ts b/vid-webpack-master/src/app/shared/server/serviceInfo/AuditStatus.model.ts
new file mode 100644
index 000000000..0b4c70f9d
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/server/serviceInfo/AuditStatus.model.ts
@@ -0,0 +1,10 @@
+export class AuditStatus{
+ id: number;
+ createdDate: number;
+ final: boolean;
+ jobId :string;
+ jobStatus :string;
+ source: string;
+ requestId: string;
+ additionalInfo :any
+}
diff --git a/vid-webpack-master/src/app/shared/server/serviceInfo/serviceInfo.model.ts b/vid-webpack-master/src/app/shared/server/serviceInfo/serviceInfo.model.ts
new file mode 100644
index 000000000..0b4695930
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/server/serviceInfo/serviceInfo.model.ts
@@ -0,0 +1,38 @@
+import {ServiceStatus} from '../../../instantiationStatus/instantiationStatus.component.service';
+
+export class ServiceInfoModel {
+ id: number;
+ created: Date;
+ modified: Date;
+ createdId: number;
+ modifiedId: number;
+ numRow: number;
+ uuid: string;
+ userId: string;
+ jobStatus: string;
+ pause: boolean;
+ owningEntityId: string;
+ owningEntityName: string;
+ project: string;
+ aicZoneId: string;
+ aicZoneName: string;
+ tenantId: string;
+ tenantName: string;
+ regionId: string;
+ regionName: string;
+ serviceType: string;
+ subscriberName: string;
+ serviceInstanceId: string;
+ serviceInstanceName: string;
+ serviceModelId: string;
+ serviceModelName: string;
+ serviceModelVersion: string;
+ templateId: string;
+ auditUserId: string;
+ jobId: string;
+}
+
+export class ServiceInfoUiModel extends ServiceInfoModel{
+ serviceStatus : ServiceStatus;
+ serviceIndex : number;
+}
diff --git a/vid-webpack-master/src/app/shared/server/serviceInfo/serviceInfo.service.spec.ts b/vid-webpack-master/src/app/shared/server/serviceInfo/serviceInfo.service.spec.ts
new file mode 100644
index 000000000..78c1b5ab9
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/server/serviceInfo/serviceInfo.service.spec.ts
@@ -0,0 +1,235 @@
+import {getTestBed, TestBed} from '@angular/core/testing';
+import {HttpClientTestingModule, HttpTestingController} from '@angular/common/http/testing';
+import {ServiceInfoService} from './serviceInfo.service';
+import {ServiceInfoModel} from './serviceInfo.model';
+import {Constants} from "../../utils/constants";
+
+describe('Service Info Service', () => {
+ let injector;
+ let service: ServiceInfoService;
+ let httpMock: HttpTestingController;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({
+ imports: [HttpClientTestingModule],
+ providers: [ServiceInfoService]
+ });
+
+ injector = getTestBed();
+ service = injector.get(ServiceInfoService);
+ httpMock = injector.get(HttpTestingController);
+ });
+
+ describe('#getServicesJobInfo', () => {
+ it('should return an Observable<ServiceInfoModel[]>', () => {
+ const dummyServiceInfo: ServiceInfoModel[] = generateServiceInfoData();
+
+ service.getServicesJobInfo(true).subscribe((serviceInfo:Array<ServiceInfoModel>) => {
+ expect(serviceInfo).toEqual(dummyServiceInfo);
+ });
+ });
+
+
+ });
+
+ describe('#deleteJob', () =>{
+ it('delete job', () => {
+ const jobId : string = "1111";
+
+ service.deleteJob(jobId).subscribe();
+
+ const req = httpMock.expectOne(Constants.Path.SERVICES_JOB_INFO_PATH + '/job/' + jobId);
+ expect(req.request.method).toEqual('DELETE');
+
+ });
+ });
+
+ describe('#hideJob', () =>{
+ it('when call hide job, there is http POST with right url', () => {
+ const jobId : string = "3";
+
+ service.hideJob(jobId).subscribe();
+
+ const req = httpMock.expectOne(Constants.Path.SERVICES_JOB_INFO_PATH + '/hide/' + jobId);
+ expect(req.request.method).toEqual('POST');
+ });
+ });
+
+ describe('#getJobAuditStatus', ()=> {
+ it('should return Observable<Object[]>', ()=>{
+ const jobId : string = '111';
+
+ service.getJobAuditStatus(jobId).subscribe();
+ const req = httpMock.expectOne(Constants.Path.SERVICES_JOB_INFO_PATH + Constants.Path.SERVICES_JOB_AUDIT_PATH + '/' + jobId + '?source=VID');
+ const req2 = httpMock.expectOne(Constants.Path.SERVICES_JOB_INFO_PATH + Constants.Path.SERVICES_JOB_AUDIT_PATH + '/' + jobId + '?source=MSO');
+
+ expect(req.request.method).toEqual('GET');
+ expect(req2.request.method).toEqual('GET');
+ });
+ });
+
+ function generateServiceInfoData(){
+ return <ServiceInfoModel[]>JSON.parse(JSON.stringify(
+ [{
+ "created": 1519956533000,
+ "modified": 1521727738000,
+ "createdId": null,
+ "modifiedId": null,
+ "rowNum": null,
+ "auditUserId": null,
+ "auditTrail": null,
+ "jobId": "6748648484",
+ "userId": "2222",
+ "jobStatus": "FAILED",
+ "pause": false,
+ "owningEntityId": "1234",
+ "owningEntityName": null,
+ "project": null,
+ "aicZoneId": null,
+ "aicZoneName": null,
+ "tenantId": null,
+ "tenantName": null,
+ "regionId": null,
+ "regionName": null,
+ "serviceType": null,
+ "subscriberName": null,
+ "serviceInstanceId": "1",
+ "serviceInstanceName": null,
+ "serviceModelId": null,
+ "serviceModelName": null,
+ "serviceModelVersion": null,
+ "createdBulkDate": 1519956533000,
+ "statusModifiedDate": 1520042933000,
+ "hidden": false
+ },
+ {
+ "created": 1519956533000,
+ "modified": 1521727738000,
+ "createdId": null,
+ "modifiedId": null,
+ "rowNum": null,
+ "auditUserId": null,
+ "auditTrail": null,
+ "jobId": "6748648484",
+ "userId": "2222",
+ "jobStatus": "FAILED",
+ "pause": false,
+ "owningEntityId": "1234",
+ "owningEntityName": null,
+ "project": null,
+ "aicZoneId": null,
+ "aicZoneName": null,
+ "tenantId": null,
+ "tenantName": null,
+ "regionId": null,
+ "regionName": null,
+ "serviceType": null,
+ "subscriberName": null,
+ "serviceInstanceId": "1",
+ "serviceInstanceName": null,
+ "serviceModelId": null,
+ "serviceModelName": null,
+ "serviceModelVersion": null,
+ "createdBulkDate": 1519956533000,
+ "statusModifiedDate": 1520042933000,
+ "hidden": false
+ },
+ {
+ "created": 1519956533000,
+ "modified": 1521727738000,
+ "createdId": null,
+ "modifiedId": null,
+ "rowNum": null,
+ "auditUserId": null,
+ "auditTrail": null,
+ "jobId": "6748648484",
+ "userId": "2222",
+ "jobStatus": "FAILED",
+ "pause": false,
+ "owningEntityId": "1234",
+ "owningEntityName": null,
+ "project": null,
+ "aicZoneId": null,
+ "aicZoneName": null,
+ "tenantId": null,
+ "tenantName": null,
+ "regionId": null,
+ "regionName": null,
+ "serviceType": null,
+ "subscriberName": null,
+ "serviceInstanceId": "2",
+ "serviceInstanceName": null,
+ "serviceModelId": null,
+ "serviceModelName": null,
+ "serviceModelVersion": null,
+ "createdBulkDate": 1519956533000,
+ "statusModifiedDate": 1520042933000,
+ "hidden": false
+ },
+ {
+ "created": 1519956533000,
+ "modified": 1521727738000,
+ "createdId": null,
+ "modifiedId": null,
+ "rowNum": null,
+ "auditUserId": null,
+ "auditTrail": null,
+ "jobId": "6748648484",
+ "userId": "2222",
+ "jobStatus": "FAILED",
+ "pause": false,
+ "owningEntityId": "1234",
+ "owningEntityName": null,
+ "project": null,
+ "aicZoneId": null,
+ "aicZoneName": null,
+ "tenantId": null,
+ "tenantName": null,
+ "regionId": null,
+ "regionName": null,
+ "serviceType": null,
+ "subscriberName": null,
+ "serviceInstanceId": "2",
+ "serviceInstanceName": null,
+ "serviceModelId": null,
+ "serviceModelName": null,
+ "serviceModelVersion": null,
+ "createdBulkDate": 1519956533000,
+ "statusModifiedDate": 1520042933000,
+ "hidden": false
+ },
+ {
+ "created": 1519956533000,
+ "modified": 1521727738000,
+ "createdId": null,
+ "modifiedId": null,
+ "rowNum": null,
+ "auditUserId": null,
+ "auditTrail": null,
+ "jobId": "6748648484",
+ "userId": "2222",
+ "jobStatus": "FAILED",
+ "pause": false,
+ "owningEntityId": "1234",
+ "owningEntityName": null,
+ "project": null,
+ "aicZoneId": null,
+ "aicZoneName": null,
+ "tenantId": null,
+ "tenantName": null,
+ "regionId": null,
+ "regionName": null,
+ "serviceType": null,
+ "subscriberName": null,
+ "serviceInstanceId": "3",
+ "serviceInstanceName": null,
+ "serviceModelId": null,
+ "serviceModelName": null,
+ "serviceModelVersion": null,
+ "createdBulkDate": 1519956533000,
+ "statusModifiedDate": 1520042933000,
+ "hidden": false
+ }]
+ ));
+ }
+});
diff --git a/vid-webpack-master/src/app/shared/server/serviceInfo/serviceInfo.service.ts b/vid-webpack-master/src/app/shared/server/serviceInfo/serviceInfo.service.ts
new file mode 100644
index 000000000..e0057bb4d
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/server/serviceInfo/serviceInfo.service.ts
@@ -0,0 +1,38 @@
+import {Injectable} from '@angular/core';
+import {Observable} from 'rxjs/Observable';
+import {ServiceInfoModel} from './serviceInfo.model';
+import {HttpClient} from '@angular/common/http';
+import 'rxjs/add/operator/map'
+import {Constants} from '../../utils/constants';
+import {forkJoin} from "rxjs/observable/forkJoin";
+
+@Injectable()
+export class ServiceInfoService {
+ constructor(private _http: HttpClient) {
+ }
+
+ getServicesJobInfo(filterByUser : boolean): Observable<ServiceInfoModel[]> {
+ let pathQuery = Constants.Path.SERVICES_JOB_INFO_PATH;
+ return this._http.get<ServiceInfoModel[]>(pathQuery).map(res => res );
+ }
+
+ deleteJob(jobId: string): Observable<any> {
+ let pathQuery = Constants.Path.SERVICES_JOB_INFO_PATH + '/job/' + jobId;
+ return this._http.delete<any>(pathQuery).map(res => res);
+ }
+
+ hideJob(jobId: string): Observable<any> {
+ let pathQuery = Constants.Path.SERVICES_JOB_INFO_PATH + '/hide/' + jobId;
+ return this._http.post<any>(pathQuery, null).map(res => res);
+ }
+
+ getJobAuditStatus(jobId : string) : Observable<Object[]>{
+ let pathQueryVID = Constants.Path.SERVICES_JOB_INFO_PATH + Constants.Path.SERVICES_JOB_AUDIT_PATH + '/' + jobId + '?source=VID';
+ let pathQueryMSO = Constants.Path.SERVICES_JOB_INFO_PATH + Constants.Path.SERVICES_JOB_AUDIT_PATH + '/' + jobId + '?source=MSO';
+
+ let vidObs = this._http.get(pathQueryVID);
+ let msoObs = this._http.get(pathQueryMSO);
+ return forkJoin([vidObs, msoObs]);
+ }
+
+}