aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/server/healthStatusService
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/server/healthStatusService')
-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
2 files changed, 77 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);
+ }
+}