Example #1
0
	def test_client(self):
		try:
			from .client import Client, ClientThread, encode_cryptset, decode_cryptset
		except SystemError:
			from client import Client, ClientThread, encode_cryptset, decode_cryptset
		class TestClient(Client):
			def send(self, msg):
				return
				
		test_lines, result_split_line, result_parse_line = get_client_test_data()
		
		client = TestClient()
		client.server = "invalid:xyz"
		client.start()
		
		test_dump_name = "%s%skismet_dump_test-%s.dump" % (tempfile.gettempdir(), os.sep, int(time.time()))
		test_dump = open(test_dump_name, "w")
		
		client = TestClient()
		client.set_capabilities(["bssid", "ssid"])
		pos = 0
		errors = 0
		for line in test_lines:
			result = client.split_line(line.split(":", 1)[1])
			if result != result_split_line[pos]:
				print("split_line error %s" % pos)
				print("%s\n!=\n%s" % (result, result_split_line[pos]))
				errors += 1
			
			result = client.parse_line(line)
			if result != result_parse_line[pos]:
				print("parse_line error %s" % pos)
				print("%s\n!=\n%s" % (result, result_parse_line[pos]))
				errors += 1
			pos += 1
			test_dump.write(line)
			
		crypt_test = [
			(0, "none"),
			(2, "WEP"),
			(226, "WEP,TKIP,WPA,PSK"),
			(706, "WEP,WPA,PSK,AES_CCM"),
			(738, "WEP,TKIP,WPA,PSK,AES_CCM"),
		]
		for cryptset, result in crypt_test:
			crypt_str = decode_cryptset(cryptset, True)
			if crypt_str != result:
				print("decode_cryptset error: %s\n%s!=%s" % (cryptset, crypt_str, result))
			
			test_cryptset = encode_cryptset(crypt_str.lower().split(","))
			if test_cryptset != cryptset:
				print("encode_cryptset error: %s\n%s!=%s" % (crypt_str, test_cryptset, cryptset))
		
		if errors != 0:
			sys.exit("client test failed, %s errors" % errors)
			
		test_dump.close()
		
		client.load_dump(test_dump_name)
		client.loop()
		
		client_thread = ClientThread()
		client_thread.client = client
		client.load_dump(test_dump_name)
		client_thread.run()
Example #2
0
	def test_client(self):
		try:
			from .client import Client, ClientThread, encode_cryptset, decode_cryptset
		except SystemError:
			from client import Client, ClientThread, encode_cryptset, decode_cryptset
		class TestClient(Client):
			def send(self, msg):
				return
				
		test_lines, result_split_line, result_parse_line = get_client_test_data()
		
		client = TestClient()
		client.server = "invalid:xyz"
		client.start()
		
		test_dump_name = "%s%skismet_dump_test-%s.dump" % (tempfile.gettempdir(), os.sep, int(time.time()))
		test_dump = open(test_dump_name, "w")
		
		client = TestClient()
		client.set_capabilities(["bssid", "ssid"])
		pos = 0
		errors = 0
		for line in test_lines:
			result = client.split_line(line.split(":", 1)[1])
			if result != result_split_line[pos]:
				print("split_line error %s" % pos)
				print("%s\n!=\n%s" % (result, result_split_line[pos]))
				errors += 1
			
			result = client.parse_line(line)
			if result != result_parse_line[pos]:
				print("parse_line error %s" % pos)
				print("%s\n!=\n%s" % (result, result_parse_line[pos]))
				errors += 1
			pos += 1
			test_dump.write(line)
			
		crypt_test = [
			(0, "none"),
			(2, "WEP"),
			(226, "WEP,TKIP,WPA,PSK"),
			(706, "WEP,WPA,PSK,AES_CCM"),
			(738, "WEP,TKIP,WPA,PSK,AES_CCM"),
		]
		for cryptset, result in crypt_test:
			crypt_str = decode_cryptset(cryptset, True)
			if crypt_str != result:
				print("decode_cryptset error: %s\n%s!=%s" % (cryptset, crypt_str, result))
			
			test_cryptset = encode_cryptset(crypt_str.lower().split(","))
			if test_cryptset != cryptset:
				print("encode_cryptset error: %s\n%s!=%s" % (crypt_str, test_cryptset, cryptset))
		
		if errors != 0:
			sys.exit("client test failed, %s errors" % errors)
			
		test_dump.close()
		
		client.load_dump(test_dump_name)
		client.loop()
		
		client_thread = ClientThread()
		client_thread.client = client
		client.load_dump(test_dump_name)
		client_thread.run()