blob: 2578d7b2d922f4a602dd4f418cdcd5bb92fccb9b [file] [log] [blame]
import {getTestBed, TestBed} from '@angular/core/testing';
import {HttpClientTestingModule, HttpTestingController} from '@angular/common/http/testing';
import {NgRedux} from "@angular-redux/store";
import {ActivatedRouteSnapshot, convertToParamMap} from "@angular/router";
import {AppState} from "../../store/reducers";
import {RetryResolver} from "./retry.resolver";
import {AaiService} from "../../services/aaiService/aai.service";
import {FeatureFlagsService} from "../../services/featureFlag/feature-flags.service";
import {Observable, of} from "rxjs";
class MockAppStore<T> {
getState() {
return {
global:{
drawingBoardStatus: "VIEW"
},
service: {
serviceInstance: {}
}
}
}
dispatch(){
}
}
describe('View Edit resolver', () => {
let injector;
let aaiService: AaiService;
let resolver: RetryResolver;
let httpMock: HttpTestingController;
let store : NgRedux<AppState>;
let activatedRouteSnapshot: ActivatedRouteSnapshot;
beforeAll(done => (async () => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [
FeatureFlagsService,
RetryResolver,
AaiService,
{provide: NgRedux, useClass: MockAppStore},
{
provide: ActivatedRouteSnapshot, useValue: {
queryParamMap:
convertToParamMap({
serviceModelId: 'serviceModelId',
subscriberId: 'subscriberId',
serviceType: 'serviceType',
serviceInstanceId : 'serviceInstanceId',
jobId : 'jobId'
})
},
}
]
});
await TestBed.compileComponents();
injector = getTestBed();
aaiService = injector.get(AaiService);
resolver = injector.get(RetryResolver);
httpMock = injector.get(HttpTestingController);
activatedRouteSnapshot = injector.get(ActivatedRouteSnapshot);
store = injector.get(NgRedux)
})().then(done).catch(done.fail));
test("should call get all parameter's from url", () => {
expect(activatedRouteSnapshot.queryParamMap.get("serviceModelId")).toBe('serviceModelId');
expect(activatedRouteSnapshot.queryParamMap.get("subscriberId")).toBe('subscriberId');
expect(activatedRouteSnapshot.queryParamMap.get("serviceType")).toBe('serviceType');
expect(activatedRouteSnapshot.queryParamMap.get("serviceInstanceId")).toBe('serviceInstanceId');
expect(activatedRouteSnapshot.queryParamMap.get("jobId")).toBe('jobId');
});
test("should return retry topology", () => {
jest.spyOn(aaiService, 'getServiceModelById').mockReturnValue(of({}));
jest.spyOn(aaiService, 'retrieveAndStoreServiceInstanceTopology').mockReturnValue(of({
"vnfs": {
"2017-388_ADIOD-vPE 0": {
"vfModules": {},
"uuid": "afacccf6-397d-45d6-b5ae-94c39734b168",
"productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89",
"lcpCloudRegionId": "JANET25",
"tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
"lineOfBusiness": "ONAP",
"platformName": "platform",
"modelInfo": {
"modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
"modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168",
"modelName": "2017-388_ADIOD-vPE",
"modelVersion": "4.0",
"modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
"modelCustomizationName": "2017-388_ADIOD-vPE 0",
"uuid": "afacccf6-397d-45d6-b5ae-94c39734b168"
},
"instanceName": "2017388_ADIODvPEmCaNkinstanceName",
"legacyRegion": "some legacy region"
},
"2017-488_ADIOD-vPE 0": {
"vfModules": {
"2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": {
"2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0uvfot": {
"instanceName": "VFinstancenameZERO",
"modelInfo": {
"modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091",
"modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db",
"modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0",
"modelVersion": "5",
"modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
"modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0",
"uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db"
},
"uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
"provStatus": "Prov Status",
"orchStatus": "Active",
"inMaint": true
}
},
"2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": {
"2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1fshmc": {
"instanceName": "VFinstancename",
"volumeGroupName": "VFinstancename_vol_abc",
"orchStatus": "Create",
"provStatus": "Prov Status",
"inMaint": false,
"modelInfo": {
"modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
"modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5",
"modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
"modelVersion": "6",
"modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
"modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
"uuid": "25284168-24bb-4698-8cb4-3f509146eca5"
},
"uuid": "25284168-24bb-4698-8cb4-3f509146eca5"
}
}
},
"uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
"productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89",
"lcpCloudRegionId": "JANET25",
"tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
"lineOfBusiness": "ONAP",
"platformName": "platform",
"modelInfo": {
"modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
"modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
"modelName": "2017-488_ADIOD-vPE",
"modelVersion": "5.0",
"modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45",
"modelCustomizationName": "2017-488_ADIOD-vPE 0",
"uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09"
},
"orchStatus": "Created",
"inMaint": false,
"instanceName": "2017488_ADIODvPEVNFinstancename",
"legacyRegion": "some legacy region"
},
"2017-488_ADIOD-vPE 0:0001": {
"vfModules": {
"2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": {
"2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0uvfot": {
"instanceName": "VFinstancenameZERO_001",
"provStatus": "Prov Status",
"inMaint": true,
"modelInfo": {
"modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091",
"modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db",
"modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0",
"modelVersion": "5",
"modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
"modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0",
"uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db"
},
"uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db"
}
},
"2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": {
"2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1fshmc": {
"instanceName": "VFinstancename_001",
"volumeGroupName": "VFinstancename_vol_abc_001",
"modelInfo": {
"modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
"modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5",
"modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
"modelVersion": "6",
"modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
"modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
"uuid": "25284168-24bb-4698-8cb4-3f509146eca5"
},
"uuid": "25284168-24bb-4698-8cb4-3f509146eca5"
}
}
},
"uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
"productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89",
"lcpCloudRegionId": "JANET25",
"tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
"lineOfBusiness": "ONAP",
"platformName": "platform",
"modelInfo": {
"modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
"modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
"modelName": "2017-488_ADIOD-vPE",
"modelVersion": "5.0",
"modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45",
"modelCustomizationName": "2017-488_ADIOD-vPE 0",
"uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09"
},
"instanceName": "2017488_ADIODvPEVNFinstancename_001",
"legacyRegion": "some legacy region"
},
"2017-488_ADIOD-vPE 0:0002": {
"vfModules": {
"2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": {
"2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0uvfot": {
"instanceName": "VFinstancenameZERO_002",
"modelInfo": {
"modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091",
"modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db",
"modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0",
"modelVersion": "5",
"modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
"modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0",
"uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db"
},
"uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db"
}
},
"2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": {
"2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1fshmc": {
"instanceName": "VFinstancename_002",
"volumeGroupName": "VFinstancename_vol_abc_002",
"modelInfo": {
"modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
"modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5",
"modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
"modelVersion": "6",
"modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
"modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1",
"uuid": "25284168-24bb-4698-8cb4-3f509146eca5"
},
"uuid": "25284168-24bb-4698-8cb4-3f509146eca5"
}
}
},
"uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
"productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89",
"lcpCloudRegionId": "JANET25",
"tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
"lineOfBusiness": "ONAP",
"platformName": "platform",
"modelInfo": {
"modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
"modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
"modelName": "2017-488_ADIOD-vPE",
"modelVersion": "5.0",
"modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45",
"modelCustomizationName": "2017-488_ADIOD-vPE 0",
"uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09"
},
"instanceName": "2017488_ADIODvPEVNFinstancename_002",
"legacyRegion": "some legacy region"
}
},
"vnfGroups": {},
"existingVnfGroupCounterMap": {},
"validationCounter": 0,
"existingVNFCounterMap": {
"afacccf6-397d-45d6-b5ae-94c39734b168": 1,
"69e09f68-8b63-4cc9-b9ff-860960b5db09": 3
},
"existingNetworksCounterMap": {},
"instanceName": "mCaNkinstancename",
"globalSubscriberId": "e433710f-9217-458d-a79d-1c7aff376d89",
"subscriptionServiceType": "TYLER SILVIA",
"owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc",
"productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89",
"lcpCloudRegionId": "hvf6",
"tenantId": "bae71557c5bb4d5aac6743a4e5f1d054",
"aicZoneId": "NFT1",
"projectName": "WATKINS",
"rollbackOnFailure": "true",
"aicZoneName": "NFTJSSSS-NFT1",
"owningEntityName": "WayneHolland",
"tenantName": "AIN Web Tool-15-D-testalexandria",
"modelInfo": {
"modelInvariantId": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0",
"modelVersionId": "6b528779-44a3-4472-bdff-9cd15ec93450",
"modelName": "action-data",
"modelVersion": "1.0",
"uuid": "6b528779-44a3-4472-bdff-9cd15ec93450"
},
"isALaCarte": false,
"orchStatus": "Active",
"modelInavariantId": "6b528779-44a3-4472-bdff-9cd15ec93450"
}));
});
});