Further updates to the auto-test environment
[nonrtric.git] / test / common / create_rics_json.py
1 #  ============LICENSE_START===============================================
2 #  Copyright (C) 2020 Nordix Foundation. All rights reserved.
3 #  ========================================================================
4 #  Licensed under the Apache License, Version 2.0 (the "License");
5 #  you may not use this file except in compliance with the License.
6 #  You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #  Unless required by applicable law or agreed to in writing, software
11 #  distributed under the License is distributed on an "AS IS" BASIS,
12 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #  See the License for the specific language governing permissions and
14 #  limitations under the License.
15 #  ============LICENSE_END=================================================
16 #
17
18 import os
19 import json
20 import sys
21 import re
22
23
24
25 #Create a ric info json, example input: ricsim_g1_1:kista_ricsim_g1_1,stockholm_ricsim_g1_1:1,2,4 ricsim_g1_2:kista_ricsim_g1_2,stockholm_ricsim_g1_2:2
26 #Format of string <ric-id>:<comma-separated-list-of-me's>:<comma-separated-list-of-policy-type-ids>
27 #To indicate that no types exist, use 'NOTYPE'. Ex. ricsim_g1_1:kista_ricsim_g1_1,stockholm_ricsim_g1_1:NOTYPE
28 #To indicate that special STD zero length name type, use 'EMPTYTYPE'. Ex. ricsim_g1_1:kista_ricsim_g1_1,stockholm_ricsim_g1_1:EMPTYTYPE
29 #Save in indicated file
30
31 try:
32     file_name = sys.argv[1]
33     ric_string = sys.argv[2]
34     ric_string=ric_string.strip()
35     ric_string = re.sub(' +',' ',ric_string)
36     ric_arr=[]
37     rics=ric_string.split(' ')
38     for i in range(len(rics)):
39         ricDict={}
40         items=rics[i].split(':')
41         ricDict['ricName']=items[0]
42         ricDict['managedElementIds']=items[1].split(',')
43         if (items[2] == "EMPTYTYPE"):
44             empty_arr=[]
45             empty_arr.append("")
46             ricDict['policyTypes']=empty_arr
47         elif (items[2] == "NOTYPE"):
48             empty_arr=[]
49             ricDict['policyTypes']=empty_arr
50         else:
51             ricDict['policyTypes']=items[2].split(',')
52         ricDict['state']=items[3]
53         ric_arr.append(ricDict)
54
55     with open(file_name, 'w') as f:
56         json.dump(ric_arr, f)
57
58     print(0)
59
60 except Exception as e:
61     print(str(e))
62     print(1)
63 sys.exit()