1 import { XmlParser } from './XmlParser';
2 import { ParserFactory } from './ParserFactory';
3 import { FileExtension } from '../TemplateType';
4 import { JinjaXMLParser } from './JinjaXML';
6 fdescribe('ImportsTabComponent', () => {
8 const parserFactory = new ParserFactory();
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">
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>
24 </vlb-business-vnf-onap-plugin>`;
26 const parser = parserFactory.getParser(fileContent, FileExtension.XML);
27 const res = parser.getVariables(fileContent);
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');
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>
43 const parser = parserFactory.getParser(fileContent, FileExtension.Jinja);
44 const res = parser.getVariables(fileContent);
45 console.log(typeof (res));
47 expect(res.length).toEqual(1);
48 expect(res[0]).toEqual('hostname');
52 it('Test J2 YML Parser', () => {
53 const fileContent = `apiVersion: v1
56 name: {{ .Values.vpg_name_0 }}-ssh
58 vnf-name: {{ .Values.vnf_name }}
59 vf-module-name: {{ .Values.vpg_name_0 }}
60 release: {{ .Release.Name }}
61 chart: {{ .Chart.Name }}
66 nodePort: \${vpg-management-port}
68 vf-module-name: {{ .Values.vpg_name_0 }}
69 release: {{ .Release.Name }}
70 chart: {{ .Chart.Name }}`;
72 const parser = parserFactory.getParser(fileContent, FileExtension.Jinja);
73 const res = parser.getVariables(fileContent);
75 expect(res.length).toEqual(2);
76 expect(res[0]).toEqual('vpg_name_0');
77 expect(res[1]).toEqual('vnf_name');
81 it('Test ASCII Parser', () => {
83 config system interface
86 set ip $(subnet1_fgt_ip) 255.255.255.0 #1
87 set allowaccess ping https ssh http fgfm capwap
93 config system dhcp server
95 set dns-service default
96 set default-gateway $(subnet1_fgt_ip) #2
97 set netmask 255.255.255.0
98 set interface "internal"
101 set start-ip $(subnet1_fgt_ip)4,150 #3
102 set end-ip $(subnet1_fgt_ip)4,200 #4
110 const parser = parserFactory.getParser(fileContent, FileExtension.Jinja);
111 const res = parser.getVariables(fileContent);
113 expect(res.length).toEqual(1);
114 expect(res[0]).toEqual('subnet1_fgt_ip');