def test_str(self): scheme = Scheme('wlan0', 'test') assert str(scheme) == 'iface wlan0-test inet dhcp\n' scheme = Scheme('wlan0', 'test', { 'wpa-ssid': 'workwifi', }) self.assertEqual( str(scheme), 'iface wlan0-test inet dhcp\n wpa-ssid workwifi\n')
def setUp(self): self.tempfile, interfaces = tempfile.mkstemp() with open(interfaces, 'w') as f: f.write(NETWORK_INTERFACES_FILE) self.Scheme = Scheme.for_file(interfaces)
def test_unencrypted(self): cell = Cell() cell.ssid = 'SSID' cell.encrypted = False scheme = Scheme.for_cell('wlan0', 'test', cell) self.assertEqual(scheme.options, { 'wireless-essid': 'SSID', 'wireless-channel': 'auto', })
def test_wep(self): cell = Cell() cell.ssid = 'SSID' cell.encrypted = True cell.encryption_type = 'wep' scheme = Scheme.for_cell('wlan0', 'test', cell, 'passkey') self.assertEqual(scheme.options, { 'wireless-essid': 'SSID', 'wireless-key': 'passkey', })
def test_wpa(self): cell = Cell() cell.ssid = 'SSID' cell.encrypted = True cell.encryption_type = 'wpa' scheme = Scheme.for_cell('wlan0', 'test', cell, 'passkey') self.assertEqual(scheme.options, { 'wpa-ssid': 'SSID', 'wpa-psk': 'ea1548d4e8850c8d94c5ef9ed6fe483981b64c1436952cb1bf80c08a68cdc763', 'wireless-channel': 'auto', })
def test_unencrypted(self): cell = Cell() cell.ssid = "SSID" cell.encrypted = False scheme = Scheme.for_cell("wlan0", "test", cell) self.assertEqual( scheme.options, { "wireless-essid": ["SSID"], "wireless-channel": ["auto"], }, )
def test_wep_ascii(self): cell = Cell() cell.ssid = 'SSID' cell.encrypted = True cell.encryption_type = 'wep' # ascii key lengths: 5, 13, 16, 29 ascii_keys = ('a' * 5, 'a' * 13, 'a' * 16, 'a' * 29) for key in ascii_keys: scheme = Scheme.for_cell('wlan0', 'test', cell, key) self.assertEqual(scheme.options, { 'wireless-essid': 'SSID', 'wireless-key': 's:' + key })
def test_wep_hex(self): cell = Cell() cell.ssid = 'SSID' cell.encrypted = True cell.encryption_type = 'wep' # hex key lengths: 10, 26, 32, 58 hex_keys = ("01234567ab", "0123456789abc" * 2, "0123456789abcdef" * 2, "0123456789abc" * 2 + "0123456789abcdef" * 2) for key in hex_keys: scheme = Scheme.for_cell('wlan0', 'test', cell, key) self.assertEqual(scheme.options, { 'wireless-essid': ['SSID'], 'wireless-key': [key] })
def test_wep_hex(self): cell = Cell() cell.ssid = 'SSID' cell.encrypted = True cell.encryption_type = 'wep' # hex key lengths: 10, 26, 32, 58 hex_keys = ("01234567ab", "0123456789abc" * 2, "0123456789abcdef" * 2, "0123456789abc" * 2 + "0123456789abcdef" * 2) for key in hex_keys: scheme = Scheme.for_cell('wlan0', 'test', cell, key) self.assertEqual(scheme.options, { 'wireless-essid': 'SSID', 'wireless-key': key })
def test_activate_is_called_with_good_args(self): args = ['sudo', '/sbin/ifdown', 'wlan0'] kwargs = {'stderr': subprocess.STDOUT} scheme = Scheme('wlan0', 'test') with patch.object(subprocess, 'check_output', return_value=SUCCESSFUL_IFUP_OUTPUT): scheme.activate(sudo=True) subprocess.check_output.assert_any_call(args, **kwargs) args = ['/sbin/ifdown', 'wlan0'] scheme.activate() subprocess.check_output.assert_any_call(args, **kwargs)
def test_wpa(self): cell = Cell() cell.ssid = "SSID" cell.encrypted = True cell.encryption_type = "wpa" scheme = Scheme.for_cell("wlan0", "test", cell, "passkey") self.assertEqual( scheme.options, { "wpa-ssid": ["SSID"], "wpa-psk": [ "ea1548d4e8850c8d94c5ef9ed6fe483981b64c1436952cb1bf80c08a68cdc763" ], "wireless-channel": ["auto"], }, )
def test_wep_ascii(self): cell = Cell() cell.ssid = "SSID" cell.encrypted = True cell.encryption_type = "wep" # ascii key lengths: 5, 13, 16, 29 ascii_keys = ("a" * 5, "a" * 13, "a" * 16, "a" * 29) for key in ascii_keys: scheme = Scheme.for_cell("wlan0", "test", cell, key) self.assertEqual( scheme.options, { "wireless-essid": ["SSID"], "wireless-key": ["s:" + key] }, )
def test_wep_hex(self): cell = Cell() cell.ssid = "SSID" cell.encrypted = True cell.encryption_type = "wep" # hex key lengths: 10, 26, 32, 58 hex_keys = ( "01234567ab", "0123456789abc" * 2, "0123456789abcdef" * 2, "0123456789abc" * 2 + "0123456789abcdef" * 2, ) for key in hex_keys: scheme = Scheme.for_cell("wlan0", "test", cell, key) self.assertEqual(scheme.options, { "wireless-essid": ["SSID"], "wireless-key": [key] })
def test_find(self): work = Scheme.find('wlan0', 'work') assert work.options['wpa-ssid'] == 'workwifi'
def test_successful_connection(self): scheme = Scheme('wlan0', 'test') connection = scheme.parse_ifup_output(SUCCESSFUL_IFUP_OUTPUT) self.assertEqual(connection.scheme, scheme) self.assertEqual(connection.ip_address, '192.168.1.113')
def test_delete(self): work = Scheme.find('wlan0', 'work') work.delete() self.assertIsNone(Scheme.find('wlan0', 'work')) assert Scheme.find('wlan0', 'coffee')
def test_save(self): scheme = Scheme('wlan0', 'test') scheme.save() assert Scheme.find('wlan0', 'test')
def test_failed_connection(self): scheme = Scheme('wlan0', 'test') self.assertRaises(ConnectionError, scheme.parse_ifup_output, FAILED_IFUP_OUTPUT)