コード例 #1
0
ファイル: test_wifi.py プロジェクト: mgautierfr/ideascube
def test_list_wifi_networks(mocker):
    from ideascube.serveradmin.wifi import AvailableWifiNetwork

    NM = mocker.patch('ideascube.serveradmin.wifi.NetworkManager')
    NM.Devices = [NMDevice(True)]

    NMSettings = mocker.patch('ideascube.serveradmin.wifi.NMSettings')
    NMSettings.ListConnections.side_effect = lambda: []

    networks = AvailableWifiNetwork.all()
    assert list(networks.keys()) == ['my home network', 'random open network']

    assert str(networks['my home network']) == (
        'Available Wi-Fi network: "my home network"')
    assert networks['my home network'].connected is False
    assert networks['my home network'].known is False
    assert networks['my home network'].secure is True
    assert networks['my home network'].ssid == 'my home network'
    assert networks['my home network'].strength == 99

    assert str(networks['random open network']) == (
        'Available Wi-Fi network: "random open network"')
    assert networks['random open network'].connected is False
    assert networks['random open network'].known is False
    assert networks['random open network'].secure is False
    assert networks['random open network'].ssid == 'random open network'
    assert networks['random open network'].strength == 42
コード例 #2
0
ファイル: test_wifi.py プロジェクト: mgautierfr/ideascube
def test_connect_to_known_wpa_network(mocker):
    from ideascube.serveradmin.wifi import AvailableWifiNetwork

    def activate_connection(connection, device, path):
        NM.ActiveConnections.append(NMActiveConnection(ssid=connection.ssid))

    NM = mocker.patch('ideascube.serveradmin.wifi.NetworkManager')
    NM.ActivateConnection.side_effect = activate_connection
    NM.ActiveConnections = []
    NM.Devices = [NMDevice(True)]

    NMSettings = mocker.patch('ideascube.serveradmin.wifi.NMSettings')
    NMSettings.ListConnections.side_effect = lambda: [
        NMConnection(False),
        NMConnection(True, ssid='my home network'),
    ]

    networks = AvailableWifiNetwork.all()
    assert networks['my home network'].connected is False
    assert networks['my home network'].known is True
    assert networks['my home network'].secure is True
    assert networks['my home network'].ssid == 'my home network'
    assert NM.ActivateConnection.call_count == 0

    networks['my home network'].connect()
    assert NM.ActivateConnection.call_count == 1
    assert networks['my home network'].connected is True
コード例 #3
0
ファイル: test_wifi.py プロジェクト: mgautierfr/ideascube
def test_connect_to_new_open_network(mocker):
    from ideascube.serveradmin.wifi import AvailableWifiNetwork

    def add_connection(settings):
        ssid = settings['802-11-wireless']['ssid']
        connection = NMConnection(True, ssid=ssid, is_secure=False)

        NMSettings.ListConnections.side_effect = lambda: [connection]
        NM.ActiveConnections.append(
            NMActiveConnection(ssid=connection.ssid, is_secure=False))

        return connection

    NM = mocker.patch('ideascube.serveradmin.wifi.NetworkManager')
    NM.ActiveConnections = []
    NM.Devices = [NMDevice(True)]

    NMSettings = mocker.patch('ideascube.serveradmin.wifi.NMSettings')
    NMSettings.AddConnection.side_effect = add_connection
    NMSettings.ListConnections.side_effect = lambda: []

    networks = AvailableWifiNetwork.all()
    assert networks['random open network'].connected is False
    assert networks['random open network'].known is False
    assert networks['random open network'].secure is False
    assert networks['random open network'].ssid == 'random open network'
    assert NM.ActivateConnection.call_count == 0
    assert NMSettings.AddConnection.call_count == 0

    networks['random open network'].connect()
    assert NM.ActivateConnection.call_count == 0
    assert NMSettings.AddConnection.call_count == 1

    assert networks['random open network'].connected is True
    assert networks['random open network'].known is True
コード例 #4
0
ファイル: test_wifi.py プロジェクト: ideascube/ideascube
def test_list_wifi_networks(mocker):
    from ideascube.serveradmin.wifi import AvailableWifiNetwork

    NM = mocker.patch('ideascube.serveradmin.wifi.NetworkManager')
    NM.Devices = [NMDevice(True)]

    NMSettings = mocker.patch('ideascube.serveradmin.wifi.NMSettings')
    NMSettings.ListConnections.side_effect = lambda: []

    networks = AvailableWifiNetwork.all()
    assert list(networks.keys()) == ['my home network', 'random open network']

    assert str(networks['my home network']) == (
        'Available Wi-Fi network: "my home network"')
    assert networks['my home network'].connected is False
    assert networks['my home network'].known is False
    assert networks['my home network'].secure is True
    assert networks['my home network'].ssid == 'my home network'
    assert networks['my home network'].strength == 99

    assert str(networks['random open network']) == (
        'Available Wi-Fi network: "random open network"')
    assert networks['random open network'].connected is False
    assert networks['random open network'].known is False
    assert networks['random open network'].secure is False
    assert networks['random open network'].ssid == 'random open network'
    assert networks['random open network'].strength == 42
コード例 #5
0
ファイル: test_wifi.py プロジェクト: ideascube/ideascube
def test_connect_to_known_wpa_network(mocker):
    from ideascube.serveradmin.wifi import AvailableWifiNetwork

    def activate_connection(connection, device, path):
        NM.ActiveConnections.append(
            NMActiveConnection(ssid=connection.ssid))

    NM = mocker.patch('ideascube.serveradmin.wifi.NetworkManager')
    NM.ActivateConnection.side_effect = activate_connection
    NM.ActiveConnections = []
    NM.Devices = [NMDevice(True)]

    NMSettings = mocker.patch('ideascube.serveradmin.wifi.NMSettings')
    NMSettings.ListConnections.side_effect = lambda: [
        NMConnection(False),
        NMConnection(True, ssid='my home network'),
        ]

    networks = AvailableWifiNetwork.all()
    assert networks['my home network'].connected is False
    assert networks['my home network'].known is True
    assert networks['my home network'].secure is True
    assert networks['my home network'].ssid == 'my home network'
    assert NM.ActivateConnection.call_count == 0

    networks['my home network'].connect()
    assert NM.ActivateConnection.call_count == 1
    assert networks['my home network'].connected is True
コード例 #6
0
ファイル: test_wifi.py プロジェクト: ideascube/ideascube
def test_connect_to_new_open_network(mocker):
    from ideascube.serveradmin.wifi import AvailableWifiNetwork

    def add_connection(settings):
        ssid = settings['802-11-wireless']['ssid']
        connection = NMConnection(True, ssid=ssid, is_secure=False)

        NMSettings.ListConnections.side_effect = lambda: [connection]
        NM.ActiveConnections.append(
            NMActiveConnection(ssid=connection.ssid, is_secure=False))

        return connection

    NM = mocker.patch('ideascube.serveradmin.wifi.NetworkManager')
    NM.ActiveConnections = []
    NM.Devices = [NMDevice(True)]

    NMSettings = mocker.patch('ideascube.serveradmin.wifi.NMSettings')
    NMSettings.AddConnection.side_effect = add_connection
    NMSettings.ListConnections.side_effect = lambda: []

    networks = AvailableWifiNetwork.all()
    assert networks['random open network'].connected is False
    assert networks['random open network'].known is False
    assert networks['random open network'].secure is False
    assert networks['random open network'].ssid == 'random open network'
    assert NM.ActivateConnection.call_count == 0
    assert NMSettings.AddConnection.call_count == 0

    networks['random open network'].connect()
    assert NM.ActivateConnection.call_count == 0
    assert NMSettings.AddConnection.call_count == 1

    assert networks['random open network'].connected is True
    assert networks['random open network'].known is True
コード例 #7
0
ファイル: test_wifi.py プロジェクト: ideascube/ideascube
def test_connect_to_new_wpa_network(mocker):
    from ideascube.serveradmin.wifi import AvailableWifiNetwork, WifiError

    def add_connection(settings):
        key = settings['802-11-wireless-security']['psk']

        if key != 'the right key':
            raise DBusException(
                '802-11-wireless-security.psk: invalid value',
                name='org.freedesktop.NetworkManager.Settings.InvalidProperty'
                )

        ssid = settings['802-11-wireless']['ssid']
        connection = NMConnection(True, ssid=ssid)

        NMSettings.ListConnections.side_effect = lambda: [connection]
        NM.ActiveConnections.append(NMActiveConnection(ssid=connection.ssid))

        return connection

    NM = mocker.patch('ideascube.serveradmin.wifi.NetworkManager')
    NM.ActiveConnections = []
    NM.Devices = [NMDevice(True)]

    NMSettings = mocker.patch('ideascube.serveradmin.wifi.NMSettings')
    NMSettings.AddConnection.side_effect = add_connection
    NMSettings.ListConnections.side_effect = lambda: []

    networks = AvailableWifiNetwork.all()
    assert networks['my home network'].connected is False
    assert networks['my home network'].known is False
    assert networks['my home network'].secure is True
    assert networks['my home network'].ssid == 'my home network'
    assert NM.ActivateConnection.call_count == 0
    assert NMSettings.AddConnection.call_count == 0

    with pytest.raises(WifiError):
        networks['my home network'].connect()

    assert NM.ActivateConnection.call_count == 0
    assert NMSettings.AddConnection.call_count == 0

    with pytest.raises(WifiError):
        networks['my home network'].connect('the wrong key')

    assert NM.ActivateConnection.call_count == 0
    assert NMSettings.AddConnection.call_count == 1

    networks['my home network'].connect('the right key')
    assert networks['my home network'].connected is True
    assert networks['my home network'].known is True

    assert NM.ActivateConnection.call_count == 0
    assert NMSettings.AddConnection.call_count == 2
コード例 #8
0
ファイル: test_wifi.py プロジェクト: mgautierfr/ideascube
def test_connect_to_new_wpa_network(mocker):
    from ideascube.serveradmin.wifi import AvailableWifiNetwork, WifiError

    def add_connection(settings):
        key = settings['802-11-wireless-security']['psk']

        if key != 'the right key':
            raise DBusException(
                '802-11-wireless-security.psk: invalid value',
                name='org.freedesktop.NetworkManager.Settings.InvalidProperty')

        ssid = settings['802-11-wireless']['ssid']
        connection = NMConnection(True, ssid=ssid)

        NMSettings.ListConnections.side_effect = lambda: [connection]
        NM.ActiveConnections.append(NMActiveConnection(ssid=connection.ssid))

        return connection

    NM = mocker.patch('ideascube.serveradmin.wifi.NetworkManager')
    NM.ActiveConnections = []
    NM.Devices = [NMDevice(True)]

    NMSettings = mocker.patch('ideascube.serveradmin.wifi.NMSettings')
    NMSettings.AddConnection.side_effect = add_connection
    NMSettings.ListConnections.side_effect = lambda: []

    networks = AvailableWifiNetwork.all()
    assert networks['my home network'].connected is False
    assert networks['my home network'].known is False
    assert networks['my home network'].secure is True
    assert networks['my home network'].ssid == 'my home network'
    assert NM.ActivateConnection.call_count == 0
    assert NMSettings.AddConnection.call_count == 0

    with pytest.raises(WifiError):
        networks['my home network'].connect()

    assert NM.ActivateConnection.call_count == 0
    assert NMSettings.AddConnection.call_count == 0

    with pytest.raises(WifiError):
        networks['my home network'].connect('the wrong key')

    assert NM.ActivateConnection.call_count == 0
    assert NMSettings.AddConnection.call_count == 1

    networks['my home network'].connect('the right key')
    assert networks['my home network'].connected is True
    assert networks['my home network'].known is True

    assert NM.ActivateConnection.call_count == 0
    assert NMSettings.AddConnection.call_count == 2