d9c4c2b4acd52f22aca1dcaa8e15d5f22453a122
[ccsdk/cds.git] /
1 import { XmlParser } from './XmlParser';
2 import { ParserFactory } from './ParserFactory';
3 import { FileExtension } from '../TemplateType';
4 import { JinjaXMLParser } from './JinjaXML';
5
6 fdescribe('ImportsTabComponent', () => {
7
8     const parserFactory = new ParserFactory();
9
10
11     beforeEach(() => {
12     });
13
14     it('Test xml Parser', () => {
15         const fileContent = `<vlb-business-vnf-onap-plugin xmlns="urn:opendaylight:params:xml:ns:yang:vlb-business-vnf-onap-plugin">
16         <vdns-instances>
17             <vdns-instance>
18                 <ip-addr>$vdns_int_private_ip_0</ip-addr>
19                 <oam-ip-addr>$vdns_onap_private_ip_0</oam-ip-addr>
20                 <enabled>false</enabled>
21                 <tag>dddd</tag>
22             </vdns-instance>
23         </vdns-instances>
24     </vlb-business-vnf-onap-plugin>`;
25
26         const parser = parserFactory.getParser(fileContent, FileExtension.XML);
27         const res = parser.getVariables(fileContent);
28         console.log(res);
29         expect(res.length).toEqual(2);
30         expect(res[0]).toEqual('vdns_int_private_ip_0');
31         expect(res[1]).toEqual('vdns_onap_private_ip_0');
32     });
33
34     it('Test J2 XML Parser', () => {
35         const fileContent = `<?xml version="1.0" encoding="UTF-8"?>
36         <configuration xmlns:junos="http://xml.juniper.net/junos/17.4R1/junos">
37         <system xmlns="http://yang.juniper.net/junos-qfx/conf/system">
38         <host-name operation="delete" />
39         <host-name operation="create">[hostname]</host-name>
40         </system>
41         </configuration>`;
42
43         const parser = parserFactory.getParser(fileContent, FileExtension.Jinja);
44         const res = parser.getVariables(fileContent);
45         console.log(typeof (res));
46         console.log(res);
47         expect(res.length).toEqual(1);
48         expect(res[0]).toEqual('hostname');
49
50     });
51
52     it('Test J2 YML Parser', () => {
53         const fileContent = `apiVersion: v1
54         kind: Service
55         metadata:
56         name: {{ .Values.vpg_name_0 }}-ssh
57         labels:
58         vnf-name: {{ .Values.vnf_name }}
59         vf-module-name: {{ .Values.vpg_name_0 }}
60         release: {{ .Release.Name }}
61         chart: {{ .Chart.Name }}
62         spec:
63         type: NodePort
64         ports:
65         port: 22
66         nodePort: \${vpg-management-port}
67         selector:
68         vf-module-name: {{ .Values.vpg_name_0 }}
69         release: {{ .Release.Name }}
70         chart: {{ .Chart.Name }}`;
71
72         const parser = parserFactory.getParser(fileContent, FileExtension.Jinja);
73         const res = parser.getVariables(fileContent);
74         console.log(res);
75         expect(res.length).toEqual(2);
76         expect(res[0]).toEqual('vpg_name_0');
77         expect(res[1]).toEqual('vnf_name');
78
79     });
80 });