merge from ecomp a88f0072 - Modern UI
Issue-ID: VID-378
Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6
Signed-off-by: Ittay Stern <ittay.stern@att.com>
diff --git a/vid-webpack-master/src/app/shared/services/msoService/mso.service.spec.ts b/vid-webpack-master/src/app/shared/services/msoService/mso.service.spec.ts
new file mode 100644
index 0000000..9142e8d
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/services/msoService/mso.service.spec.ts
@@ -0,0 +1,37 @@
+import {getTestBed, TestBed} from '@angular/core/testing';
+import {HttpClientTestingModule, HttpTestingController} from '@angular/common/http/testing';
+import {MsoService} from './mso.service';
+import {Constants} from "../../utils/constants";
+
+
+describe('Mso Service', () => {
+ let injector;
+ let service: MsoService;
+ let httpMock: HttpTestingController;
+
+ beforeAll(done => (async () => {
+ TestBed.configureTestingModule({
+ imports: [HttpClientTestingModule],
+ providers: [MsoService]
+ });
+ await TestBed.compileComponents();
+
+
+ injector = getTestBed();
+ service = injector.get(MsoService);
+ httpMock = injector.get(HttpTestingController);
+
+ })().then(done).catch(done.fail));
+
+ describe('#instantiation status tests ', ()=> {
+ test('retry should send the right request', ()=>{
+ const jobId: string = '111';
+
+ service.retryMsoTask(jobId).subscribe();
+ const req = httpMock.expectOne(Constants.Path.SERVICES_JOB_INFO_PATH + '/retry/' + jobId);
+
+ expect(req.request.method).toBe('POST');
+ });
+ });
+
+});
diff --git a/vid-webpack-master/src/app/shared/services/msoService/mso.service.ts b/vid-webpack-master/src/app/shared/services/msoService/mso.service.ts
new file mode 100644
index 0000000..7d31c6f
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/services/msoService/mso.service.ts
@@ -0,0 +1,38 @@
+import {Injectable} from "@angular/core";
+import {HttpClient} from "@angular/common/http";
+import {Observable} from "rxjs";
+import {Constants} from "../../utils/constants";
+import {ServiceInstance} from "../../models/serviceInstance";
+
+@Injectable()
+export class MsoService {
+ httpClient: HttpClient;
+
+ constructor(http: HttpClient) {
+ this.httpClient = http;
+ }
+
+
+ public submitMsoTask(instanceFields): Observable<any> {
+ let path = Constants.Path.SERVICES_JOB_INFO_PATH + '/bulk';
+ return this.httpClient.post(path, instanceFields);
+ }
+
+ public retryMsoTask(jobId: string): Observable<any> {
+ let pathQuery = Constants.Path.SERVICES_JOB_INFO_PATH + '/retry/' + jobId;
+ return this.httpClient.post<any>(pathQuery, null);
+ }
+
+ public retryBulkMsoTask(jobId: string, instanceFields: ServiceInstance): Observable<any> {
+ let pathQuery = Constants.Path.SERVICES_JOB_INFO_PATH + '/retryJobWithChangedData/'+ jobId;
+ return this.httpClient.post<any>(pathQuery, instanceFields);
+ }
+
+ public createVnf(requestDetails, serviceInstanceId): Observable<any> {
+ let pathQuery: string = Constants.Path.MSO_CREATE_VNF_INSTANCE + serviceInstanceId;
+
+ return this.httpClient.post( pathQuery, {
+ requestDetails : requestDetails
+ });
+ }
+}