Ejemplo n.º 1
0
def test_monitored_conditions():
    """Test the filtering of attributes."""
    ctrl = mock.MagicMock()
    fake_clients = [
        {'mac': '123',
         'hostname': 'foobar',
         'essid': 'barnet',
         'signal': -60,
         'last_seen': dt_util.as_timestamp(dt_util.utcnow())},
        {'mac': '234',
         'name': 'Nice Name',
         'essid': 'barnet',
         'signal': -42,
         'last_seen': dt_util.as_timestamp(dt_util.utcnow())},
        {'mac': '456',
         'hostname': 'wired',
         'essid': 'barnet',
         'last_seen': dt_util.as_timestamp(dt_util.utcnow())},
    ]
    ctrl.get_clients.return_value = fake_clients
    scanner = unifi.UnifiScanner(ctrl, DEFAULT_DETECTION_TIME, None,
                                 ['essid', 'signal'])
    assert scanner.get_extra_attributes('123') == {'essid': 'barnet',
                                                   'signal': -60}
    assert scanner.get_extra_attributes('234') == {'essid': 'barnet',
                                                   'signal': -42}
    assert scanner.get_extra_attributes('456') == {'essid': 'barnet'}
Ejemplo n.º 2
0
def test_scan_devices_filtered():
    """Test the scanning for devices based on SSID."""
    ctrl = mock.MagicMock()
    fake_clients = [
        {
            'mac': '123',
            'essid': 'foonet',
            'last_seen': dt_util.as_timestamp(dt_util.utcnow())
        },
        {
            'mac': '234',
            'essid': 'foonet',
            'last_seen': dt_util.as_timestamp(dt_util.utcnow())
        },
        {
            'mac': '567',
            'essid': 'notnet',
            'last_seen': dt_util.as_timestamp(dt_util.utcnow())
        },
        {
            'mac': '890',
            'essid': 'barnet',
            'last_seen': dt_util.as_timestamp(dt_util.utcnow())
        },
    ]

    ssid_filter = ['foonet', 'barnet']
    ctrl.get_clients.return_value = fake_clients
    scanner = unifi.UnifiScanner(ctrl, DEFAULT_DETECTION_TIME, ssid_filter,
                                 None)
    assert set(scanner.scan_devices()) == set(['123', '234', '890'])
Ejemplo n.º 3
0
def test_get_device_name():
    """Test the getting of device names."""
    ctrl = mock.MagicMock()
    fake_clients = [
        {
            'mac': '123',
            'hostname': 'foobar',
            'last_seen': dt_util.as_timestamp(dt_util.utcnow())
        },
        {
            'mac': '234',
            'name': 'Nice Name',
            'last_seen': dt_util.as_timestamp(dt_util.utcnow())
        },
        {
            'mac': '456',
            'last_seen': '1504786810'
        },
    ]
    ctrl.get_clients.return_value = fake_clients
    scanner = unifi.UnifiScanner(ctrl, DEFAULT_DETECTION_TIME)
    assert scanner.get_device_name('123') == 'foobar'
    assert scanner.get_device_name('234') == 'Nice Name'
    assert scanner.get_device_name('456') is None
    assert scanner.get_device_name('unknown') is None
Ejemplo n.º 4
0
 def test_scanner_update(self):
     ctrl = mock.MagicMock()
     fake_clients = [
         {'mac': '123'},
         {'mac': '234'},
     ]
     ctrl.get_clients.return_value = fake_clients
     unifi.UnifiScanner(ctrl)
     ctrl.get_clients.assert_called_once_with()
Ejemplo n.º 5
0
 def test_scan_devices(self):
     ctrl = mock.MagicMock()
     fake_clients = [
         {'mac': '123'},
         {'mac': '234'},
     ]
     ctrl.get_clients.return_value = fake_clients
     scanner = unifi.UnifiScanner(ctrl)
     self.assertEqual(set(['123', '234']), set(scanner.scan_devices()))
Ejemplo n.º 6
0
def test_scan_devices():
    """Test the scanning for devices."""
    ctrl = mock.MagicMock()
    fake_clients = [
        {'mac': '123'},
        {'mac': '234'},
    ]
    ctrl.get_clients.return_value = fake_clients
    scanner = unifi.UnifiScanner(ctrl)
    assert set(scanner.scan_devices()) == set(['123', '234'])
Ejemplo n.º 7
0
 def test_scanner_update(self):  # pylint: disable=no-self-use
     """Test the scanner update."""
     ctrl = mock.MagicMock()
     fake_clients = [
         {'mac': '123'},
         {'mac': '234'},
     ]
     ctrl.get_clients.return_value = fake_clients
     unifi.UnifiScanner(ctrl)
     ctrl.get_clients.assert_called_once_with()
Ejemplo n.º 8
0
def test_scanner_update():
    """Test the scanner update."""
    ctrl = mock.MagicMock()
    fake_clients = [
        {'mac': '123'},
        {'mac': '234'},
    ]
    ctrl.get_clients.return_value = fake_clients
    unifi.UnifiScanner(ctrl)
    assert ctrl.get_clients.call_count == 1
    assert ctrl.get_clients.call_args == mock.call()
Ejemplo n.º 9
0
def test_scan_devices():
    """Test the scanning for devices."""
    ctrl = mock.MagicMock()
    fake_clients = [
        {'mac': '123', 'essid': 'barnet',
         'last_seen': dt_util.as_timestamp(dt_util.utcnow())},
        {'mac': '234', 'essid': 'barnet',
         'last_seen': dt_util.as_timestamp(dt_util.utcnow())},
    ]
    ctrl.get_clients.return_value = fake_clients
    scanner = unifi.UnifiScanner(ctrl, DEFAULT_DETECTION_TIME, None, None)
    assert set(scanner.scan_devices()) == set(['123', '234'])
Ejemplo n.º 10
0
def test_scanner_update():
    """Test the scanner update."""
    ctrl = mock.MagicMock()
    fake_clients = [
        {'mac': '123', 'essid': 'barnet',
         'last_seen': dt_util.as_timestamp(dt_util.utcnow())},
        {'mac': '234', 'essid': 'barnet',
         'last_seen': dt_util.as_timestamp(dt_util.utcnow())},
    ]
    ctrl.get_clients.return_value = fake_clients
    unifi.UnifiScanner(ctrl, DEFAULT_DETECTION_TIME, None, None)
    assert ctrl.get_clients.call_count == 1
    assert ctrl.get_clients.call_args == mock.call()
Ejemplo n.º 11
0
 def test_get_device_name(self):
     ctrl = mock.MagicMock()
     fake_clients = [
         {'mac': '123', 'hostname': 'foobar'},
         {'mac': '234', 'name': 'Nice Name'},
         {'mac': '456'},
     ]
     ctrl.get_clients.return_value = fake_clients
     scanner = unifi.UnifiScanner(ctrl)
     self.assertEqual('foobar', scanner.get_device_name('123'))
     self.assertEqual('Nice Name', scanner.get_device_name('234'))
     self.assertEqual(None, scanner.get_device_name('456'))
     self.assertEqual(None, scanner.get_device_name('unknown'))
Ejemplo n.º 12
0
def test_get_device_name():
    """Test the getting of device names."""
    ctrl = mock.MagicMock()
    fake_clients = [
        {'mac': '123', 'hostname': 'foobar'},
        {'mac': '234', 'name': 'Nice Name'},
        {'mac': '456'},
    ]
    ctrl.get_clients.return_value = fake_clients
    scanner = unifi.UnifiScanner(ctrl)
    assert scanner.get_device_name('123') == 'foobar'
    assert scanner.get_device_name('234') == 'Nice Name'
    assert scanner.get_device_name('456') is None
    assert scanner.get_device_name('unknown') is None
Ejemplo n.º 13
0
 def test_scanner_update(self):  # pylint: disable=no-self-use
     """Test the scanner update."""
     ctrl = mock.MagicMock()
     fake_clients = [
         {
             'mac': '123'
         },
         {
             'mac': '234'
         },
     ]
     ctrl.get_clients.return_value = fake_clients
     unifi.UnifiScanner(ctrl)
     self.assertEqual(ctrl.get_clients.call_count, 1)
     self.assertEqual(ctrl.get_clients.call_args, mock.call())
Ejemplo n.º 14
0
def test_scanner_update_error():
    """Test the scanner update for error."""
    ctrl = mock.MagicMock()
    ctrl.get_clients.side_effect = APIError('/', 500, 'foo', {}, None)
    unifi.UnifiScanner(ctrl, DEFAULT_DETECTION_TIME)
Ejemplo n.º 15
0
 def test_scanner_update_error(self):
     ctrl = mock.MagicMock()
     ctrl.get_clients.side_effect = urllib.error.HTTPError(
         '/', 500, 'foo', {}, None)
     unifi.UnifiScanner(ctrl)
Ejemplo n.º 16
0
def test_scanner_update_error():
    """Test the scanner update for error."""
    ctrl = mock.MagicMock()
    ctrl.get_clients.side_effect = urllib.error.HTTPError(
        '/', 500, 'foo', {}, None)
    unifi.UnifiScanner(ctrl)
Ejemplo n.º 17
0
 def test_scanner_update_error(self):  # pylint: disable=no-self-use
     """Test the scanner update for error."""
     ctrl = mock.MagicMock()
     ctrl.get_clients.side_effect = urllib.error.HTTPError(
         '/', 500, 'foo', {}, None)
     unifi.UnifiScanner(ctrl)