mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-10-31 19:08:01 +00:00
profile creation done, will need to verify profile push and vif config next
Signed-off-by: shivam <shivam.thakur@candelatech.com>
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
import swagger_client
|
import swagger_client
|
||||||
from testbed_info import SDK_BASE_URLS
|
from testbed_info import SDK_BASE_URLS
|
||||||
from testbed_info import LOGIN_CREDENTIALS
|
from testbed_info import LOGIN_CREDENTIALS
|
||||||
|
import datetime
|
||||||
|
import time
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Library for setting up the configuration for cloud connectivity
|
Library for setting up the configuration for cloud connectivity
|
||||||
@@ -108,8 +110,8 @@ class CloudSDK(ConfigureCloudSDK):
|
|||||||
"maxItemsPerPage": 10
|
"maxItemsPerPage": 10
|
||||||
}"""
|
}"""
|
||||||
|
|
||||||
# print(self.equipment_client.get_equipment_by_customer_id(customer_id=customer_id,
|
print(self.equipment_client.get_equipment_by_customer_id(customer_id=customer_id,
|
||||||
# pagination_context=pagination_context))
|
pagination_context=pagination_context))
|
||||||
|
|
||||||
def request_ap_reboot(self):
|
def request_ap_reboot(self):
|
||||||
pass
|
pass
|
||||||
@@ -125,6 +127,28 @@ class CloudSDK(ConfigureCloudSDK):
|
|||||||
# print(self.profile_client.get_profile_by_id(profile_id=profile_id))
|
# print(self.profile_client.get_profile_by_id(profile_id=profile_id))
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
"""
|
||||||
|
default templates are as follows :
|
||||||
|
profile_name= TipWlan-rf/
|
||||||
|
Radius-Profile/
|
||||||
|
TipWlan-2-Radios/
|
||||||
|
TipWlan-3-Radios/
|
||||||
|
TipWlan-Cloud-Wifi/
|
||||||
|
Captive-Portal
|
||||||
|
"""
|
||||||
|
|
||||||
|
def get_profile_template(self, customer_id=None, profile_name=None):
|
||||||
|
pagination_context = """{
|
||||||
|
"model_type": "PaginationContext",
|
||||||
|
"maxItemsPerPage": 100
|
||||||
|
}"""
|
||||||
|
profiles = self.profile_client.get_profiles_by_customer_id(customer_id=customer_id,
|
||||||
|
pagination_context=pagination_context)._items
|
||||||
|
for i in profiles:
|
||||||
|
if i._name == profile_name:
|
||||||
|
return i
|
||||||
|
return None
|
||||||
|
|
||||||
def get_profiles_by_customer_id(self, customer_id=None):
|
def get_profiles_by_customer_id(self, customer_id=None):
|
||||||
pagination_context = """{
|
pagination_context = """{
|
||||||
"model_type": "PaginationContext",
|
"model_type": "PaginationContext",
|
||||||
@@ -161,36 +185,190 @@ class APUtils:
|
|||||||
to control Access Points
|
to control Access Points
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, sdk_client=None, testbed=None):
|
||||||
pass
|
if sdk_client is None:
|
||||||
|
sdk_client = CloudSDK(testbed=testbed)
|
||||||
|
self.sdk_client = sdk_client
|
||||||
|
self.profile_client = swagger_client.ProfileApi(api_client=self.sdk_client.api_client)
|
||||||
|
self.profile_creation_ids = {
|
||||||
|
"ssid": [],
|
||||||
|
"ap": [],
|
||||||
|
"radius": [],
|
||||||
|
"rf": []
|
||||||
|
}
|
||||||
|
self.profile_ids = []
|
||||||
|
|
||||||
"""
|
"""
|
||||||
method call: used to create the rf profile and push set the parameters accordingly and update
|
method call: used to create the rf profile and push set the parameters accordingly and update
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def set_rf_profile(self):
|
def select_rf_profile(self, profile_data=None):
|
||||||
pass
|
default_profile = self.sdk_client.get_profile_template(customer_id=2, profile_name="TipWlan-rf")
|
||||||
|
if profile_data is None:
|
||||||
|
self.profile_creation_ids['rf'].append(default_profile._id)
|
||||||
|
# Need to add functionality to add similar Profile and modify accordingly
|
||||||
|
|
||||||
"""
|
"""
|
||||||
method call: used to create a ssid profile with the given parameters
|
method call: used to create a ssid profile with the given parameters
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def set_ssid_profile(self):
|
def create_open_ssid_profile(self, two4g=True, fiveg=True, profile_data=None):
|
||||||
pass
|
if profile_data is None:
|
||||||
|
return False
|
||||||
|
default_profile = self.sdk_client.get_profile_template(customer_id=2, profile_name="TipWlan-Cloud-Wifi")
|
||||||
|
default_profile._details['appliedRadios'] = []
|
||||||
|
if two4g is True:
|
||||||
|
default_profile._details['appliedRadios'].append("is2dot4GHz")
|
||||||
|
if fiveg is True:
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHzU")
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHz")
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHzL")
|
||||||
|
default_profile._name = profile_data['profile_name']
|
||||||
|
default_profile._details['ssid'] = profile_data['ssid_name']
|
||||||
|
default_profile._details['forwardMode'] = profile_data['mode']
|
||||||
|
default_profile._details['secureMode'] = 'open'
|
||||||
|
profile_id = self.profile_client.create_profile(body=default_profile)._id
|
||||||
|
self.profile_creation_ids['ssid'].append(profile_id)
|
||||||
|
self.profile_ids.append(profile_id)
|
||||||
|
return True
|
||||||
|
|
||||||
|
def create_wpa_ssid_profile(self, two4g=True, fiveg=True, profile_data=None):
|
||||||
|
if profile_data is None:
|
||||||
|
return False
|
||||||
|
default_profile = self.sdk_client.get_profile_template(customer_id=2, profile_name="TipWlan-Cloud-Wifi")
|
||||||
|
default_profile._details['appliedRadios'] = []
|
||||||
|
if two4g is True:
|
||||||
|
default_profile._details['appliedRadios'].append("is2dot4GHz")
|
||||||
|
if fiveg is True:
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHzU")
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHz")
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHzL")
|
||||||
|
default_profile._name = profile_data['profile_name']
|
||||||
|
default_profile._details['ssid'] = profile_data['ssid_name']
|
||||||
|
default_profile._details['keyStr'] = profile_data['security_key']
|
||||||
|
default_profile._details['forwardMode'] = profile_data['mode']
|
||||||
|
default_profile._details['secureMode'] = 'wpaPSK'
|
||||||
|
profile_id = self.profile_client.create_profile(body=default_profile)._id
|
||||||
|
self.profile_creation_ids['ssid'].append(profile_id)
|
||||||
|
self.profile_ids.append(profile_id)
|
||||||
|
return True
|
||||||
|
|
||||||
|
def create_wpa2_personal_ssid_profile(self, two4g=True, fiveg=True, profile_data=None):
|
||||||
|
if profile_data is None:
|
||||||
|
return False
|
||||||
|
default_profile = self.sdk_client.get_profile_template(customer_id=2, profile_name="TipWlan-Cloud-Wifi")
|
||||||
|
default_profile._details['appliedRadios'] = []
|
||||||
|
if two4g is True:
|
||||||
|
default_profile._details['appliedRadios'].append("is2dot4GHz")
|
||||||
|
if fiveg is True:
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHzU")
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHz")
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHzL")
|
||||||
|
default_profile._name = profile_data['profile_name']
|
||||||
|
default_profile._details['ssid'] = profile_data['ssid_name']
|
||||||
|
default_profile._details['keyStr'] = profile_data['security_key']
|
||||||
|
default_profile._details['forwardMode'] = profile_data['mode']
|
||||||
|
default_profile._details['secureMode'] = 'wpa2OnlyPSK'
|
||||||
|
profile_id = self.profile_client.create_profile(body=default_profile)._id
|
||||||
|
self.profile_creation_ids['ssid'].append(profile_id)
|
||||||
|
self.profile_ids.append(profile_id)
|
||||||
|
return True
|
||||||
|
|
||||||
|
def create_wpa3_personal_ssid_profile(self, two4g=True, fiveg=True, profile_data=None):
|
||||||
|
if profile_data is None:
|
||||||
|
return False
|
||||||
|
default_profile = self.sdk_client.get_profile_template(customer_id=2, profile_name="TipWlan-Cloud-Wifi")
|
||||||
|
default_profile._details['appliedRadios'] = []
|
||||||
|
if two4g is True:
|
||||||
|
default_profile._details['appliedRadios'].append("is2dot4GHz")
|
||||||
|
if fiveg is True:
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHzU")
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHz")
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHzL")
|
||||||
|
default_profile._name = profile_data['profile_name']
|
||||||
|
default_profile._details['ssid'] = profile_data['ssid_name']
|
||||||
|
default_profile._details['keyStr'] = profile_data['security_key']
|
||||||
|
default_profile._details['forwardMode'] = profile_data['mode']
|
||||||
|
default_profile._details['secureMode'] = 'wpa3OnlyPSK'
|
||||||
|
profile_id = self.profile_client.create_profile(body=default_profile)._id
|
||||||
|
self.profile_creation_ids['ssid'].append(profile_id)
|
||||||
|
self.profile_ids.append(profile_id)
|
||||||
|
return True
|
||||||
|
|
||||||
|
def create_wpa2_enterprise_ssid_profile(self, two4g=True, fiveg=True, profile_data=None):
|
||||||
|
if profile_data is None:
|
||||||
|
return False
|
||||||
|
default_profile = self.sdk_client.get_profile_template(customer_id=2, profile_name="TipWlan-Cloud-Wifi")
|
||||||
|
default_profile._details['appliedRadios'] = []
|
||||||
|
if two4g is True:
|
||||||
|
default_profile._details['appliedRadios'].append("is2dot4GHz")
|
||||||
|
if fiveg is True:
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHzU")
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHz")
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHzL")
|
||||||
|
default_profile._name = profile_data['profile_name']
|
||||||
|
default_profile._details['ssid'] = profile_data['ssid_name']
|
||||||
|
default_profile._details['forwardMode'] = profile_data['mode']
|
||||||
|
default_profile._details['secureMode'] = 'wpa2OnlyRadius'
|
||||||
|
profile_id = self.profile_client.create_profile(body=default_profile)._id
|
||||||
|
self.profile_creation_ids['ssid'].append(profile_id)
|
||||||
|
self.profile_ids.append(profile_id)
|
||||||
|
return True
|
||||||
|
|
||||||
|
def create_wpa3_enterprise_ssid_profile(self, two4g=True, fiveg=True, profile_data=None):
|
||||||
|
if profile_data is None:
|
||||||
|
return False
|
||||||
|
default_profile = self.sdk_client.get_profile_template(customer_id=2, profile_name="TipWlan-Cloud-Wifi")
|
||||||
|
default_profile._details['appliedRadios'] = []
|
||||||
|
if two4g is True:
|
||||||
|
default_profile._details['appliedRadios'].append("is2dot4GHz")
|
||||||
|
if fiveg is True:
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHzU")
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHz")
|
||||||
|
default_profile._details['appliedRadios'].append("is5GHzL")
|
||||||
|
default_profile._name = profile_data['profile_name']
|
||||||
|
default_profile._details['ssid'] = profile_data['ssid_name']
|
||||||
|
default_profile._details['keyStr'] = profile_data['security_key']
|
||||||
|
default_profile._details['forwardMode'] = profile_data['mode']
|
||||||
|
default_profile._details['secureMode'] = 'wpa3OnlyRadius'
|
||||||
|
profile_id = self.profile_client.create_profile(body=default_profile)._id
|
||||||
|
self.profile_creation_ids['ssid'].append(profile_id)
|
||||||
|
self.profile_ids.append(profile_id)
|
||||||
|
return True
|
||||||
|
|
||||||
"""
|
"""
|
||||||
method call: used to create a ap profile that contains the given ssid profiles
|
method call: used to create a ap profile that contains the given ssid profiles
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def set_ap_profile(self):
|
def set_ap_profile(self, profile_data=None):
|
||||||
|
if profile_data is None:
|
||||||
|
return False
|
||||||
|
default_profile = self.sdk_client.get_profile_template(customer_id=2, profile_name="TipWlan-2-Radios")
|
||||||
|
default_profile._child_profile_ids = []
|
||||||
|
for i in self.profile_creation_ids:
|
||||||
|
for j in self.profile_creation_ids[i]:
|
||||||
|
default_profile._child_profile_ids.append(j)
|
||||||
|
# default_profile._details['radiusServiceId'] = self.profile_creation_ids['radius']
|
||||||
|
default_profile._name = profile_data['profile_name']
|
||||||
|
print(default_profile)
|
||||||
|
default_profile = self.profile_client.create_profile(body=default_profile)
|
||||||
|
self.profile_creation_ids['ap'] = default_profile._id
|
||||||
|
self.profile_ids.append(default_profile._id)
|
||||||
pass
|
pass
|
||||||
|
|
||||||
"""
|
"""
|
||||||
method call: used to create a radius profile with the settings given
|
method call: used to create a radius profile with the settings given
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def set_radius_profile(self):
|
def set_radius_profile(self, radius_info=None):
|
||||||
pass
|
default_profile = self.sdk_client.get_profile_template(customer_id=2, profile_name="Radius-Profile")
|
||||||
|
default_profile._name = radius_info['name']
|
||||||
|
default_profile._details['primaryRadiusAuthServer']['ipAddress'] = radius_info['ip']
|
||||||
|
default_profile._details['primaryRadiusAuthServer']['port'] = radius_info['port']
|
||||||
|
default_profile._details['primaryRadiusAuthServer']['secret'] = radius_info['secret']
|
||||||
|
default_profile = self.profile_client.create_profile(body=default_profile)
|
||||||
|
self.profile_creation_ids['radius'].append(default_profile._id)
|
||||||
|
self.profile_ids.append(default_profile._id)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
method call: used to create the ssid and psk data that can be used in creation of ssid profile
|
method call: used to create the ssid and psk data that can be used in creation of ssid profile
|
||||||
@@ -203,8 +381,12 @@ class APUtils:
|
|||||||
method to push the profile to the given equipment
|
method to push the profile to the given equipment
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def push_profile(self):
|
def push_profile(self, equipment_id=None):
|
||||||
pass
|
default_equipment_data =self.sdk_client.equipment_client.get_equipment_by_id(equipment_id=equipment_id)
|
||||||
|
default_equipment_data._profile_id = self.profile_creation_ids['ap']
|
||||||
|
print(default_equipment_data)
|
||||||
|
self.sdk_client.equipment_client.update_equipment(body=default_equipment_data)
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
method to verify if the expected ssid's are loaded in the ap vif config
|
method to verify if the expected ssid's are loaded in the ap vif config
|
||||||
@@ -213,11 +395,62 @@ class APUtils:
|
|||||||
def monitor_vif_conf(self):
|
def monitor_vif_conf(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
"""
|
||||||
|
method to delete a profile by its id
|
||||||
|
"""
|
||||||
|
|
||||||
|
def delete_profile(self, profile_id=None):
|
||||||
|
for i in profile_id:
|
||||||
|
self.profile_client.delete_profile(profile_id=i)
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
obj = CloudSDK(testbed="nola-01")
|
sdk_client = CloudSDK(testbed="nola-ext-03")
|
||||||
|
# sdk_client.get_equipment_by_customer_id(customer_id=2)
|
||||||
|
ap_utils = APUtils(sdk_client=sdk_client)
|
||||||
|
ap_utils.select_rf_profile(profile_data=None)
|
||||||
|
# radius_info = {
|
||||||
|
# "name": "Radius-Profile-" + str(datetime.datetime.now()),
|
||||||
|
# "ip": "192.168.200.75",
|
||||||
|
# "port": 1812,
|
||||||
|
# "secret": "testing123"
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# ap_utils.set_radius_profile(radius_info=radius_info)
|
||||||
|
profile_data = {
|
||||||
|
"profile_name": "test-ssid-open",
|
||||||
|
"ssid_name": "test_open",
|
||||||
|
"mode": "BRIDGE"
|
||||||
|
}
|
||||||
|
|
||||||
|
ap_utils.create_open_ssid_profile(profile_data=profile_data)
|
||||||
|
profile_data = {
|
||||||
|
"profile_name": "test-ssid-wpa",
|
||||||
|
"ssid_name": "test_wpa",
|
||||||
|
"mode": "BRIDGE",
|
||||||
|
"security_key": "testing12345"
|
||||||
|
}
|
||||||
|
|
||||||
|
ap_utils.create_wpa_ssid_profile(profile_data=profile_data)
|
||||||
|
profile_data = {
|
||||||
|
"profile_name": "test-ssid-wpa2",
|
||||||
|
"ssid_name": "test_wpa2",
|
||||||
|
"mode": "BRIDGE",
|
||||||
|
"security_key": "testing12345"
|
||||||
|
}
|
||||||
|
|
||||||
|
ap_utils.create_wpa2_personal_ssid_profile(profile_data=profile_data)
|
||||||
|
#
|
||||||
# obj.portal_ping()
|
# obj.portal_ping()
|
||||||
# obj.get_equipment_by_customer_id(customer_id=2)
|
# obj.get_equipment_by_customer_id(customer_id=2)
|
||||||
# obj.get_profiles_by_customer_id(customer_id=2)
|
# obj.get_profiles_by_customer_id(customer_id=2)
|
||||||
# print(obj.default_profiles)
|
# print(obj.default_profiles)
|
||||||
obj.disconnect_cloudsdk()
|
profile_data = {
|
||||||
|
"profile_name": "test-ap-library",
|
||||||
|
}
|
||||||
|
ap_utils.set_ap_profile(profile_data=profile_data)
|
||||||
|
ap_utils.push_profile(equipment_id=1)
|
||||||
|
sdk_client.disconnect_cloudsdk()
|
||||||
|
# ap_utils.delete_profile(profile_id=ap_utils.profile_ids)
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,9 @@ SDK_BASE_URLS = {
|
|||||||
"nola-01": "https://wlan-portal-svc-nola-01.cicd.lab.wlan.tip.build",
|
"nola-01": "https://wlan-portal-svc-nola-01.cicd.lab.wlan.tip.build",
|
||||||
"nola-02": "https://wlan-portal-svc-nola-02.cicd.lab.wlan.tip.build",
|
"nola-02": "https://wlan-portal-svc-nola-02.cicd.lab.wlan.tip.build",
|
||||||
"nola-04": "https://wlan-portal-svc-nola-04.cicd.lab.wlan.tip.build",
|
"nola-04": "https://wlan-portal-svc-nola-04.cicd.lab.wlan.tip.build",
|
||||||
|
"nola-ext-03": "https://wlan-portal-svc-nola-ext-03.cicd.lab.wlan.tip.build",
|
||||||
|
"nola-ext-04": "https://wlan-portal-svc-nola-ext-04.cicd.lab.wlan.tip.build",
|
||||||
|
"nola-ext-05": "https://wlan-portal-svc-nola-ext-05.cicd.lab.wlan.tip.build"
|
||||||
}
|
}
|
||||||
|
|
||||||
LOGIN_CREDENTIALS = {
|
LOGIN_CREDENTIALS = {
|
||||||
|
|||||||
Reference in New Issue
Block a user