aboutsummaryrefslogtreecommitdiffstats
path: root/gui-clamp/ui-react/src/components/dialogs/Policy/PolicyEditor.test.js
blob: 5e63ab4db8718aa6c4f951992c12b9b23d54d46f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*-
 * ============LICENSE_START=======================================================
 * ONAP POLICY-CLAMP
 * ================================================================================
 * Copyright (C) 2021 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 React from 'react';
import PolicyEditor from './PolicyEditor';
import { shallow, mount } from 'enzyme';
import PolicyToscaService from '../../../api/PolicyToscaService';

describe('Verify PolicyEditor', () => {
  const fs = require('fs');

  let toscaJson = fs.readFileSync('src/components/dialogs/Policy/toscaData.test.json', { encoding: 'utf8', flag: 'r' })

  const policyProperties = {
    "tca.policy": {
      "domain": "measurementsForVfScaling",
      "metricsPerEventName": [
        {
          "policyScope": "DCAE",
          "thresholds": [
            {
              "version": "1.0.2",
              "severity": "MAJOR",
              "thresholdValue": 200,
              "closedLoopEventStatus": "ONSET",
              "closedLoopControlName": "LOOP_test",
              "direction": "LESS_OR_EQUAL",
              "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta"
            }
          ],
          "eventName": "vLoadBalancer",
          "policyVersion": "v0.0.1",
          "controlLoopSchemaType": "VM",
          "policyName": "DCAE.Config_tca-hi-lo"
        }
      ]
    }
  };

  it('Test the render method', async () => {
    PolicyToscaService.getToscaPolicyModel = jest.fn().mockImplementation(() => {
      return Promise.resolve(toscaJson);
    });

    const component = mount(<PolicyEditor policyModelType="onap.policies.monitoring.tcagen2" policyModelTypeVersion="1.0.0"
                                          policyName="org.onap.new" policyVersion="1.0.0" policyProperties={ policyProperties }
                                          policiesTableUpdateFunction={ () => {
                                          } }/>);
    await PolicyToscaService.getToscaPolicyModel();
    expect(component).toMatchSnapshot();
  });
});