aboutsummaryrefslogtreecommitdiffstats
path: root/pyagl/tests/test_network.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyagl/tests/test_network.py')
-rw-r--r--pyagl/tests/test_network.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/pyagl/tests/test_network.py b/pyagl/tests/test_network.py
index ca6d1f5..931fddd 100644
--- a/pyagl/tests/test_network.py
+++ b/pyagl/tests/test_network.py
@@ -49,6 +49,26 @@ def scannable_interfaces():
scannable = os.environ.get('AGL_SCANNABLE_INTERFACES', 'wifi,bluetooth').split(',')
+@pytest.fixture()
+async def get_wifi_name(event_loop, service: NS):
+ #get a name_string of a wifi service
+ wifi_name = os.environ.get('AGL_TEST_WIFI_SSID')
+ if not wifi_name:
+ pytest.xfail('Please export AGL_TEST_WIFI_SSID with valid wifi name to run the test.'
+ 'The value of it might look like: wifi_dca6323a2b94_4368696e614e6574_managed_xxx')
+ #Check if the wifi is in the current list
+ msgid = await service.services()
+ resp = await service.afbresponse()
+ data = resp.data
+ t_values = data['values']
+ for ser in t_values:
+ service = ser['service']
+ if service == wifi_name:
+ return wifi_name
+
+ pytest.skip('the service is not in the list')
+
+
async def test_state(event_loop, service: NS):
msgid = await service.state()
resp = await service.afbresponse()
@@ -272,4 +292,30 @@ async def test_unsubscribe_agent(event_loop, service: NS):
assert resp.status == 'success', resp.info
+async def test_scan_wifi(event_loop, service: NS):
+ msgid = await service.scan_services('wifi')
+ resp = await service.afbresponse()
+ if 'No carrier' in resp.info:
+ pytest.xfail('scan wifi services not success,you can try it again')
+ assert resp.status == 'success'
+
+
+async def test_connect_service_wifi(event_loop, service: NS, get_wifi_name):
+ wifi_name = get_wifi_name
+ msgid = await service.connect_service(wifi_name)
+ resp = await service.afbresponse()
+ assert resp.status == 'success' or resp.info == 'Connect error: GDBus.Error:net.connman.Error.AlreadyConnected: Already connected'
+
+async def test_disconnect_service_wifi(event_loop, service: NS, get_wifi_name):
+ wifi_name = get_wifi_name
+ msgid = await service.disconnect_service(wifi_name)
+ resp = await service.afbresponse()
+ assert resp.status == 'success' or resp.info == 'Disconnect error Not connected'
+
+
+async def test_remove_service_wifi(event_loop, service: NS, get_wifi_name):
+ wifi_name = get_wifi_name
+ msgid = await service.remove_service(wifi_name)
+ resp = await service.afbresponse()
+ assert resp.status == 'success'