Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test___dump(capsys):
options = Mock()
options.repeat = 2
options.host = 'localhost'
options.port = randint(60000, 65535)
options.address = b'/test'
options.safer = False
options.encoding = None
options.encoding_errors = 'strict'
options.message = (1, 2, 3, 4, b"hello world")
osc = __dump(options)
out = capsys.readouterr().out
assert out == ''
send_message(
options.address,
options.message,
options.host,
options.port,
safer=options.safer,
encoding=options.encoding,
encoding_errors=options.encoding_errors
)
sleep(0.1)
out, err = capsys.readouterr()
assert err == ''
lines = out.split('\n')
assert lines[0] == u"/test: 1, 2, 3, 4, hello world"
osc.stop()
def test_bind_multi():
osc = OSCThreadServer()
sock1 = osc.listen()
port1 = sock1.getsockname()[1]
sock2 = osc.listen()
port2 = sock2.getsockname()[1]
cont = []
def success1(*values):
cont.append(True)
def success2(*values):
cont.append(False)
osc.bind(b'/success', success1, sock1)
osc.bind(b'/success', success2, sock2)
def test_reuse_callback():
osc = OSCThreadServer()
sock = osc.listen()
port = sock.getsockname()[1]
cont = []
def success(*values):
cont.append(True)
osc.bind(b'/success', success, sock)
osc.bind(b'/success', success, sock)
osc.bind(b'/success2', success, sock)
assert len(osc.addresses.get((sock, b'/success'))) == 1
assert len(osc.addresses.get((sock, b'/success2'))) == 1
def test_bind_address():
osc = OSCThreadServer()
osc.listen(default=True)
result = []
@osc.address(b'/test')
def success(*args):
result.append(True)
timeout = time() + 1
send_message(b'/test', [], *osc.getaddress())
while len(result) < 1:
if time() > timeout:
raise OSError('timeout while waiting for success message.')
sleep(10e-9)
def test_send_message_without_socket():
osc = OSCThreadServer()
with pytest.raises(RuntimeError):
osc.send_message(b'/test', [], 'localhost', 0)
def test_socket_family():
osc = OSCThreadServer()
assert osc.listen().family == socket.AF_INET
filename = mktemp()
if platform != 'win32':
assert osc.listen(address=filename, family='unix').family == socket.AF_UNIX # noqa
else:
with pytest.raises(NameError) as e_info:
osc.listen(address=filename, family='unix')
if exists(filename):
unlink(filename)
with pytest.raises(ValueError) as e_info: # noqa
osc.listen(family='')
osc_1 = OSCThreadServer()
osc_1.listen(default=True)
@osc_1.address(b'/ping')
def ping(*values):
print("ping called")
if True in values:
cont.append(True)
else:
osc_1.answer(
bundle=[
(b'/pong', [])
]
)
osc_2 = OSCThreadServer()
osc_2.listen(default=True)
@osc_2.address(b'/pong')
def pong(*values):
print("pong called")
osc_2.answer(b'/ping', [True])
osc_2.send_message(b'/ping', [], *osc_1.getaddress())
with pytest.raises(RuntimeError) as e_info: # noqa
osc_1.answer(b'/bing', [])
timeout = time() + 2
while not cont:
if time() > timeout:
raise OSError('timeout while waiting for success message.')
def test_send_bundle_safer():
osc = OSCThreadServer()
sock = osc.listen()
port = sock.getsockname()[1]
acc = []
def success(*values):
acc.append(values[0])
osc.bind(b'/success', success, sock)
timeout = time() + 5
while len(acc) < 100:
if time() > timeout:
raise OSError('timeout while waiting for success message.')
send_bundle(
[
def test_encoding_send_receive():
osc = OSCThreadServer(encoding='utf8')
osc.listen(default=True)
values = []
@osc.address(u'/encoded')
def encoded(*val):
for v in val:
assert not isinstance(v, bytes)
values.append(val)
send_message(
u'/encoded',
['hello world', u'ééééé ààààà'],
*osc.getaddress(), encoding='utf8')
timeout = time() + 2
def test_encoding_send():
osc = OSCThreadServer()
osc.listen(default=True)
values = []
@osc.address(b'/encoded')
def encoded(*val):
for v in val:
assert isinstance(v, bytes)
values.append(val)
send_message(
u'/encoded',
['hello world', u'ééééé ààààà'],
*osc.getaddress(), encoding='utf8')
timeout = time() + 2
while not values:
if time() > timeout:
raise OSError('timeout while waiting for success message.')
sleep(10e-9)