aab37c7220febabea4f6e89d361845d7b5d5fbe1
[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
81     it('Test ASCII Parser', () => {
82         const fileContent = `
83         config system interface
84         edit "internal"
85         set vdom "root"
86         set ip $(subnet1_fgt_ip) 255.255.255.0 #1
87         set allowaccess ping https ssh http fgfm capwap
88         set type hard-switch
89         set stp enable
90         set role lan
91         next
92         end
93         config system dhcp server
94         edit 1
95         set dns-service default
96         set default-gateway $(subnet1_fgt_ip) #2
97         set netmask 255.255.255.0
98         set interface "internal"
99         config ip-range
100         edit 1
101         set start-ip $(subnet1_fgt_ip)4,150 #3
102         set end-ip $(subnet1_fgt_ip)4,200 #4
103         next
104         end
105         next
106         end
107         Options
108         `;
109
110         const parser = parserFactory.getParser(fileContent, FileExtension.Jinja);
111         const res = parser.getVariables(fileContent);
112         console.log(res);
113         expect(res.length).toEqual(1);
114         expect(res[0]).toEqual('subnet1_fgt_ip');
115
116
117     });
118 });