diff options
author | andre.schmid <andre.schmid@est.tech> | 2021-04-15 18:47:55 +0100 |
---|---|---|
committer | André Schmid <andre.schmid@est.tech> | 2021-04-20 10:30:55 +0000 |
commit | 39b533344f0a86401f5c41025cfdcf3139934569 (patch) | |
tree | 2a6b48a5368525aaf0d167c43afade6a5c532f30 /catalog-ui/src/app/ng2/services | |
parent | cd12a2ac6ddc43493c4ba0685dfc75f11bf2aa6b (diff) |
Fix VSP update for checked-in resources
Checkout the VF (if checked-in) related to the VSP before loading the VF
workspace.
Change-Id: I9576fd5b429fdae2ac00de5bfbd38e183b93be59
Issue-ID: SDC-3560
Signed-off-by: André Schmid <andre.schmid@est.tech>
Diffstat (limited to 'catalog-ui/src/app/ng2/services')
-rw-r--r-- | catalog-ui/src/app/ng2/services/component-services/resource.service.spec.ts | 48 | ||||
-rw-r--r-- | catalog-ui/src/app/ng2/services/component-services/resource.service.ts | 29 |
2 files changed, 68 insertions, 9 deletions
diff --git a/catalog-ui/src/app/ng2/services/component-services/resource.service.spec.ts b/catalog-ui/src/app/ng2/services/component-services/resource.service.spec.ts new file mode 100644 index 0000000000..062797bea6 --- /dev/null +++ b/catalog-ui/src/app/ng2/services/component-services/resource.service.spec.ts @@ -0,0 +1,48 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2021 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +import {inject, TestBed} from '@angular/core/testing'; + +import {ResourceServiceNg2} from "./resource.service"; +import {HttpClient} from "@angular/common/http"; +import {ISdcConfig, SdcConfigToken} from "../../config/sdc-config.config"; + +describe('ResourceServiceNg2', () => { + beforeEach(() => { + const sdcConfigToken: Partial<ISdcConfig> = { + 'api': { + 'root': 'testRoot', + 'component_api_root': 'testApiRoot', + } + }; + let httpServiceMock: Partial<HttpClient> = { + get: jest.fn() + }; + TestBed.configureTestingModule({ + providers: [ResourceServiceNg2, + {provide: SdcConfigToken, useValue: sdcConfigToken}, + {provide: HttpClient, useValue: httpServiceMock} + ] + }); + }); + + it('should be created', inject([ResourceServiceNg2], (service: ResourceServiceNg2) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/catalog-ui/src/app/ng2/services/component-services/resource.service.ts b/catalog-ui/src/app/ng2/services/component-services/resource.service.ts index d20f5415bc..2f84418e9e 100644 --- a/catalog-ui/src/app/ng2/services/component-services/resource.service.ts +++ b/catalog-ui/src/app/ng2/services/component-services/resource.service.ts @@ -18,21 +18,32 @@ * ============LICENSE_END========================================================= */ -import { Injectable } from '@angular/core'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/toPromise'; -import { HttpClient } from '@angular/common/http'; +import {Inject, Injectable} from '@angular/core'; +import {HttpClient} from '@angular/common/http'; +import {ISdcConfig, SdcConfigToken} from "../../config/sdc-config.config"; +import {Observable} from "rxjs/Observable"; +import {ComponentMetadata} from "../../../models/component-metadata"; +import {ComponentLifecycleState} from "../../../models/component-lifecycle-state.enum"; @Injectable() export class ResourceServiceNg2 { - protected baseUrl = ""; - - constructor(private http: HttpClient) { - - } + private readonly baseUrl: string; + constructor(protected http: HttpClient, @Inject(SdcConfigToken) sdcConfig: ISdcConfig) { + this.baseUrl = sdcConfig.api.root + sdcConfig.api.component_api_root; + } + public checkout(componentUniqueId: string): Observable<ComponentMetadata> { + return this.changeLifecycleState(componentUniqueId, ComponentLifecycleState.CHECKOUT); + } + private changeLifecycleState(componentUniqueId: string, state: ComponentLifecycleState): Observable<ComponentMetadata> { + const url: string = this.baseUrl + 'resources/' + componentUniqueId + '/lifecycleState/' + state; + return this.http.post<ComponentMetadata>(url, {}).map(value => { + return value; + } + ); + } } |