6 from argparse import ArgumentParser
8 from sdcBePy import properties
9 from sdcBePy.common.bColors import BColors
10 from sdcBePy.common.healthCheck import check_backend
11 from sdcBePy.common.properties import init_properties
12 from sdcBePy.common.sdcBeProxy import SdcBeProxy
17 def load_users(conf_path):
18 with open(conf_path, 'r', encoding='utf-8') as f:
22 def be_user_init(be_ip, be_port, header, protocol, conf_path, tls_cert, tls_key, tls_key_pw, ca_cert):
23 sdc_be_proxy = SdcBeProxy(be_ip, be_port, header, protocol, tls_cert, tls_key, tls_key_pw, ca_cert)
24 if check_backend(sdc_be_proxy, properties.retry_attempts):
25 users = load_users(conf_path)
27 if sdc_be_proxy.check_user(user['userId']) != 200:
28 result = sdc_be_proxy.create_user(user['firstName'],
34 print('[INFO]: ' + user['userId'] +
35 ' created, result: [' + str(result) + ']')
37 print('[ERROR]: ' + colors.FAIL + user['userId'] + colors.END_C +
38 ' error creating , result: [' + str(result) + ']')
40 print('[INFO]: ' + user['userId'] + ' already exists')
42 print('[ERROR]: ' + time.strftime('%Y/%m/%d %H:%M:%S') + colors.FAIL
43 + 'Backend is DOWN :-(' + colors.END_C)
44 raise Exception("Cannot communicate with the backend!")
48 parser = ArgumentParser()
50 parser.add_argument('-i', '--ip', required=True)
51 parser.add_argument('-p', '--port', required=True)
52 parser.add_argument('--header')
53 parser.add_argument('--https', action='store_true')
54 path = os.path.dirname(__file__)
55 parser.add_argument('--conf', default=os.path.join(path, 'data', 'users.json'))
56 parser.add_argument('--tls_cert')
57 parser.add_argument('--tls_key')
58 parser.add_argument('--tls_key_pw')
59 parser.add_argument('--ca_cert')
61 args = parser.parse_args()
63 init_properties(10, 10)
64 return [args.ip, args.port, args.header, 'https' if args.https else 'http', args.conf, args.tls_cert, args.tls_key, args.tls_key_pw, args.ca_cert]
68 be_user_init(*get_args())
71 if __name__ == "__main__":