mirror of
https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
synced 2025-11-01 03:07:56 +00:00
- create_chamberview_dut.py to create a dut - cv_dut_profile.py as library to create a dut - cv test manager can be used to implement chamber view also Signed-off-by: SushantBawiskar <sushant.bawiskar@candelatech.com>
142 lines
5.4 KiB
Python
142 lines
5.4 KiB
Python
import sys
|
|
import os
|
|
import argparse
|
|
import time
|
|
import re
|
|
|
|
if sys.version_info[0] != 3:
|
|
print("This script requires Python 3")
|
|
exit(1)
|
|
|
|
if 'py-json' not in sys.path:
|
|
sys.path.append(os.path.join(os.path.abspath('..'), 'py-json'))
|
|
|
|
from cv_dut_profile import cv_dut as dut
|
|
from cv_test_manager import cv_test as cvtest
|
|
|
|
class DUT(dut):
|
|
def __init__(self,
|
|
lfmgr="localhost",
|
|
port="8080",
|
|
dut_name="DUT",
|
|
ssid=[],
|
|
password=[],
|
|
bssid=[],
|
|
security=[]
|
|
):
|
|
super().__init__(
|
|
lfclient_host=lfmgr,
|
|
lfclient_port=port,
|
|
)
|
|
self.cv = cvtest(lfmgr, port)
|
|
self.dut_name = dut_name
|
|
self.ssid = ssid
|
|
self.password = password
|
|
self.bssid = bssid
|
|
self.security = security
|
|
|
|
def setup(self):
|
|
self.create_dut(dut_name=self.dut_name)
|
|
|
|
def add_ssids(self):
|
|
if self.ssid:
|
|
|
|
for i in range(len(self.ssid)):
|
|
|
|
if " " in self.ssid[i][0]:
|
|
self.ssid[i][0] = (re.split(' ', self.ssid[i][0]))
|
|
elif "," in self.ssid[i][0]:
|
|
self.ssid[i][0] = (re.split(',', self.ssid[i][0]))
|
|
elif ", " in self.ssid[i][0]:
|
|
self.ssid[i][0] = (re.split(',', self.ssid[i][0]))
|
|
elif " ," in self.ssid[i][0]:
|
|
self.ssid[i][0] = (re.split(',', self.ssid[i][0]))
|
|
else:
|
|
print("Wrong arguments entered !")
|
|
exit(1)
|
|
|
|
ssid_idx = 0
|
|
ssid = "[BLANK]"
|
|
passwd = "[BLANK]"
|
|
bssid = "00:00:00:00:00:00"
|
|
flag = 0x0
|
|
|
|
for j in range(len(self.ssid[i][0])):
|
|
self.ssid[i][0][j] = self.ssid[i][0][j].split("=")
|
|
for k in range(len(self.ssid[i][0][j])):
|
|
name = self.ssid[i][0][j][k]
|
|
if str(name) == "SSID" or str(name) == "ssid" or str(name) == "s":
|
|
ssid = self.ssid[i][0][j][k + 1]
|
|
elif str(name) == "PASSWORD" or str(name) == "password" or str(name) == "pass":
|
|
passwd = self.ssid[i][0][j][k + 1]
|
|
elif str(name) == "ssid_idx" or str(name) == "no" or str(name) == "N":
|
|
ssid_idx = self.ssid[i][0][j][k + 1]
|
|
elif str(name) == "security" or str(name) == "sec":
|
|
if self.ssid[i][0][j][k + 1]:
|
|
all_flags = self.ssid[i][0][j][k + 1].split("|")
|
|
for flags in all_flags:
|
|
if flags == "WEP" or flags == "wep":
|
|
flag += 0x8
|
|
if flags == "WPA" or flags == "wpa":
|
|
flag += 0x10
|
|
if flags == "WPA2" or flags == "wpa2":
|
|
flag += 0x20
|
|
if flags == "WPA3" or flags == "wpa3":
|
|
flag += 0x100
|
|
if flags == "11r":
|
|
flag += 0x200
|
|
if flags == "EAP-TTLS":
|
|
flag += 0x400
|
|
if flags == "EAP-PEAP":
|
|
flag += 0x800
|
|
elif str(name) == "BSSID" or str(name) == "bssid" or str(name) == "B":
|
|
bssid = self.ssid[i][0][j][k + 1]
|
|
else:
|
|
continue
|
|
|
|
self.add_ssid(dut_name=self.dut_name,
|
|
ssid_idx=ssid_idx,
|
|
ssid=ssid,
|
|
passwd=passwd,
|
|
bssid=bssid,
|
|
ssid_flags=flag,
|
|
ssid_flags_mask=0xFFFFFFFF
|
|
)
|
|
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser(
|
|
description="""
|
|
./create_chamberview_dut -m "localhost" -o "8080" -d "dut_name"
|
|
-s "ssid_idx=0 ssid=NET1 security=WPA|WEP|11r|EAP-PEAP bssid=78:d2:94:bf:16:41"
|
|
-s "ssid_idx=1 ssid=NET1 security=WPA password=test bssid=78:d2:94:bf:16:40"
|
|
""")
|
|
parser.add_argument("-m", "--lfmgr", type=str, default="localhost",
|
|
help="address of the LANforge GUI machine (localhost is default)")
|
|
parser.add_argument("-o", "--port", type=str, default="8080",
|
|
help="IP Port the LANforge GUI is listening on (8080 is default)")
|
|
parser.add_argument("-d", "--dut_name", type=str, default="DUT",
|
|
help="set dut name")
|
|
parser.add_argument("-s", "--ssid", action='append', nargs=1,
|
|
help="SSID", default=[])
|
|
|
|
|
|
args = parser.parse_args()
|
|
new_dut = DUT(args.lfmgr,
|
|
args.port,
|
|
args.dut_name,
|
|
args.ssid,
|
|
)
|
|
|
|
new_dut.setup()
|
|
new_dut.add_ssids()
|
|
cv =cvtest(args.lfmgr,
|
|
args.port)
|
|
cv.show_text_blob(None, None, False) # Show changes on GUI
|
|
cv.sync_cv()
|
|
time.sleep(2)
|
|
|
|
if __name__ == "__main__":
|
|
main()
|