mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-10-30 02:22:44 +00:00
Wifi 7833 (#507)
* Added Perfecto details for data retreival Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added device option and a function to fetch device details from lab_info.json Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added all the Interop related details Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Changed all the things needed from pytest.ini to configuration Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Changed the security key for wpa2 5g ssid Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Removed Interop details from pytest.ini file Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added --device option in Additional arguments of Interop workflow Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added job number and name related to device specific Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * changed the report to device specific for job number and name Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Removed the job number and name argument Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Removed space Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Removed Job name and number from Perfecto Details Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Separate commands per line Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com> * Chg: switch to self hosted and add sleep step * Add: AWS dependency * Fix: awscli and deleted sleep step * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Dbg: add sleep to get config Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com> * Del: debug lines Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Added slight upload rate on udp download to work in NAT mode Signed-off-by: shivam <shivam.thakur@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * moving sanity to next Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Added tls in the name of SSID for tls test cases (#424) Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * [WIFI-6851] Add: postgresql as DB for OWLS tests (#423) Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * added regression and advance counts Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * added badges for advance and regression in readme file Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * added advance and regression text Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * added interop and lanforge side regression counts Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Added Interop Regression and its count in readme Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * updated the name for interop Regression badge name Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * [WIFI-7229] Integrate virtual AP in Docker Compose testing workflow (#426) * Integrate virtual AP in Docker Compose testing workflow and switch to CLI testing Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Fix syntax error Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Fix another syntax error Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Execute command over SSH and fix CLI permissions Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Add shared AWS variables and try to escape secret Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Auto-accept new SSH host keys Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Fix SSH key permissions Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Use curl and switch to raw repository files Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Add serial to CLI calls Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Get mac address of virtual AP dynamically Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Fix step condition syntax Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Add silent option to curl Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Re-apply AP config after starting firstcontact service Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Remove duplicate quotes Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Use local AP config file and add choice to test all microservices Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> * Wait before re-applying config modifications to avoid overwrite Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Wifi 6731 (#421) * Created a local variable for upstream_port to prevent appending of vlan_id to previous upstream_port * corrected vlan_id Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Wifi 6938 (#404) * Country code with channel division: 2Ghz,20Mhz, US and channel 1 * change in testcase execution * created country_code-US, with channel_width-20Mhz, channel_no-1 for 2G band * missed git_configuration param * checking from setup_params_general 'rf' to set radio config * added country_code_channel_division funtion * added radio config using radio_config * corrected allure report * changed function name * check allure report * Added comment * allure report corrected * Created testcase for channel 2 in 2G band * checking allure report * added channel mode VHT in AP configuration which is common for both wifi-5 and wifi-6 AP, without channel-mode always getting channel mode HE * checking allure report * corrected json_get url * testcase for channel-2 in 20Mhz, US, 2G * corrected channel overwritten on second testcase * testcases for channels from 3 to 13 with US, 20Mhz, 2G * US have 2G channels from 1 to 11 * added print statement to verify IP and channel no * Checking again if client not assigned with IP * Testcases: US, 40Mhz, 2G, channels 1-11 * Testcases: US, 40Mhz, 5G, channels (36,44,52,60,100,108,132,140) * removed wrong testcases * Testcases: IN, (20Mhz, 40Mhz), 2G, channels 1-11 * Testcases: IN, 40Mhz, 5G, channels (36,44,52,60,100,108,132,140) * Testcases: CA, 20Mhz,40Mhz, 2G,5G, channels (1-11) (36,44,52,60,100,108,132,140) * Testcases: CA, 40Mhz, 5G, channels (36,44,52,60,100,108,132,140) * Testcases: CA, 5G, 80Mhz, channel (36, 52, 100, 132) * Testcases: IN, 5G, 80Mhz, channel (36, 52, 100, 132) * Testcases: US, 5G, 80Mhz, channel (36, 52, 100, 132) * Testcases: CA, 20Mhz, 5G, channel (36,40,44,48,52,56,60, 64, 100, 104, 108, 112, 116,132, 136, 140, 144) * Testcases: IN, 20Mhz, 5G, channel (36,40,44,48,52,56,60, 64, 100, 104, 108, 112, 116,132, 136, 140, 144) * Testcases: US, 20Mhz, 5G, channel (36,40,44,48,52,56,60, 64, 100, 104, 108, 112, 116,132, 136, 140, 144) * Added rf config improvements Signed-off-by: shivam <shivam.thakur@candelatech.com> * Testcases: JP, 20Mhz, 40Mhz (2G+5G), 80Mhz (5G) * Testcases: JP, 20Mhz, 40Mhz (2G+5G), 80Mhz (5G) * Called json_post to change country of lanforge-radio * Edited print message * corrected cli command * Testcases:GB(united kingdom) 20Mhz, 40Mhz, 80Mhz * added cleanup to clear station before creating next station * corrected radio-bands * Added US country code to change lanforge-radio country * Added IN country code to change lanforge-radio country * corrected radio-bands * Added US country code to change lanforge-radio country Co-authored-by: shivam <shivam.thakur@candelatech.com> Co-authored-by: Shivam Thakur <70829776+shivamcandela@users.noreply.github.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Wifi 7234 (#428) * Added scan_ssid method Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * modified code for testing scan_ssid method Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added scan_ssid method and called that method in Client_Connectivity, Client_Connect, EAP_Connect Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * added libs for creating tables Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * added tabulate module Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> Co-authored-by: Shivam Thakur <70829776+shivamcandela@users.noreply.github.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * fixed the error due to rf data being None Signed-off-by: shivam <shivam.thakur@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Fix advanced testbed config generation Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * added the badge text to RF Testing from Advance Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Fix composite action path Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Added Perfecto details for data retreival Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Added device option and a function to fetch device details from lab_info.json Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Added all the Interop related details Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Changed all the things needed from pytest.ini to configuration Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Changed the security key for wpa2 5g ssid Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Removed Interop details from pytest.ini file Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Added --device option in Additional arguments of Interop workflow Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Added job number and name related to device specific Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * changed the report to device specific for job number and name Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Removed the job number and name argument Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Removed space Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Removed Job name and number from Perfecto Details Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Separate commands per line Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Chg: switch to self hosted and add sleep step Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Add: AWS dependency Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Fix: awscli and deleted sleep step Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Dbg: add sleep to get config Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Del: debug lines Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com> Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> * Modified .quali/get_config Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> Co-authored-by: haricharan-jaka <haricharan.jaka@candelatech.com> Co-authored-by: Dmitry Dunaev <dmitry@opsfleet.com> Co-authored-by: shivam <shivam.thakur@candelatech.com> Co-authored-by: Shivam Thakur <70829776+shivamcandela@users.noreply.github.com> Co-authored-by: ᴀᴍʀɪᴛ ʀᴀᴊ <87319476+amrit-candela@users.noreply.github.com> Co-authored-by: Dmitry Dunaev <83591011+dunaev-opsfleet@users.noreply.github.com> Co-authored-by: Johann Hoffmann <johann.hoffmann@mailbox.org> Co-authored-by: karthika <78941121+karthikaeyetea@users.noreply.github.com> Co-authored-by: jitendracandela <78074038+jitendracandela@users.noreply.github.com>
This commit is contained in:
488
.github/workflows/interop.yml
vendored
488
.github/workflows/interop.yml
vendored
@@ -32,6 +32,11 @@ jobs:
|
||||
outputs:
|
||||
devices: ${{ steps.vars.outputs.devices }}
|
||||
marker_overwrite: ${{ steps.vars.outputs.marker_overwrite }}
|
||||
openwifi_revision: ${{ steps.vars.outputs.openwifi}}
|
||||
ap_models: ${{ steps.vars.outputs.ap_models}}
|
||||
ap_version: ${{ steps.vars.outputs.ap_version}}
|
||||
marker_expression: ${{ steps.vars.outputs.marker_expression }}
|
||||
existing_controller: ${{ steps.vars.outputs.existing_controller }}
|
||||
|
||||
steps:
|
||||
- name: set variables
|
||||
@@ -42,6 +47,11 @@ jobs:
|
||||
DEVICES="${{ github.event.inputs.devices || 'galaxy-s9,galaxy-s10,galaxy-s20,pixel-4,iphone-7,iphone-11,iphone-xr,iphone-12' }}"
|
||||
DEVICES=$(echo $DEVICES | sed "s/,/\",\"/g" | sed 's/^/[\"/g' | sed 's/$/\"]/g')
|
||||
echo "::set-output name=devices::${DEVICES}"
|
||||
echo ::set-output name=openwifi::$(echo "${{ github.event.inputs.openwifi_revision || 'main' }}")
|
||||
echo ::set-output name=ap_models::$(echo "${{ github.event.inputs.ap_models || 'edgecore_ecw5410,edgecore_eap101,tp-link_ec420-g1,edgecore_ecw5211,cig_wf188n,edgecore_eap102,cig_wf194c,hfcl_ion4' }}")
|
||||
echo ::set-output name=ap_version::$(echo "${{ github.event.inputs.ap_version || 'next-latest' }}")
|
||||
echo ::set-output name=marker_expression::$(echo "${{ github.event.inputs.marker_expression || 'uc_sanity' }}")
|
||||
echo ::set-output name=existing_controller::$(echo "${{ github.event.inputs.existing_controller || 'qa01' }}")
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -62,26 +72,80 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: install dependencies
|
||||
run: |
|
||||
pip install -r .quali/requirements.txt
|
||||
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||
# unzip awscliv2.zip
|
||||
# sudo ./aws/install
|
||||
|
||||
- name: start reservation
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
python .quali/start_reservation.py --global-inputs '{"Phone ID(s)":"1","AP ID(s)":"1","Optional Existing SDK Namespace":"${{ needs.vars.outputs.existing_controller }}","Include a LANForge?":"Yes","securityToken":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJpYXQiOjE2MzI4Mzc2NDEsImp0aSI6IjAwZGRiYWY5LWQwYjMtNDRjNS1hYjVlLTkyNzFlNzc5ZGUzNiIsImlzcyI6Imh0dHBzOi8vYXV0aDIucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL3RpcC1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiODNkNjUxMWQtNTBmZS00ZWM5LThkNzAtYTA0ZjBkNTdiZDUyIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI2ZjE1YzYxNy01YTU5LTQyOWEtODc2Yi1jOTQxMTQ1ZDFkZTIiLCJzZXNzaW9uX3N0YXRlIjoiYmRjZTFmYTMtMjlkYi00MmFmLWI5YWMtYjZjZmJkMDEyOTFhIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.5R85_1R38ZFXv_wIjjCIsj8NJm1p66dCsLJI5DBEmks"}' --reservation-duration 480 "InterOp Lab - Specific Selection"
|
||||
|
||||
- name: set reservation outputs
|
||||
if: always()
|
||||
id: reservation
|
||||
run: |
|
||||
echo ::set-output name=identifier::"$(cat ./reservation_id.txt)"
|
||||
echo ::set-output name=namespace::"$(cat ./reservation_id.txt | cut -d "-" -f 1)"
|
||||
|
||||
- name: get EKS access credentials
|
||||
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
|
||||
|
||||
|
||||
# TODO WIFI-7839 delete when issue is resolved on AWS CLI side
|
||||
- name: install kubectl
|
||||
run: |
|
||||
curl -LO "https://dl.k8s.io/release/v1.23.6/bin/linux/amd64/kubectl"
|
||||
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
||||
|
||||
- name: prepare configuration
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
cat << EOF > lab_info.json
|
||||
${{ secrets.LAB_CONFIGURATION_JSON }}
|
||||
EOF
|
||||
|
||||
DYN_CONFIG="$(python .quali/get_configuration.py --json ${{ steps.reservation.outputs.identifier }})"
|
||||
|
||||
jq ".CONFIGURATION.interop=$DYN_CONFIG" lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
jq --arg git_run "${{ github.run_number }}" '.PERFECTO_DETAILS."Galaxy S9".jobNumber=$git_run' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
|
||||
if [ ${{ needs.vars.outputs.existing_controller }} != '' ]
|
||||
then
|
||||
jq '.CONFIGURATION.interop.controller.url="https://sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build:16001"' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
fi
|
||||
|
||||
|
||||
- name: run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
namespace: interop-${{ github.run_id }}-galaxy-s9
|
||||
testbed: interop-01
|
||||
testbed: interop
|
||||
marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'interop_uc_sanity and client_connect and android and not wpa3_personal' }}"
|
||||
configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
|
||||
configuration_file: "./lab_info.json"
|
||||
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
|
||||
additional_args: "-o model-android='Galaxy S9' -o 'jobName=Github-Interop-galaxy-s9' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
|
||||
additional_args: "--device='Galaxy S9' --skip-lanforge"
|
||||
allure_results_artifact_name: allure-results-galaxy-s9
|
||||
|
||||
- name: stop reservation
|
||||
if: always()
|
||||
run: python .quali/stop_reservation.py ${{ steps.reservation.outputs.identifier }}
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
|
||||
# necessary because if conditionals in composite actions are currently not respected
|
||||
- name: delete namespace
|
||||
if: always()
|
||||
@@ -95,6 +159,29 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: install dependencies
|
||||
run: |
|
||||
pip install -r .quali/requirements.txt
|
||||
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||
# unzip awscliv2.zip
|
||||
# sudo ./aws/install
|
||||
|
||||
- name: start reservation
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
python .quali/start_reservation.py --global-inputs '{"Phone ID(s)":"6","AP ID(s)":"1","Optional Existing SDK Namespace":"${{ needs.vars.outputs.existing_controller }}","Include a LANForge?":"Yes","securityToken":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJpYXQiOjE2MzI4Mzc2NDEsImp0aSI6IjAwZGRiYWY5LWQwYjMtNDRjNS1hYjVlLTkyNzFlNzc5ZGUzNiIsImlzcyI6Imh0dHBzOi8vYXV0aDIucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL3RpcC1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiODNkNjUxMWQtNTBmZS00ZWM5LThkNzAtYTA0ZjBkNTdiZDUyIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI2ZjE1YzYxNy01YTU5LTQyOWEtODc2Yi1jOTQxMTQ1ZDFkZTIiLCJzZXNzaW9uX3N0YXRlIjoiYmRjZTFmYTMtMjlkYi00MmFmLWI5YWMtYjZjZmJkMDEyOTFhIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.5R85_1R38ZFXv_wIjjCIsj8NJm1p66dCsLJI5DBEmks"}' "InterOp Lab - Specific Selection"
|
||||
|
||||
- name: set reservation outputs
|
||||
if: always()
|
||||
id: reservation
|
||||
run: |
|
||||
echo ::set-output name=identifier::"$(cat ./reservation_id.txt)"
|
||||
echo ::set-output name=namespace::"$(cat ./reservation_id.txt | cut -d "-" -f 1)"
|
||||
|
||||
|
||||
- name: get EKS access credentials
|
||||
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
|
||||
|
||||
@@ -104,17 +191,48 @@ jobs:
|
||||
curl -LO "https://dl.k8s.io/release/v1.23.6/bin/linux/amd64/kubectl"
|
||||
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
||||
|
||||
- name: prepare configuration
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
cat << EOF > lab_info.json
|
||||
${{ secrets.LAB_CONFIGURATION_JSON }}
|
||||
EOF
|
||||
|
||||
DYN_CONFIG="$(python .quali/get_configuration.py --json ${{ steps.reservation.outputs.identifier }})"
|
||||
|
||||
jq ".CONFIGURATION.interop=$DYN_CONFIG" lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
|
||||
jq --arg git_run "${{ github.run_number }}" '.PERFECTO_DETAILS."iPhone-11".jobNumber=$git_run' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
if [ ${{ needs.vars.outputs.existing_controller }} != '' ]
|
||||
then
|
||||
jq '.CONFIGURATION.interop.controller.url="https://sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build:16001"' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
fi
|
||||
|
||||
|
||||
- name: run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
namespace: interop-${{ github.run_id }}-iphone-11
|
||||
testbed: interop-01
|
||||
testbed: interop
|
||||
marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'interop_uc_sanity and client_connect and ios' }}"
|
||||
configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
|
||||
configuration_file: "$./lab_info.json"
|
||||
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
|
||||
additional_args: "-o model-iOS='iPhone-11' -o 'jobName=Github-Interop-iphone-11' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
|
||||
additional_args: "--device='iPhone-11' --skip-lanforge"
|
||||
allure_results_artifact_name: allure-results-iphone-11
|
||||
|
||||
- name: stop reservation
|
||||
if: always()
|
||||
run: python .quali/stop_reservation.py ${{ steps.reservation.outputs.identifier }}
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
|
||||
# necessary because if conditionals in composite actions are currently not respected
|
||||
- name: delete namespace
|
||||
if: always()
|
||||
@@ -129,26 +247,80 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: install dependencies
|
||||
run: |
|
||||
pip install -r .quali/requirements.txt
|
||||
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||
# unzip awscliv2.zip
|
||||
# sudo ./aws/install
|
||||
|
||||
- name: start reservation
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
python .quali/start_reservation.py --global-inputs '{"Phone ID(s)":"2","AP ID(s)":"2","Optional Existing SDK Namespace":"${{ needs.vars.outputs.existing_controller }}","Include a LANForge?":"Yes","securityToken":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJpYXQiOjE2MzI4Mzc2NDEsImp0aSI6IjAwZGRiYWY5LWQwYjMtNDRjNS1hYjVlLTkyNzFlNzc5ZGUzNiIsImlzcyI6Imh0dHBzOi8vYXV0aDIucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL3RpcC1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiODNkNjUxMWQtNTBmZS00ZWM5LThkNzAtYTA0ZjBkNTdiZDUyIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI2ZjE1YzYxNy01YTU5LTQyOWEtODc2Yi1jOTQxMTQ1ZDFkZTIiLCJzZXNzaW9uX3N0YXRlIjoiYmRjZTFmYTMtMjlkYi00MmFmLWI5YWMtYjZjZmJkMDEyOTFhIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.5R85_1R38ZFXv_wIjjCIsj8NJm1p66dCsLJI5DBEmks"}' --reservation-duration 480 "InterOp Lab - Specific Selection"
|
||||
|
||||
- name: set reservation outputs
|
||||
if: always()
|
||||
id: reservation
|
||||
run: |
|
||||
echo ::set-output name=identifier::"$(cat ./reservation_id.txt)"
|
||||
echo ::set-output name=namespace::"$(cat ./reservation_id.txt | cut -d "-" -f 1)"
|
||||
|
||||
|
||||
- name: get EKS access credentials
|
||||
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
|
||||
|
||||
|
||||
# TODO WIFI-7839 delete when issue is resolved on AWS CLI side
|
||||
- name: install kubectl
|
||||
run: |
|
||||
curl -LO "https://dl.k8s.io/release/v1.23.6/bin/linux/amd64/kubectl"
|
||||
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
||||
|
||||
- name: prepare configuration
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
cat << EOF > lab_info.json
|
||||
${{ secrets.LAB_CONFIGURATION_JSON }}
|
||||
EOF
|
||||
|
||||
DYN_CONFIG="$(python .quali/get_configuration.py --json ${{ steps.reservation.outputs.identifier }})"
|
||||
|
||||
jq ".CONFIGURATION.interop=$DYN_CONFIG" lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
jq --arg git_run "${{ github.run_number }}" '.PERFECTO_DETAILS."Galaxy S10.*".jobNumber=$git_run' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
|
||||
if [ ${{ needs.vars.outputs.existing_controller }} != '' ]
|
||||
then
|
||||
jq '.CONFIGURATION.interop.controller.url="https://sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build:16001"' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
fi
|
||||
|
||||
|
||||
- name: run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
namespace: interop-${{ github.run_id }}-galaxy-s10
|
||||
testbed: interop-02
|
||||
testbed: interop
|
||||
marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'interop_uc_sanity and client_connect and android' }}"
|
||||
configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
|
||||
configuration_file: "./lab_info.json"
|
||||
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
|
||||
additional_args: "-o model-android='Galaxy S10.*' -o 'jobName=Github-Interop-galaxy-s10' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
|
||||
additional_args: "--device='Galaxy S10.*' --skip-lanforge"
|
||||
allure_results_artifact_name: allure-results-galaxy-s10
|
||||
|
||||
- name: stop reservation
|
||||
if: always()
|
||||
run: python .quali/stop_reservation.py ${{ steps.reservation.outputs.identifier }}
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
|
||||
# necessary because if conditionals in composite actions are currently not respected
|
||||
- name: delete namespace
|
||||
if: always()
|
||||
@@ -162,26 +334,82 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: install dependencies
|
||||
run: |
|
||||
pip install -r .quali/requirements.txt
|
||||
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||
# unzip awscliv2.zip
|
||||
# sudo ./aws/install
|
||||
|
||||
- name: start reservation
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
python .quali/start_reservation.py --global-inputs '{"Phone ID(s)":"5","AP ID(s)":"2","Optional Existing SDK Namespace":"${{ needs.vars.outputs.existing_controller }}","Include a LANForge?":"Yes","securityToken":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJpYXQiOjE2MzI4Mzc2NDEsImp0aSI6IjAwZGRiYWY5LWQwYjMtNDRjNS1hYjVlLTkyNzFlNzc5ZGUzNiIsImlzcyI6Imh0dHBzOi8vYXV0aDIucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL3RpcC1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiODNkNjUxMWQtNTBmZS00ZWM5LThkNzAtYTA0ZjBkNTdiZDUyIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI2ZjE1YzYxNy01YTU5LTQyOWEtODc2Yi1jOTQxMTQ1ZDFkZTIiLCJzZXNzaW9uX3N0YXRlIjoiYmRjZTFmYTMtMjlkYi00MmFmLWI5YWMtYjZjZmJkMDEyOTFhIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.5R85_1R38ZFXv_wIjjCIsj8NJm1p66dCsLJI5DBEmks"}' --reservation-duration 480 "InterOp Lab - Specific Selection"
|
||||
|
||||
- name: set reservation outputs
|
||||
if: always()
|
||||
id: reservation
|
||||
run: |
|
||||
echo ::set-output name=identifier::"$(cat ./reservation_id.txt)"
|
||||
echo ::set-output name=namespace::"$(cat ./reservation_id.txt | cut -d "-" -f 1)"
|
||||
|
||||
|
||||
- name: get EKS access credentials
|
||||
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
|
||||
|
||||
|
||||
# TODO WIFI-7839 delete when issue is resolved on AWS CLI side
|
||||
- name: install kubectl
|
||||
run: |
|
||||
curl -LO "https://dl.k8s.io/release/v1.23.6/bin/linux/amd64/kubectl"
|
||||
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
||||
|
||||
- name: prepare configuration
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
cat << EOF > lab_info.json
|
||||
${{ secrets.LAB_CONFIGURATION_JSON }}
|
||||
EOF
|
||||
|
||||
DYN_CONFIG="$(python .quali/get_configuration.py --json ${{ steps.reservation.outputs.identifier }})"
|
||||
|
||||
jq ".CONFIGURATION.interop=$DYN_CONFIG" lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
jq --arg git_run "${{ github.run_number }}" '.PERFECTO_DETAILS."iPhone-7".jobNumber=$git_run' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
|
||||
|
||||
if [ ${{ needs.vars.outputs.existing_controller }} != '' ]
|
||||
then
|
||||
jq '.CONFIGURATION.interop.controller.url="https://sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build:16001"' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
fi
|
||||
|
||||
|
||||
- name: run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
namespace: interop-${{ github.run_id }}-iphone-7
|
||||
testbed: interop-02
|
||||
testbed: interop
|
||||
marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'interop_uc_sanity and client_connect and ios' }}"
|
||||
configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
|
||||
configuration_file: "./lab_info.json"
|
||||
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
|
||||
additional_args: "-o model-iOS='iPhone-7' -o 'jobName=Github-Interop-iphone-7' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
|
||||
additional_args: "--device='iPhone-7' --skip-lanforge"
|
||||
allure_results_artifact_name: allure-results-iphone-7
|
||||
|
||||
- name: stop reservation
|
||||
if: always()
|
||||
run: python .quali/stop_reservation.py ${{ steps.reservation.outputs.identifier }}
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
|
||||
# necessary because if conditionals in composite actions are currently not respected
|
||||
- name: delete namespace
|
||||
if: always()
|
||||
@@ -196,26 +424,79 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: install dependencies
|
||||
run: |
|
||||
pip install -r .quali/requirements.txt
|
||||
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||
# unzip awscliv2.zip
|
||||
# sudo ./aws/install
|
||||
|
||||
- name: start reservation
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
python .quali/start_reservation.py --global-inputs '{"Phone ID(s)":"3","AP ID(s)":"4","Optional Existing SDK Namespace":"${{ needs.vars.outputs.existing_controller }}","Include a LANForge?":"Yes","securityToken":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJpYXQiOjE2MzI4Mzc2NDEsImp0aSI6IjAwZGRiYWY5LWQwYjMtNDRjNS1hYjVlLTkyNzFlNzc5ZGUzNiIsImlzcyI6Imh0dHBzOi8vYXV0aDIucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL3RpcC1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiODNkNjUxMWQtNTBmZS00ZWM5LThkNzAtYTA0ZjBkNTdiZDUyIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI2ZjE1YzYxNy01YTU5LTQyOWEtODc2Yi1jOTQxMTQ1ZDFkZTIiLCJzZXNzaW9uX3N0YXRlIjoiYmRjZTFmYTMtMjlkYi00MmFmLWI5YWMtYjZjZmJkMDEyOTFhIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.5R85_1R38ZFXv_wIjjCIsj8NJm1p66dCsLJI5DBEmks"}' --reservation-duration 480 "InterOp Lab - Specific Selection"
|
||||
|
||||
- name: set reservation outputs
|
||||
if: always()
|
||||
id: reservation
|
||||
run: |
|
||||
echo ::set-output name=identifier::"$(cat ./reservation_id.txt)"
|
||||
echo ::set-output name=namespace::"$(cat ./reservation_id.txt | cut -d "-" -f 1)"
|
||||
|
||||
|
||||
- name: get EKS access credentials
|
||||
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
|
||||
|
||||
|
||||
# TODO WIFI-7839 delete when issue is resolved on AWS CLI side
|
||||
- name: install kubectl
|
||||
run: |
|
||||
curl -LO "https://dl.k8s.io/release/v1.23.6/bin/linux/amd64/kubectl"
|
||||
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
||||
|
||||
- name: prepare configuration
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
cat << EOF > lab_info.json
|
||||
${{ secrets.LAB_CONFIGURATION_JSON }}
|
||||
EOF
|
||||
|
||||
DYN_CONFIG="$(python .quali/get_configuration.py --json ${{ steps.reservation.outputs.identifier }})"
|
||||
|
||||
jq ".CONFIGURATION.interop=$DYN_CONFIG" lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
jq --arg git_run "${{ github.run_number }}" '.PERFECTO_DETAILS."Galaxy S20".jobNumber=$git_run' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
|
||||
if [ ${{ needs.vars.outputs.existing_controller }} != '' ]
|
||||
then
|
||||
jq '.CONFIGURATION.interop.controller.url="https://sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build:16001"' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
fi
|
||||
|
||||
- name: run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
namespace: interop-${{ github.run_id }}-galaxy-s20
|
||||
testbed: interop-03
|
||||
testbed: interop
|
||||
marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'interop_uc_sanity and client_connect and android' }}"
|
||||
configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
|
||||
configuration_file: "./lab_info.json"
|
||||
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
|
||||
additional_args: "-o model-android='Galaxy S20' -o 'jobName=Github-Interop-galaxy-s20' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
|
||||
additional_args: "--device='Galaxy S20' --skip-lanforge"
|
||||
allure_results_artifact_name: allure-results-galaxy-s20
|
||||
|
||||
- name: stop reservation
|
||||
if: always()
|
||||
run: python .quali/stop_reservation.py ${{ steps.reservation.outputs.identifier }}
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
|
||||
# necessary because if conditionals in composite actions are currently not respected
|
||||
- name: delete namespace
|
||||
if: always()
|
||||
@@ -229,6 +510,29 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: install dependencies
|
||||
run: |
|
||||
pip install -r .quali/requirements.txt
|
||||
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||
# unzip awscliv2.zip
|
||||
# sudo ./aws/install
|
||||
|
||||
- name: start reservation
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
python .quali/start_reservation.py --global-inputs '{"Phone ID(s)":"8","AP ID(s)":"4","Optional Existing SDK Namespace":"${{ needs.vars.outputs.existing_controller }}","Include a LANForge?":"Yes","securityToken":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJpYXQiOjE2MzI4Mzc2NDEsImp0aSI6IjAwZGRiYWY5LWQwYjMtNDRjNS1hYjVlLTkyNzFlNzc5ZGUzNiIsImlzcyI6Imh0dHBzOi8vYXV0aDIucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL3RpcC1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiODNkNjUxMWQtNTBmZS00ZWM5LThkNzAtYTA0ZjBkNTdiZDUyIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI2ZjE1YzYxNy01YTU5LTQyOWEtODc2Yi1jOTQxMTQ1ZDFkZTIiLCJzZXNzaW9uX3N0YXRlIjoiYmRjZTFmYTMtMjlkYi00MmFmLWI5YWMtYjZjZmJkMDEyOTFhIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.5R85_1R38ZFXv_wIjjCIsj8NJm1p66dCsLJI5DBEmks"}' --reservation-duration 480 "InterOp Lab - Specific Selection"
|
||||
|
||||
- name: set reservation outputs
|
||||
if: always()
|
||||
id: reservation
|
||||
run: |
|
||||
echo ::set-output name=identifier::"$(cat ./reservation_id.txt)"
|
||||
echo ::set-output name=namespace::"$(cat ./reservation_id.txt | cut -d "-" -f 1)"
|
||||
|
||||
|
||||
- name: get EKS access credentials
|
||||
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
|
||||
|
||||
@@ -238,17 +542,47 @@ jobs:
|
||||
curl -LO "https://dl.k8s.io/release/v1.23.6/bin/linux/amd64/kubectl"
|
||||
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
||||
|
||||
- name: prepare configuration
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
cat << EOF > lab_info.json
|
||||
${{ secrets.LAB_CONFIGURATION_JSON }}
|
||||
EOF
|
||||
|
||||
DYN_CONFIG="$(python .quali/get_configuration.py --json ${{ steps.reservation.outputs.identifier }})"
|
||||
|
||||
jq ".CONFIGURATION.interop=$DYN_CONFIG" lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
jq --arg git_run "${{ github.run_number }}" '.PERFECTO_DETAILS."iPhone-XR".jobNumber=$git_run' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
if [ ${{ needs.vars.outputs.existing_controller }} != '' ]
|
||||
then
|
||||
jq '.CONFIGURATION.interop.controller.url="https://sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build:16001"' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
fi
|
||||
|
||||
|
||||
- name: run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
namespace: interop-${{ github.run_id }}-iphone-xr
|
||||
testbed: interop-03
|
||||
testbed: interop
|
||||
marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'interop_uc_sanity and client_connect and ios' }}"
|
||||
configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
|
||||
configuration_file: "./lab_info.json"
|
||||
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
|
||||
additional_args: "-o model-iOS='iPhone-XR' -o 'jobName=Github-Interop-iphone-xr' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
|
||||
additional_args: "--device='iPhone-XR' --skip-lanforge"
|
||||
allure_results_artifact_name: allure-results-iphone-xr
|
||||
|
||||
- name: stop reservation
|
||||
if: always()
|
||||
run: python .quali/stop_reservation.py ${{ steps.reservation.outputs.identifier }}
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
|
||||
# necessary because if conditionals in composite actions are currently not respected
|
||||
- name: delete namespace
|
||||
if: always()
|
||||
@@ -263,6 +597,28 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: install dependencies
|
||||
run: |
|
||||
pip install -r .quali/requirements.txt
|
||||
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||
# unzip awscliv2.zip
|
||||
# sudo ./aws/install
|
||||
|
||||
- name: start reservation
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
python .quali/start_reservation.py --global-inputs '{"Phone ID(s)":"4","AP ID(s)":"3","Optional Existing SDK Namespace":"${{ needs.vars.outputs.existing_controller }}","Include a LANForge?":"Yes","securityToken":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJpYXQiOjE2MzI4Mzc2NDEsImp0aSI6IjAwZGRiYWY5LWQwYjMtNDRjNS1hYjVlLTkyNzFlNzc5ZGUzNiIsImlzcyI6Imh0dHBzOi8vYXV0aDIucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL3RpcC1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiODNkNjUxMWQtNTBmZS00ZWM5LThkNzAtYTA0ZjBkNTdiZDUyIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI2ZjE1YzYxNy01YTU5LTQyOWEtODc2Yi1jOTQxMTQ1ZDFkZTIiLCJzZXNzaW9uX3N0YXRlIjoiYmRjZTFmYTMtMjlkYi00MmFmLWI5YWMtYjZjZmJkMDEyOTFhIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.5R85_1R38ZFXv_wIjjCIsj8NJm1p66dCsLJI5DBEmks"}' --reservation-duration 480 "InterOp Lab - Specific Selection"
|
||||
|
||||
- name: set reservation outputs
|
||||
if: always()
|
||||
id: reservation
|
||||
run: |
|
||||
echo ::set-output name=identifier::"$(cat ./reservation_id.txt)"
|
||||
echo ::set-output name=namespace::"$(cat ./reservation_id.txt | cut -d "-" -f 1)"
|
||||
|
||||
- name: get EKS access credentials
|
||||
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
|
||||
|
||||
@@ -272,17 +628,49 @@ jobs:
|
||||
curl -LO "https://dl.k8s.io/release/v1.23.6/bin/linux/amd64/kubectl"
|
||||
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
||||
|
||||
- name: prepare configuration
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
cat << EOF > lab_info.json
|
||||
${{ secrets.LAB_CONFIGURATION_JSON }}
|
||||
EOF
|
||||
|
||||
DYN_CONFIG="$(python .quali/get_configuration.py --json ${{ steps.reservation.outputs.identifier }})"
|
||||
|
||||
jq ".CONFIGURATION.interop=$DYN_CONFIG" lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
jq --arg git_run "${{ github.run_number }}" '.PERFECTO_DETAILS."Pixel 4".jobNumber=$git_run' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
|
||||
|
||||
if [ ${{ needs.vars.outputs.existing_controller }} != '' ]
|
||||
then
|
||||
jq '.CONFIGURATION.interop.controller.url="https://sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build:16001"' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
fi
|
||||
|
||||
|
||||
|
||||
- name: run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
namespace: interop-${{ github.run_id }}-pixel-4
|
||||
testbed: interop-04
|
||||
testbed: interop
|
||||
marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'interop_uc_sanity and client_connect and android' }}"
|
||||
configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
|
||||
configuration_file: "./lab_info.json"
|
||||
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
|
||||
additional_args: "-o model-android='Pixel 4' -o 'jobName=Github-Interop-pixel-4' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
|
||||
additional_args: "--device='Pixel 4' --skip-lanforge"
|
||||
allure_results_artifact_name: allure-results-pixel-4
|
||||
|
||||
- name: stop reservation
|
||||
if: always()
|
||||
run: python .quali/stop_reservation.py ${{ steps.reservation.outputs.identifier }}
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
|
||||
# necessary because if conditionals in composite actions are currently not respected
|
||||
- name: delete namespace
|
||||
if: always()
|
||||
@@ -296,6 +684,28 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: install dependencies
|
||||
run: |
|
||||
pip install -r .quali/requirements.txt
|
||||
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||
# unzip awscliv2.zip
|
||||
# sudo ./aws/install
|
||||
|
||||
- name: start reservation
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
python .quali/start_reservation.py --global-inputs '{"Phone ID(s)":"7","AP ID(s)":"3","Optional Existing SDK Namespace":"${{ needs.vars.outputs.existing_controller }}","Include a LANForge?":"Yes","securityToken":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJpYXQiOjE2MzI4Mzc2NDEsImp0aSI6IjAwZGRiYWY5LWQwYjMtNDRjNS1hYjVlLTkyNzFlNzc5ZGUzNiIsImlzcyI6Imh0dHBzOi8vYXV0aDIucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL3RpcC1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiODNkNjUxMWQtNTBmZS00ZWM5LThkNzAtYTA0ZjBkNTdiZDUyIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI2ZjE1YzYxNy01YTU5LTQyOWEtODc2Yi1jOTQxMTQ1ZDFkZTIiLCJzZXNzaW9uX3N0YXRlIjoiYmRjZTFmYTMtMjlkYi00MmFmLWI5YWMtYjZjZmJkMDEyOTFhIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.5R85_1R38ZFXv_wIjjCIsj8NJm1p66dCsLJI5DBEmks"}' --reservation-duration 480 "InterOp Lab - Specific Selection"
|
||||
|
||||
- name: set reservation outputs
|
||||
if: always()
|
||||
id: reservation
|
||||
run: |
|
||||
echo ::set-output name=identifier::"$(cat ./reservation_id.txt)"
|
||||
echo ::set-output name=namespace::"$(cat ./reservation_id.txt | cut -d "-" -f 1)"
|
||||
|
||||
- name: get EKS access credentials
|
||||
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
|
||||
|
||||
@@ -305,17 +715,47 @@ jobs:
|
||||
curl -LO "https://dl.k8s.io/release/v1.23.6/bin/linux/amd64/kubectl"
|
||||
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
||||
|
||||
- name: prepare configuration
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
cat << EOF > lab_info.json
|
||||
${{ secrets.LAB_CONFIGURATION_JSON }}
|
||||
EOF
|
||||
|
||||
DYN_CONFIG="$(python .quali/get_configuration.py --json ${{ steps.reservation.outputs.identifier }})"
|
||||
|
||||
jq ".CONFIGURATION.interop=$DYN_CONFIG" lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
jq --arg git_run "${{ github.run_number }}" '.PERFECTO_DETAILS."iPhone-12".jobNumber=$git_run' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
|
||||
if [ ${{ needs.vars.outputs.existing_controller }} != '' ]
|
||||
then
|
||||
jq '.CONFIGURATION.interop.controller.url="https://sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build:16001"' lab_info.json > lab_info.json.tmp && mv lab_info.json.tmp lab_info.json
|
||||
fi
|
||||
|
||||
|
||||
- name: run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
namespace: interop-${{ github.run_id }}-iphone-12
|
||||
testbed: interop-04
|
||||
testbed: interop
|
||||
marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'interop_uc_sanity and client_connect and ios' }}"
|
||||
configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
|
||||
configuration_file: "./lab_info.json"
|
||||
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
|
||||
additional_args: "-o model-iOS='iPhone-12' -o 'jobName=Github-Interop-iphone-12' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
|
||||
additional_args: "--device='iPhone-12' --skip-lanforge"
|
||||
allure_results_artifact_name: allure-results-iphone-12
|
||||
|
||||
- name: stop reservation
|
||||
if: always()
|
||||
run: python .quali/stop_reservation.py ${{ steps.reservation.outputs.identifier }}
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
|
||||
# necessary because if conditionals in composite actions are currently not respected
|
||||
- name: delete namespace
|
||||
if: always()
|
||||
|
||||
@@ -57,7 +57,9 @@ def main():
|
||||
key = 'username' if key == 'uname' else key
|
||||
key = 'password' if key == 'passkey' else key
|
||||
|
||||
ap_config[key] = get_attribute_value(session, attribute)
|
||||
if get_attribute_value(session, attribute) != "":
|
||||
ap_config[key] = get_attribute_value(session, attribute)
|
||||
#ap_config[key] = get_attribute_value(session, attribute)
|
||||
|
||||
config['access_point'].append(ap_config)
|
||||
|
||||
@@ -96,4 +98,4 @@ def main():
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
main()
|
||||
@@ -37,6 +37,7 @@ with open('lab_info.json', 'r') as f:
|
||||
|
||||
CONFIGURATION = data["CONFIGURATION"]
|
||||
|
||||
PERFECTO_DETAILS = data["PERFECTO_DETAILS"]
|
||||
|
||||
RADIUS_SERVER_DATA = data["RADIUS_SERVER_DATA"]
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ import pytest
|
||||
from lanforge.lf_tests import RunTest
|
||||
from cv_test_manager import cv_test
|
||||
from configuration import CONFIGURATION
|
||||
from configuration import PERFECTO_DETAILS
|
||||
from configuration import open_flow
|
||||
from configuration import RADIUS_SERVER_DATA
|
||||
from configuration import RADIUS_ACCOUNTING_DATA
|
||||
@@ -147,6 +148,12 @@ def pytest_addoption(parser):
|
||||
default=False,
|
||||
help="skip cloud controller and AP, run only lanforge tests on a ssid preconfigured"
|
||||
)
|
||||
parser.addoption(
|
||||
"--device",
|
||||
default="iPhone-11",
|
||||
help="Device Model which is needed to test"
|
||||
)
|
||||
|
||||
|
||||
# Perfecto Parameters
|
||||
parser.addini("perfectoURL", "Cloud URL")
|
||||
@@ -196,6 +203,11 @@ def testbed(request):
|
||||
var = request.config.getoption("--testbed")
|
||||
yield var
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def device(request):
|
||||
"""yields the device option selection"""
|
||||
var = request.config.getoption("--device")
|
||||
yield var
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def should_upload_firmware(request):
|
||||
@@ -259,6 +271,14 @@ def get_configuration(testbed, request):
|
||||
LOGGER.info("Selected the lab Info data: " + str((CONFIGURATION[testbed])))
|
||||
yield CONFIGURATION[testbed]
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def get_device_configuration(device, request):
|
||||
"""yields the selected device information from lab info file (configuration.py)"""
|
||||
|
||||
LOGGER.info("Selected the lab Info data: " + str((PERFECTO_DETAILS[device])))
|
||||
print(PERFECTO_DETAILS[device])
|
||||
yield PERFECTO_DETAILS[device]
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def get_apnos():
|
||||
|
||||
@@ -41,6 +41,7 @@ if "tests" not in sys.path:
|
||||
sys.path.append(f'../tests')
|
||||
|
||||
from configuration import CONFIGURATION
|
||||
from configuration import PERFECTO_DETAILS
|
||||
|
||||
from urllib3 import exceptions
|
||||
|
||||
@@ -52,68 +53,68 @@ testCaseReportURL = []
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def get_PassPointConniOS_data(request):
|
||||
def get_PassPointConniOS_data(request, get_device_configuration):
|
||||
passPoint_data = {
|
||||
"netAnalyzer-inter-Con-Xpath": "//*[@label='Network Connected']/parent::*/XCUIElementTypeButton",
|
||||
"bundleId-iOS-Settings": request.config.getini("bundleId-iOS-Settings"),
|
||||
"bundleId-iOS-Ping": request.config.getini("bundleId-iOS-Ping")
|
||||
"bundleId-iOS-Settings": get_device_configuration["bundleId-iOS-Settings"],
|
||||
"bundleId-iOS-Ping": get_device_configuration["bundleId-iOS-Ping"]
|
||||
}
|
||||
yield passPoint_data
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def get_APToMobileDevice_data(request):
|
||||
def get_APToMobileDevice_data(request, get_device_configuration):
|
||||
passPoint_data = {
|
||||
"webURL": "https://www.google.com",
|
||||
"lblSearch": "//*[@class='gLFyf']",
|
||||
"elelSearch": "(//*[@class='sbic sb43'])[1]",
|
||||
"BtnRunSpeedTest": "//*[text()='RUN SPEED TEST']",
|
||||
"bundleId-iOS-Settings": request.config.getini("bundleId-iOS-Settings"),
|
||||
"bundleId-iOS-Safari": request.config.getini("bundleId-iOS-Safari"),
|
||||
"bundleId-iOS-Settings": get_device_configuration["bundleId-iOS-Settings"],
|
||||
"bundleId-iOS-Safari": get_device_configuration["bundleId-iOS-Safari"],
|
||||
"downloadMbps": "//*[@id='knowledge-verticals-internetspeedtest__download']/P[@class='spiqle']",
|
||||
"UploadMbps": "//*[@id='knowledge-verticals-internetspeedtest__upload']/P[@class='spiqle']",
|
||||
# Android
|
||||
"platformName-android": request.config.getini("platformName-android"),
|
||||
"appPackage-android": request.config.getini("appPackage-android")
|
||||
"platformName-android": get_device_configuration["platformName-android"],
|
||||
"appPackage-android": get_device_configuration["appPackage-android"]
|
||||
}
|
||||
yield passPoint_data
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def get_AccessPointConn_data(request):
|
||||
def get_AccessPointConn_data(request, get_device_configuration):
|
||||
passPoint_data = {
|
||||
"bundleId-iOS-Settings": request.config.getini("bundleId-iOS-Settings"),
|
||||
"bundleId-iOS-Ping": request.config.getini("bundleId-iOS-Ping")
|
||||
"bundleId-iOS-Settings": get_device_configuration["bundleId-iOS-Settings"],
|
||||
"bundleId-iOS-Ping": get_device_configuration["bundleId-iOS-Ping"]
|
||||
}
|
||||
yield passPoint_data
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def get_ToggleAirplaneMode_data(request):
|
||||
def get_ToggleAirplaneMode_data(request, get_device_configuration):
|
||||
passPoint_data = {
|
||||
"webURL": "https://www.google.com",
|
||||
"lblSearch": "//*[@class='gLFyf']",
|
||||
"elelSearch": "(//*[@class='sbic sb43'])[1]",
|
||||
"BtnRunSpeedTest": "//*[text()='RUN SPEED TEST']",
|
||||
"bundleId-iOS-Settings": request.config.getini("bundleId-iOS-Settings"),
|
||||
"bundleId-iOS-Safari": request.config.getini("bundleId-iOS-Safari"),
|
||||
"bundleId-iOS-Settings": get_device_configuration["bundleId-iOS-Settings"],
|
||||
"bundleId-iOS-Safari": get_device_configuration["bundleId-iOS-Safari"],
|
||||
"downloadMbps": "//*[@id='knowledge-verticals-internetspeedtest__download']/P[@class='spiqle']",
|
||||
"UploadMbps": "//*[@id='knowledge-verticals-internetspeedtest__upload']/P[@class='spiqle']",
|
||||
# Android
|
||||
"platformName-android": request.config.getini("platformName-android"),
|
||||
"appPackage-android": request.config.getini("appPackage-android")
|
||||
"platformName-android": get_device_configuration["platformName-android"],
|
||||
"appPackage-android": get_device_configuration["appPackage-android"]
|
||||
}
|
||||
yield passPoint_data
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def get_ToggleWifiMode_data(request):
|
||||
def get_ToggleWifiMode_data(request,get_device_configuration):
|
||||
passPoint_data = {
|
||||
# iOS
|
||||
"bundleId-iOS-Settings": request.config.getini("bundleId-iOS-Settings"),
|
||||
"bundleId-iOS-Settings": get_device_configuration["bundleId-iOS-Settings"],
|
||||
# Android
|
||||
"platformName-android": request.config.getini("platformName-android"),
|
||||
"appPackage-android": request.config.getini("appPackage-android")
|
||||
"platformName-android": get_device_configuration["platformName-android"],
|
||||
"appPackage-android": get_device_configuration["appPackage-android"]
|
||||
}
|
||||
yield passPoint_data
|
||||
|
||||
@@ -394,7 +395,7 @@ def pytest_sessionfinish(session, exitstatus):
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def setup_perfectoMobile_android(request):
|
||||
def setup_perfectoMobile_android(request, get_device_configuration):
|
||||
from appium import webdriver
|
||||
driver = None
|
||||
reporting_client = None
|
||||
@@ -403,11 +404,11 @@ def setup_perfectoMobile_android(request):
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
capabilities = {
|
||||
'platformName': request.config.getini("platformName-android"),
|
||||
'model': request.config.getini("model-android"),
|
||||
'platformName': get_device_configuration["platformName-android"],
|
||||
'model': get_device_configuration["model-android"],
|
||||
'browserName': 'mobileOS',
|
||||
# 'automationName' : 'Appium',
|
||||
'securityToken': request.config.getini("securityToken"),
|
||||
'securityToken': PERFECTO_DETAILS["securityToken"],
|
||||
'useAppiumForWeb': 'false',
|
||||
'useAppiumForHybrid': 'false',
|
||||
# 'bundleId' : request.config.getini("appPackage-android"),
|
||||
@@ -418,7 +419,7 @@ def setup_perfectoMobile_android(request):
|
||||
pytest.exit("Exiting Pytest")
|
||||
|
||||
driver = webdriver.Remote(
|
||||
'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub',
|
||||
'https://' + PERFECTO_DETAILS["perfectoURL"] + '.perfectomobile.com/nexperience/perfectomobile/wd/hub',
|
||||
capabilities)
|
||||
driver.implicitly_wait(2)
|
||||
|
||||
@@ -433,11 +434,11 @@ def setup_perfectoMobile_android(request):
|
||||
print("\nUpgrade Python to 3.9 to avoid test_ string in your test case name, see below URL")
|
||||
# print("https://www.andreagrandi.it/2020/10/11/python39-introduces-removeprefix-removesuffix/")
|
||||
|
||||
projectname = request.config.getini("projectName")
|
||||
projectversion = request.config.getini("projectVersion")
|
||||
jobname = request.config.getini("jobName")
|
||||
jobnumber = request.config.getini("jobNumber")
|
||||
tags = request.config.getini("reportTags")
|
||||
projectname = PERFECTO_DETAILS["projectName"]
|
||||
projectversion = PERFECTO_DETAILS["projectVersion"]
|
||||
jobname = get_device_configuration["jobName"]
|
||||
jobnumber = get_device_configuration["jobNumber"]
|
||||
tags = PERFECTO_DETAILS["reportTags"]
|
||||
testCaseName = TestCaseName
|
||||
|
||||
# print("\nSetting Perfecto ReportClient....")
|
||||
@@ -506,7 +507,7 @@ def reportPerfecto(testCaseName, testCaseStatus, testErrorMsg, reportURL):
|
||||
|
||||
|
||||
@pytest.fixture(scope="class")
|
||||
def setup_perfectoMobileWeb(request):
|
||||
def setup_perfectoMobileWeb(request, get_device_configuration):
|
||||
from selenium import webdriver
|
||||
rdriver = None
|
||||
reporting_client = None
|
||||
@@ -515,10 +516,10 @@ def setup_perfectoMobileWeb(request):
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
capabilities = {
|
||||
'platformName': request.config.getini("platformName-iOS"),
|
||||
'model': request.config.getini("model-iOS"),
|
||||
'browserName': request.config.getini("browserType-iOS"),
|
||||
'securityToken': request.config.getini("securityToken"),
|
||||
'platformName': get_device_configuration["platformName-iOS"],
|
||||
'model': get_device_configuration["model-iOS"],
|
||||
'browserName': get_device_configuration["browserType-iOS"],
|
||||
'securityToken': get_device_configuration["securityToken"],
|
||||
}
|
||||
|
||||
if not is_device_Available_timeout(request, capabilities['model']):
|
||||
@@ -526,16 +527,16 @@ def setup_perfectoMobileWeb(request):
|
||||
pytest.exit("Exiting Pytest")
|
||||
|
||||
rdriver = webdriver.Remote(
|
||||
'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub',
|
||||
'https://' + PERFECTO_DETAILS["perfectoURL"] + '.perfectomobile.com/nexperience/perfectomobile/wd/hub',
|
||||
capabilities)
|
||||
rdriver.implicitly_wait(2)
|
||||
|
||||
projectname = request.config.getini("projectName")
|
||||
projectversion = request.config.getini("projectVersion")
|
||||
jobname = request.config.getini("jobName")
|
||||
jobnumber = request.config.getini("jobNumber")
|
||||
tags = request.config.getini("reportTags")
|
||||
testCaseName = request.config.getini("jobName")
|
||||
projectname = PERFECTO_DETAILS["projectName"]
|
||||
projectversion = PERFECTO_DETAILS["projectVersion"]
|
||||
jobname = get_device_configuration["jobName"]
|
||||
jobnumber = get_device_configuration["jobNumber"]
|
||||
tags = PERFECTO_DETAILS["reportTags"]
|
||||
testCaseName = get_device_configuration["jobName"]
|
||||
|
||||
print("Setting Perfecto ReportClient....")
|
||||
perfecto_execution_context = PerfectoExecutionContext(rdriver, tags, Job(jobname, jobnumber),
|
||||
@@ -568,7 +569,7 @@ def setup_perfectoMobileWeb(request):
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def setup_perfectoMobile_iOS(request):
|
||||
def setup_perfectoMobile_iOS(request, get_device_configuration):
|
||||
from appium import webdriver
|
||||
driver = None
|
||||
reporting_client = None
|
||||
@@ -577,11 +578,11 @@ def setup_perfectoMobile_iOS(request):
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
capabilities = {
|
||||
'platformName': request.config.getini("platformName-iOS"),
|
||||
'model': request.config.getini("model-iOS"),
|
||||
'platformName': get_device_configuration["platformName-iOS"],
|
||||
'model': get_device_configuration["model-iOS"],
|
||||
'browserName': 'safari',
|
||||
# 'automationName' : 'Appium',
|
||||
'securityToken': request.config.getini("securityToken"),
|
||||
'securityToken': PERFECTO_DETAILS["securityToken"],
|
||||
'useAppiumForWeb': 'false',
|
||||
'autoAcceptAlerts': 'true',
|
||||
# 'bundleId' : request.config.getini("bundleId-iOS"),
|
||||
@@ -594,7 +595,7 @@ def setup_perfectoMobile_iOS(request):
|
||||
pytest.exit("Exiting Pytest")
|
||||
|
||||
driver = webdriver.Remote(
|
||||
'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub',
|
||||
'https://' + PERFECTO_DETAILS["perfectoURL"] + '.perfectomobile.com/nexperience/perfectomobile/wd/hub',
|
||||
capabilities)
|
||||
driver.implicitly_wait(2)
|
||||
|
||||
@@ -609,11 +610,11 @@ def setup_perfectoMobile_iOS(request):
|
||||
print("\nUpgrade Python to 3.9 to avoid test_ string in your test case name, see below URL")
|
||||
# print("https://www.andreagrandi.it/2020/10/11/python39-introduces-removeprefix-removesuffix/")
|
||||
|
||||
projectname = request.config.getini("projectName")
|
||||
projectversion = request.config.getini("projectVersion")
|
||||
jobname = request.config.getini("jobName")
|
||||
jobnumber = request.config.getini("jobNumber")
|
||||
tags = request.config.getini("reportTags")
|
||||
projectname = PERFECTO_DETAILS["projectName"]
|
||||
projectversion = PERFECTO_DETAILS["projectVersion"]
|
||||
jobname = get_device_configuration["jobName"]
|
||||
jobnumber = get_device_configuration["jobNumber"]
|
||||
tags = PERFECTO_DETAILS["reportTags"]
|
||||
testCaseName = TestCaseName
|
||||
|
||||
print("\nSetting Perfecto ReportClient....")
|
||||
@@ -659,8 +660,8 @@ def setup_perfectoMobile_iOS(request):
|
||||
yield driver, reporting_client
|
||||
# Does a HTTP GET request to Perfecto cloud and gets response and information related to a headset
|
||||
def response_device(request, model):
|
||||
securityToken = request.config.getini("securityToken")
|
||||
perfectoURL = request.config.getini("perfectoURL")
|
||||
securityToken = PERFECTO_DETAILS["securityToken"]
|
||||
perfectoURL = PERFECTO_DETAILS["perfectoURL"]
|
||||
url = f"https://{perfectoURL}.perfectomobile.com/services/handsets?operation=list&securityToken={securityToken}&model={model}"
|
||||
resp = requests.get(url=url)
|
||||
return ET.fromstring(resp.content)
|
||||
|
||||
@@ -35,7 +35,7 @@ setup_params_general = {
|
||||
"wpa2_personal": [
|
||||
{"ssid_name": "ssid_wpa2_2g_vlan", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100},
|
||||
{"ssid_name": "ssid_wpa2_5g_vlan", "appliedRadios": ["5G"],
|
||||
"security_key": "something_vlan", "vlan": 100}]},
|
||||
"security_key": "something", "vlan": 100}]},
|
||||
"rf": {},
|
||||
"radius": False
|
||||
}
|
||||
|
||||
@@ -759,6 +759,102 @@
|
||||
}
|
||||
},
|
||||
|
||||
"PERFECTO_DETAILS" : {
|
||||
"securityToken":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJpYXQiOjE2MzI4Mzc2NDEsImp0aSI6IjAwZGRiYWY5LWQwYjMtNDRjNS1hYjVlLTkyNzFlNzc5ZGUzNiIsImlzcyI6Imh0dHBzOi8vYXV0aDIucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL3RpcC1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiODNkNjUxMWQtNTBmZS00ZWM5LThkNzAtYTA0ZjBkNTdiZDUyIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI2ZjE1YzYxNy01YTU5LTQyOWEtODc2Yi1jOTQxMTQ1ZDFkZTIiLCJzZXNzaW9uX3N0YXRlIjoiYmRjZTFmYTMtMjlkYi00MmFmLWI5YWMtYjZjZmJkMDEyOTFhIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.5R85_1R38ZFXv_wIjjCIsj8NJm1p66dCsLJI5DBEmks",
|
||||
"projectName": "TIP-PyTest-Execution",
|
||||
"projectVersion": "1.0",
|
||||
"reportTags": "TestTag",
|
||||
"perfectoURL":"tip",
|
||||
"iPhone-11": {
|
||||
"model-iOS": "iPhone-11",
|
||||
"bundleId-iOS": "com.apple.Preferences",
|
||||
"platformName-iOS": "iOS",
|
||||
"bundleId-iOS-Settings": "com.apple.Preferences",
|
||||
"bundleId-iOS-Ping": "com.deftapps.ping",
|
||||
"browserType-iOS": "Safari",
|
||||
"bundleId-iOS-Safari": "com.apple.mobilesafari",
|
||||
"platformName-android": "Android",
|
||||
"appPackage-android": "com.android.settings",
|
||||
"jobName": "Interop-iphone-11",
|
||||
"jobNumber": 38
|
||||
},
|
||||
"iPhone-12": {
|
||||
"model-iOS": "iPhone-12",
|
||||
"bundleId-iOS": "com.apple.Preferences",
|
||||
"platformName-iOS": "iOS",
|
||||
"bundleId-iOS-Settings": "com.apple.Preferences",
|
||||
"bundleId-iOS-Ping": "com.deftapps.ping",
|
||||
"browserType-iOS": "Safari",
|
||||
"bundleId-iOS-Safari": "com.apple.mobilesafari",
|
||||
"platformName-android": "Android",
|
||||
"appPackage-android": "com.android.settings",
|
||||
"jobName": "Interop-iphone-12",
|
||||
"jobNumber": 38
|
||||
},
|
||||
"iPhone-7": {
|
||||
"model-iOS": "iPhone-7",
|
||||
"bundleId-iOS": "com.apple.Preferences",
|
||||
"platformName-iOS": "iOS",
|
||||
"bundleId-iOS-Settings": "com.apple.Preferences",
|
||||
"bundleId-iOS-Ping": "com.deftapps.ping",
|
||||
"browserType-iOS": "Safari",
|
||||
"bundleId-iOS-Safari": "com.apple.mobilesafari",
|
||||
"platformName-android": "Android",
|
||||
"appPackage-android": "com.android.settings",
|
||||
"jobName": "Interop-iphone-7",
|
||||
"jobNumber": 38
|
||||
},
|
||||
"iPhone-XR": {
|
||||
"model-iOS": "iPhone-XR",
|
||||
"bundleId-iOS": "com.apple.Preferences",
|
||||
"platformName-iOS": "iOS",
|
||||
"bundleId-iOS-Settings": "com.apple.Preferences",
|
||||
"bundleId-iOS-Ping": "com.deftapps.ping",
|
||||
"browserType-iOS": "Safari",
|
||||
"bundleId-iOS-Safari": "com.apple.mobilesafari",
|
||||
"platformName-android": "Android",
|
||||
"appPackage-android": "com.android.settings",
|
||||
"jobName": "Interop-iphone-XR",
|
||||
"jobNumber": 38
|
||||
},
|
||||
"Galaxy S20": {
|
||||
"platformName-android": "Android",
|
||||
"model-android": "Galaxy S20",
|
||||
"appPackage-android": "com.android.settings",
|
||||
"bundleId-iOS-Settings": "com.apple.Preferences",
|
||||
"bundleId-iOS-Safari": "com.apple.mobilesafari",
|
||||
"jobName": "Interop-Galaxy-S20",
|
||||
"jobNumber": 38
|
||||
},
|
||||
"Galaxy S10.*": {
|
||||
"platformName-android": "Android",
|
||||
"model-android": "Galaxy S10.*",
|
||||
"appPackage-android": "com.android.settings",
|
||||
"bundleId-iOS-Settings": "com.apple.Preferences",
|
||||
"bundleId-iOS-Safari": "com.apple.mobilesafari",
|
||||
"jobName": "Interop-Galaxy-S10",
|
||||
"jobNumber": 38
|
||||
},
|
||||
"Galaxy S9": {
|
||||
"platformName-android": "Android",
|
||||
"model-android": "Galaxy S9",
|
||||
"appPackage-android": "com.android.settings",
|
||||
"bundleId-iOS-Settings": "com.apple.Preferences",
|
||||
"bundleId-iOS-Safari": "com.apple.mobilesafari",
|
||||
"jobName": "Interop-Galaxy-S9",
|
||||
"jobNumber": 38
|
||||
},
|
||||
"Pixel 4": {
|
||||
"platformName-android": "Android",
|
||||
"model-android": "Pixel 4",
|
||||
"appPackage-android": "com.android.settings",
|
||||
"bundleId-iOS-Settings": "com.apple.Preferences",
|
||||
"bundleId-iOS-Safari": "com.apple.mobilesafari",
|
||||
"jobName": "Interop-pixel-4",
|
||||
"jobNumber": 38
|
||||
}
|
||||
},
|
||||
|
||||
"RADIUS_SERVER_DATA" : {
|
||||
"ip": "10.10.1.221",
|
||||
"port": 1812,
|
||||
|
||||
@@ -36,38 +36,6 @@ tr_project_id=WLAN
|
||||
tr_prefix=TIP_
|
||||
milestone=29
|
||||
|
||||
#--- Perfecto parameters -----
|
||||
perfectoURL=tip
|
||||
securityToken=eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJpYXQiOjE2MzI4Mzc2NDEsImp0aSI6IjAwZGRiYWY5LWQwYjMtNDRjNS1hYjVlLTkyNzFlNzc5ZGUzNiIsImlzcyI6Imh0dHBzOi8vYXV0aDIucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL3RpcC1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiODNkNjUxMWQtNTBmZS00ZWM5LThkNzAtYTA0ZjBkNTdiZDUyIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI2ZjE1YzYxNy01YTU5LTQyOWEtODc2Yi1jOTQxMTQ1ZDFkZTIiLCJzZXNzaW9uX3N0YXRlIjoiYmRjZTFmYTMtMjlkYi00MmFmLWI5YWMtYjZjZmJkMDEyOTFhIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.5R85_1R38ZFXv_wIjjCIsj8NJm1p66dCsLJI5DBEmks
|
||||
#PS Token
|
||||
#securityToken=eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIyODhhNDIyNS1jOTE1LTQwZDctOTc2YS04MDhiMWE3YTFmODYifQ.eyJpYXQiOjE2MjA4NTU1NTcsImp0aSI6IjNiMWJiNWNhLTkzOTgtNDViOC04YmZkLTAxNjdhNGZjNDY1NCIsImlzcyI6Imh0dHBzOi8vYXV0aC5wZXJmZWN0b21vYmlsZS5jb20vYXV0aC9yZWFsbXMvcHMtcGVyZmVjdG9tb2JpbGUtY29tIiwiYXVkIjoiaHR0cHM6Ly9hdXRoLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy9wcy1wZXJmZWN0b21vYmlsZS1jb20iLCJzdWIiOiIzOTNiMzFhNC00MmJlLTQ2YjEtODkwZS1iZGU3NjdlYTNiNDYiLCJ0eXAiOiJPZmZsaW5lIiwiYXpwIjoib2ZmbGluZS10b2tlbi1nZW5lcmF0b3IiLCJub25jZSI6IjI3MTY4ZjBmLTdlMmItNGI3YS1hZjNjLWFhMGE1NjhkZjE2ZCIsInNlc3Npb25fc3RhdGUiOiJlOWZjZTQ5Mi05NDA3LTQ1ZDItYjU4NS02ZDFiNTAzYzM4ZTUiLCJzY29wZSI6Im9wZW5pZCBvZmZsaW5lX2FjY2VzcyJ9.Z_rJHVkrmR26fZ366yLUSkt2oZX4a8KN7IRCd_QG3qo
|
||||
#demo Cloud
|
||||
#securityToken=eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI4YmI4YmZmZS1kMzBjLTQ2MjctYmMxMS0zNTYyMmY1ZDkyMGYifQ.eyJpYXQiOjE2MjA5MTMzMjAsImp0aSI6ImRkOWI3OTFiLTA5NzUtNGVhMC05NDczLWU2MjEzOThhN2U0NyIsImlzcyI6Imh0dHBzOi8vYXV0aC5wZXJmZWN0b21vYmlsZS5jb20vYXV0aC9yZWFsbXMvZGVtby1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL2RlbW8tcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiZjAyNGVkZGItODZkMy00OTA5LThhZjQtOGY1OTA1Yzc5ZjA4IiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI5ZDdkMjI5Ny1lYzk1LTQ5NjUtYmRmMC1mZWJiYTk4NzI1MzUiLCJzZXNzaW9uX3N0YXRlIjoiMTI1NjFlMDQtMGUwMS00ZTYxLWE4NjMtMGQ2N2RhNzc1NjhiIiwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MifQ.voz1Fca_tOlPDMbIMsoPvTmZHBioeMUetA2sVsQ_SWw
|
||||
|
||||
# Perfecto CI Report
|
||||
projectName=TIP-PyTest-Execution
|
||||
projectVersion=1.0
|
||||
jobName=Tip-RajTest-Android
|
||||
jobNumber=2
|
||||
reportTags=TestTag
|
||||
|
||||
# iOS Device Capabilities
|
||||
#manufacturer-iOS=Apple
|
||||
model-iOS=iPhone-11
|
||||
bundleId-iOS=com.apple.Preferences
|
||||
platformName-iOS=iOS
|
||||
#default iOS settings app
|
||||
bundleId-iOS-Settings=com.apple.Preferences
|
||||
bundleId-iOS-Ping=com.deftapps.ping
|
||||
#browserType-iOS=Safari
|
||||
browserType-iOS=Safari
|
||||
bundleId-iOS-Safari=com.apple.mobilesafari
|
||||
|
||||
# Android Device Capabilities
|
||||
platformName-android=Android
|
||||
model-android=Galaxy S20
|
||||
|
||||
appPackage-android=com.android.settings
|
||||
|
||||
|
||||
filterwarnings=ignore::UserWarning
|
||||
|
||||
Reference in New Issue
Block a user