summaryrefslogtreecommitdiffstats
path: root/src/app/shared/services/utilityService
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/shared/services/utilityService')
-rw-r--r--src/app/shared/services/utilityService/utility.service.spec.ts64
-rw-r--r--src/app/shared/services/utilityService/utility.service.ts62
2 files changed, 126 insertions, 0 deletions
diff --git a/src/app/shared/services/utilityService/utility.service.spec.ts b/src/app/shared/services/utilityService/utility.service.spec.ts
new file mode 100644
index 0000000..c11927a
--- /dev/null
+++ b/src/app/shared/services/utilityService/utility.service.spec.ts
@@ -0,0 +1,64 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+ECOMP is a trademark and service mark of AT&T Intellectual Property.
+============LICENSE_END============================================
+*/
+
+
+/* tslint:disable:no-unused-variable */
+
+import {inject, TestBed} from '@angular/core/testing';
+import {UtilityService} from './utility.service';
+import {NotificationsService} from 'angular2-notifications';
+
+describe('UtilityService', () => {
+ beforeEach(() => {
+ TestBed.configureTestingModule({
+ providers: [UtilityService, NotificationsService]
+ });
+ });
+
+ it('should create a service...', inject([UtilityService], (service: UtilityService) => {
+ expect(service).toBeTruthy();
+ }));
+
+
+ it('should apply slashes for a string...', inject([UtilityService], (service: UtilityService) => {
+ let text = {'vnf-host-ip-address': '135.21.166.36'};
+
+ expect(service.appendSlashes(JSON.stringify(text))).toEqual('{\\"vnf-host-ip-address\\":\\"135.21.166.36\\"}');
+ }));
+
+
+ it('should check for status 401', inject([UtilityService], (service: UtilityService) => {
+ let data = {output: {status: {code: 401}}};
+
+ expect(service.checkResult(data)).toBeFalsy();
+ }));
+
+
+ it('should check for status 400', inject([UtilityService], (service: UtilityService) => {
+ let data = {output: {status: {code: 400}}};
+
+ expect(service.checkResult(data)).toBeTruthy();
+ }));
+
+
+});
diff --git a/src/app/shared/services/utilityService/utility.service.ts b/src/app/shared/services/utilityService/utility.service.ts
new file mode 100644
index 0000000..11fa888
--- /dev/null
+++ b/src/app/shared/services/utilityService/utility.service.ts
@@ -0,0 +1,62 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+ECOMP is a trademark and service mark of AT&T Intellectual Property.
+============LICENSE_END============================================
+*/
+
+
+import {Injectable} from '@angular/core';
+import {NotificationsService} from 'angular2-notifications';
+
+@Injectable()
+export class UtilityService {
+
+ private successMessage = 'Retrieved artifact successfully';
+ private failureMessage = 'There is no artifact saved in APPC for the selected action!';
+
+ constructor(private notificationService: NotificationsService) {
+ }
+
+ randomId() {
+ let x = (new Date().getUTCMilliseconds()) * Math.random();
+ return (x + '').substr(4, 12);
+
+
+ }
+
+ appendSlashes(artifactData) {
+ return artifactData.replace(/"/g, '\\"');
+ }
+
+ checkResult(result: any) {
+
+ if (result.output.status.code == '401') {
+ this.notificationService.info('Information', this.failureMessage);
+ return false;
+ }
+ else if (result.output.status.code == '400') {
+ this.notificationService.success('Success', this.successMessage);
+ return true;
+ }
+
+ }
+
+
+}