mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-11-24 14:55:07 +00:00
added radius support in library
Signed-off-by: shivamcandela <shivam.thakur@candelatech.com>
This commit is contained in:
@@ -14,8 +14,12 @@ import requests
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from requests.adapters import HTTPAdapter
|
from requests.adapters import HTTPAdapter
|
||||||
|
import logging
|
||||||
|
|
||||||
|
logging.basicConfig(level=logging.DEBUG)
|
||||||
|
from http.client import HTTPConnection
|
||||||
|
HTTPConnection.debuglevel = 1
|
||||||
|
requests.logging.getLogger()
|
||||||
class ConfigureController:
|
class ConfigureController:
|
||||||
|
|
||||||
def __init__(self, controller_data):
|
def __init__(self, controller_data):
|
||||||
@@ -221,15 +225,30 @@ class UProfileUtility:
|
|||||||
print("Invalid Mode")
|
print("Invalid Mode")
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def add_ssid(self, ssid_data):
|
def add_ssid(self, ssid_data, radius=False, radius_auth_data={}, radius_accounting_data={}):
|
||||||
# print("ssid data : ", ssid_data)
|
print("ssid data : ", ssid_data)
|
||||||
ssid_info = {'name': ssid_data["ssid_name"], "bss-mode": "ap", "wifi-bands": []}
|
ssid_info = {'name': ssid_data["ssid_name"], "bss-mode": "ap", "wifi-bands": []}
|
||||||
for i in ssid_data["appliedRadios"]:
|
for i in ssid_data["appliedRadios"]:
|
||||||
ssid_info["wifi-bands"].append(i)
|
ssid_info["wifi-bands"].append(i)
|
||||||
ssid_info['encryption'] = {}
|
ssid_info['encryption'] = {}
|
||||||
ssid_info['encryption']['proto'] = ssid_data["security"]
|
ssid_info['encryption']['proto'] = ssid_data["security"]
|
||||||
ssid_info['encryption']['key'] = ssid_data["security_key"]
|
try:
|
||||||
|
ssid_info['encryption']['key'] = ssid_data["security_key"]
|
||||||
|
except:
|
||||||
|
pass
|
||||||
ssid_info['encryption']['ieee80211w'] = "optional"
|
ssid_info['encryption']['ieee80211w'] = "optional"
|
||||||
|
if radius:
|
||||||
|
ssid_info["radius"] = {}
|
||||||
|
ssid_info["radius"]["authentication"] = {
|
||||||
|
"host": radius_auth_data["ip"],
|
||||||
|
"port": radius_auth_data["port"],
|
||||||
|
"secret": radius_auth_data["secret"]
|
||||||
|
}
|
||||||
|
ssid_info["radius"]["accounting"] = {
|
||||||
|
"host": radius_accounting_data["ip"],
|
||||||
|
"port": radius_accounting_data["port"],
|
||||||
|
"secret": radius_accounting_data["secret"]
|
||||||
|
}
|
||||||
if self.mode == "NAT":
|
if self.mode == "NAT":
|
||||||
self.base_profile_config['interfaces'][1]['ssids'].append(ssid_info)
|
self.base_profile_config['interfaces'][1]['ssids'].append(ssid_info)
|
||||||
elif self.mode == "BRIDGE":
|
elif self.mode == "BRIDGE":
|
||||||
@@ -282,6 +301,7 @@ class UProfileUtility:
|
|||||||
|
|
||||||
uri = self.sdk_client.build_uri("device/" + serial_number + "/configure")
|
uri = self.sdk_client.build_uri("device/" + serial_number + "/configure")
|
||||||
basic_cfg_str = json.dumps(payload)
|
basic_cfg_str = json.dumps(payload)
|
||||||
|
print(self.base_profile_config)
|
||||||
resp = requests.post(uri, data=basic_cfg_str, headers=self.sdk_client.make_headers(),
|
resp = requests.post(uri, data=basic_cfg_str, headers=self.sdk_client.make_headers(),
|
||||||
verify=False, timeout=100)
|
verify=False, timeout=100)
|
||||||
self.sdk_client.check_response("POST", resp, self.sdk_client.make_headers(), basic_cfg_str, uri)
|
self.sdk_client.check_response("POST", resp, self.sdk_client.make_headers(), basic_cfg_str, uri)
|
||||||
@@ -420,6 +440,23 @@ class UProfileUtility:
|
|||||||
# }
|
# }
|
||||||
# }
|
# }
|
||||||
#
|
#
|
||||||
|
RADIUS_SERVER_DATA = {
|
||||||
|
"ip": "10.10.10.72",
|
||||||
|
"port": 1812,
|
||||||
|
"secret": "testing123",
|
||||||
|
"user": "user",
|
||||||
|
"password": "password",
|
||||||
|
"pk_password": "whatever"
|
||||||
|
}
|
||||||
|
|
||||||
|
RADIUS_ACCOUNTING_DATA = {
|
||||||
|
"ip": "10.10.10.72",
|
||||||
|
"port": 1813,
|
||||||
|
"secret": "testing123",
|
||||||
|
"user": "user",
|
||||||
|
"password": "password",
|
||||||
|
"pk_password": "whatever"
|
||||||
|
}
|
||||||
controller = {
|
controller = {
|
||||||
# 'url': "https://tip-f34.candelatech.com:16001/api/v1/oauth2", # API base url for the controller
|
# 'url': "https://tip-f34.candelatech.com:16001/api/v1/oauth2", # API base url for the controller
|
||||||
'url': 'https://sdk-ucentral-2.cicd.lab.wlan.tip.build:16001/api/v1/oauth2',
|
'url': 'https://sdk-ucentral-2.cicd.lab.wlan.tip.build:16001/api/v1/oauth2',
|
||||||
@@ -439,21 +476,21 @@ controller = {
|
|||||||
# "radius": False
|
# "radius": False
|
||||||
# }
|
# }
|
||||||
# obj = UController(controller_data=controller)
|
# obj = UController(controller_data=controller)
|
||||||
# time.sleep(10)
|
# # # # time.sleep(10)
|
||||||
# obj.logout()
|
# # # obj.logout()
|
||||||
# # # # # # # print(obj.get_devices())
|
# # # # # # # # # # print(obj.get_devices())
|
||||||
# # # # # # # print(obj.get_device_uuid(serial_number="903cb3944873"))
|
# # # # # # # # # # print(obj.get_device_uuid(serial_number="903cb3944873"))
|
||||||
# # # # # # # obj.get_device_uuid(serial_number="c4411ef53f23")
|
# # # # # # # # # # # obj.get_device_uuid(serial_number="c4411ef53f23")
|
||||||
# profile_client = UProfileUtility(sdk_client=obj)
|
# profile_client = UProfileUtility(sdk_client=obj)
|
||||||
# profile_client.set_radio_config()
|
# profile_client.set_radio_config()
|
||||||
# profile_client.set_mode(mode="VLAN")
|
# profile_client.set_mode(mode="BRIDGE")
|
||||||
# ssid_data = {"ssid_name": "ssid_wpa_test_3_vlan", "vlan": 100, "appliedRadios": ["2G", "5G"], "security_key": "something", "security": "none"}
|
# ssid_data = {"ssid_name": "ssid_shivam_psk", "appliedRadios": ["2G", "5G", "6G"], "security_key": "something", "security": "wpa2"} # sae # sae-mixed
|
||||||
# profile_client.add_ssid(ssid_data=ssid_data)
|
# profile_client.add_ssid(ssid_data=ssid_data, radius=True, radius_auth_data=RADIUS_SERVER_DATA, radius_accounting_data=RADIUS_ACCOUNTING_DATA)
|
||||||
# ssid_data = {"ssid_name": "ssid_wpa_test_4_vlan", "vlan": 100, "appliedRadios": ["2G", "5G"], "security_key": "something", "security": "none"}
|
# # # # # ssid_data = {"ssid_name": "ssid_wpa_test_4_vlan", "vlan": 100, "appliedRadios": ["2G", "5G"], "security_key": "something", "security": "none"}
|
||||||
# profile_client.add_ssid(ssid_data=ssid_data)
|
# # # # # profile_client.add_ssid(ssid_data=ssid_data)
|
||||||
# # # # print(profile_client.base_profile_config)
|
# # # # print(profile_client.base_profile_config)
|
||||||
# profile_client.push_config(serial_number="903cb39d6918")
|
# profile_client.push_config(serial_number="903cb39d6918")
|
||||||
# b = json.loads(str(profile_client.base_profile_config).replace(" ", "").replace("'", '"'))#, json.dumps(b, sort_keys=True)
|
# # b = json.loads(str(profile_client.base_profile_config).replace(" ", "").replace("'", '"'))#, json.dumps(b, sort_keys=True)
|
||||||
# print(b["interfaces"])#, b["interfaces"])
|
# print(b["interfaces"])#, b["interfaces"])
|
||||||
# # print(profile_client.base_profile_config)
|
# # print(profile_client.base_profile_config)
|
||||||
# # equipments = obj.get_devices()
|
# # equipments = obj.get_devices()
|
||||||
@@ -463,7 +500,10 @@ controller = {
|
|||||||
# for k in j:
|
# for k in j:
|
||||||
# print(k, j[k])
|
# print(k, j[k])
|
||||||
# print(equipments)
|
# print(equipments)
|
||||||
|
|
||||||
|
# obj.logout()
|
||||||
# #
|
# #
|
||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|||||||
Reference in New Issue
Block a user