blob: 76f819c694650181bcd8397eca9470ef63617e6f [file] [log] [blame]
/*-
* ============LICENSE_START=======================================================
* ONAP CLAMP
* ================================================================================
* Copyright (C) 2019 AT&T Intellectual Property. All rights
* reserved.
* ================================================================================
* 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.
* ============LICENSE_END============================================
* ===================================================================
*
*/
import LoopCache from '../api/LoopCache';
const json = require('./LoopCacheMockFile.json');
describe('Verify LoopCache functions', () => {
const loopCache = new LoopCache(json);
it('getLoopName', () => {
expect(loopCache.getLoopName()).toBe("LOOP_Jbv1z_v1_0_ResourceInstanceName1_tca");
});
it('getOperationalPolicies', () => {
const opPolicy = [{
"name": "OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca",
"configurationsJson": {
"operational_policy": {
"controlLoop": {},
"policies": []
}
},
"pdpGroup": "pdpGroupTest",
"pdpSubgroup": "pdpSubgroupTest",
"jsonRepresentation": {
"schema": {}
}
}];
expect(loopCache.getOperationalPolicies()).toStrictEqual(opPolicy);
});
it('getOperationalPoliciesNoJsonSchema', () => {
const opPolicy = [{
"name": "OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca",
"configurationsJson": {
"operational_policy": {
"controlLoop": {},
"policies": []
}
},
"pdpGroup": "pdpGroupTest",
"pdpSubgroup": "pdpSubgroupTest",
}];
expect(loopCache.getOperationalPoliciesNoJsonSchema()).toStrictEqual(opPolicy);
});
it('getOperationalPolicyJsonSchema', () => {
const jsonSchema = {
"schema": {}
};
expect(loopCache.getOperationalPolicyJsonSchema()).toStrictEqual(jsonSchema);
});
it('getGlobalProperties', () => {
const globelProp = {
"dcaeDeployParameters": {
"location_id": "",
"service_id": "",
"policy_id": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca"
}
};
expect(loopCache.getGlobalProperties()).toStrictEqual(globelProp);
});
it('getDcaeDeploymentProperties', () => {
const deploymentProp = {
"location_id": "",
"service_id": "",
"policy_id": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca"
};
expect(loopCache.getDcaeDeploymentProperties()).toStrictEqual(deploymentProp);
});
it('getMicroServiceForName', () => {
const msJson = {
"name": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca",
"modelType": "onap.policies.monitoring.cdap.tca.hi.lo.app",
"configurationsJson": {"domain": "measurementsForVfScaling"},
"shared": false,
"pdpGroup": "pdpGroupTest",
"pdpSubgroup": "pdpSubgroupTest",
"policyModel": {"policyPdpGroup": {"supportedPdpGroups": "supportedPdpGroupsTest"}},
"jsonRepresentation": {"schema": {}}
};
expect(loopCache.getMicroServiceForName("TCA_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual(msJson);
expect(loopCache.getMicroServiceForName("TCA_h2NMX_v1_0_ResourceInstanceName1_tca_2")).toBeNull();
});
it('getMicroServicePropertiesForName', () => {
const msProp = {"domain": "measurementsForVfScaling"};
expect(loopCache.getMicroServicePropertiesForName("TCA_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual(msProp);
expect(loopCache.getMicroServicePropertiesForName("TCA_h2NMX_v1_0_ResourceInstanceName1_tca_2")).toBeNull();
});
it('getMicroServiceJsonRepresentationForName', () => {
const msJsonRepresentation = {"schema": {}};
expect(loopCache.getMicroServiceJsonRepresentationForName("TCA_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual(msJsonRepresentation);
});
it('getResourceDetailsVfProperty', () => {
const resourceVF = {
"vLoadBalancerMS 0": {
"resourceVendor": "Test",
"resourceVendorModelNumber": "",
"name": "vLoadBalancerMS",
"description": "vLBMS",
"invariantUUID": "1a31b9f2-e50d-43b7-89b3-a040250cf506",
"subcategory": "Load Balancer",
"category": "Application L4+",
"type": "VF",
"UUID": "b4c4f3d7-929e-4b6d-a1cd-57e952ddc3e6",
"version": "1.0",
"resourceVendorRelease": "1.0",
"customizationUUID": "465246dc-7748-45f4-a013-308d92922552"
}
};
expect(loopCache.getResourceDetailsVfProperty()).toStrictEqual(resourceVF);
});
it('getResourceDetailsVfModuleProperty', () => {
const vfModule = {
"Vloadbalancerms..vpkg..module-1": {
"vfModuleModelInvariantUUID": "ca052563-eb92-4b5b-ad41-9111768ce043",
"vfModuleModelVersion": "1",
"vfModuleModelName": "Vloadbalancerms..vpkg..module-1",
"vfModuleModelUUID": "1e725ccc-b823-4f67-82b9-4f4367070dbc",
"vfModuleModelCustomizationUUID": "1bffdc31-a37d-4dee-b65c-dde623a76e52",
"min_vf_module_instances": 0,
"vf_module_label": "vpkg",
"max_vf_module_instances": 1,
"vf_module_type": "Expansion",
"isBase": false,
"initial_count": 0,
"volume_group": false
}
};
expect(loopCache.getResourceDetailsVfModuleProperty()).toStrictEqual(vfModule);
});
it('getLoopLogsArray', () => {
const logs = [
{
"id": 1,
"logType": "INFO",
"logComponent": "CLAMP",
"message": "Operational policies UPDATED",
"logInstant": "2019-07-08T09:44:37Z"
}
];
expect(loopCache.getLoopLogsArray()).toStrictEqual(logs);
});
it('getComponentStates', () => {
const component = {
"POLICY": {
"componentState": {
"stateName": "NOT_SENT",
"description": "The policies defined have NOT yet been created on the policy engine"
}
},
"DCAE": {
"componentState": {
"stateName": "BLUEPRINT_DEPLOYED",
"description": "The DCAE blueprint has been found in the DCAE inventory but not yet instancianted for this loop"
}
}
};
expect(loopCache.getComponentStates()).toStrictEqual(component);
});
it('getOperationalPolicyForName', () => {
const opPolicy = {
"name": "OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca",
"configurationsJson": {
"operational_policy": {
"controlLoop": {},
"policies": []
}
},
"pdpGroup": "pdpGroupTest",
"pdpSubgroup": "pdpSubgroupTest",
"jsonRepresentation": {
"schema": {}
}
};
expect(loopCache.getOperationalPolicyForName("OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual(opPolicy);
expect(loopCache.getOperationalPolicyForName("Not_Exist")).toBeNull();
});
it('getOperationalPolicyPropertiesForName', () => {
const opPolicyJson = {
"operational_policy": {
"controlLoop": {},
"policies": []
}};
expect(loopCache.getOperationalPolicyPropertiesForName("OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual(opPolicyJson);
expect(loopCache.getOperationalPolicyPropertiesForName("Not_Exist")).toBeNull();
});
it('getOperationalPolicyJsonRepresentationForName', () => {
const opPolicySchema = {
"schema": {}
};
expect(loopCache.getOperationalPolicyJsonRepresentationForName("OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual(opPolicySchema);
expect(loopCache.getOperationalPolicyJsonRepresentationForName("Not_Exist")).toBeNull();
});
it('getOperationalPolicySupportedPdpGroup', () => {
expect(loopCache.getOperationalPolicySupportedPdpGroup("Not_Exist")).toStrictEqual([]);
});
it('getOperationalPolicyPdpGroup', () => {
expect(loopCache.getOperationalPolicyPdpGroup("OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual("pdpGroupTest");
expect(loopCache.getOperationalPolicyPdpGroup("Not_Exist")).toBeNull();
});
it('getOperationalPolicyPdpSubgroup', () => {
expect(loopCache.getOperationalPolicyPdpSubgroup("OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual("pdpSubgroupTest");
expect(loopCache.getOperationalPolicyPdpSubgroup("Not_Exist")).toBeNull();
});
it('getMicroServiceSupportedPdpGroup', () => {
expect(loopCache.getMicroServiceSupportedPdpGroup("TCA_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual("supportedPdpGroupsTest");
expect(loopCache.getMicroServiceSupportedPdpGroup("Not_Exist")).toStrictEqual([]);
});
it('getMicroServicePdpGroup', () => {
expect(loopCache.getMicroServicePdpGroup("TCA_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual("pdpGroupTest");
expect(loopCache.getMicroServicePdpGroup("Not_Exist")).toBeNull();
});
it('getMicroServicePdpSubgroup', () => {
expect(loopCache.getMicroServicePdpSubgroup("TCA_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual("pdpSubgroupTest");
expect(loopCache.getMicroServicePdpSubgroup("Not_Exist")).toBeNull();
});
it('getMicroServiceJsonRepresentationForName', () => {
const msPolicySchema = {
"schema": {}
};
expect(loopCache.getMicroServiceJsonRepresentationForName("TCA_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual(msPolicySchema);
expect(loopCache.getMicroServiceJsonRepresentationForName("Not_Exist")).toBeNull();
});
it('getTemplateName', () => {
expect(loopCache.getTemplateName()).toStrictEqual("loopTemplateTest");
});
it('updateGlobalProperties', () => {
const newGlobalProps = {
"dcaeDeployParameters": {
"location_id": "newLocation",
"service_id": "newServiceId",
"policy_id": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca_2"
}
};
loopCache.updateGlobalProperties(newGlobalProps);
expect(loopCache.getGlobalProperties()).toStrictEqual(newGlobalProps);
});
it('updateOperationalPolicyProperties', () => {
const newOpPolicy = {
"operational_policy": {
"controlLoop": {},
"policies": []
}
};
loopCache.updateOperationalPolicyProperties("OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca",newOpPolicy);
expect(loopCache.getOperationalPolicyPropertiesForName("OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual(newOpPolicy);
});
it('updateMicroServiceProperties', () => {
const newMsPolicyProperties = {"domain": "measurementsForVfScalingNew"};
loopCache.updateMicroServiceProperties("TCA_h2NMX_v1_0_ResourceInstanceName1_tca", newMsPolicyProperties);
expect(loopCache.getMicroServicePropertiesForName("TCA_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual(newMsPolicyProperties);
});
it('updateMicroServicePdpGroup', () => {
const newMsPolicyProperties = {"domain": "measurementsForVfScalingNew"};
loopCache.updateMicroServicePdpGroup("TCA_h2NMX_v1_0_ResourceInstanceName1_tca", "pdpGroupTest1", "pdpSubgroupTest1");
expect(loopCache.getMicroServicePdpGroup("TCA_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual("pdpGroupTest1");
expect(loopCache.getMicroServicePdpGroup("Not_Exist")).toBeNull();
expect(loopCache.getMicroServicePdpSubgroup("TCA_h2NMX_v1_0_ResourceInstanceName1_tca")).toStrictEqual("pdpSubgroupTest1");
expect(loopCache.getMicroServicePdpSubgroup("Not_Exist")).toBeNull();
});
});