Exemplo n.º 1
0
def test_wait_pasv_timeout_fail_short(loop, client, server, *, tmp_dir):

    f = tmp_dir / "foo.txt"
    b = b"foobar"

    yield from client.login()
    yield from client.command("STOR " + f.name)
    yield from asyncio.sleep(0.5, loop=loop)
    reader, writer = yield from client.get_passive_connection("I")

    with contextlib.closing(writer) as writer:

        writer.write(b)
        yield from writer.drain()

    yield from client.command(None, "2xx", "1xx")
    yield from client.quit()

    with f.open("rb") as fin:

        rb = fin.read()

    f.unlink()

    nose.tools.eq_(b, rb)
Exemplo n.º 2
0
def test_wait_pasv_timeout_fail_short(loop, client, server, *, tmp_dir):

    f = tmp_dir / "foo.txt"
    b = b"foobar"

    yield from client.login()
    yield from client.command("STOR " + f.name)
    yield from asyncio.sleep(0.5, loop=loop)
    reader, writer = yield from client.get_passive_connection("I")

    with contextlib.closing(writer) as writer:

        writer.write(b)
        yield from writer.drain()

    yield from client.command(None, "2xx", "1xx")
    yield from client.quit()

    with f.open("rb") as fin:

        rb = fin.read()

    f.unlink()

    nose.tools.eq_(b, rb)
Exemplo n.º 3
0
def test_wait_pasv_timeout_ok_but_too_long(loop, client, server, *, tmp_dir):

    f = tmp_dir / "foo.txt"
    b = b"foobar"

    yield from client.login()
    yield from client.command("TYPE I", "200")
    code, info = yield from client.command("PASV", "227")
    ip, port = client.parse_address_response(info[-1])

    yield from client.command("STOR " + f.name)
    yield from asyncio.sleep(2, loop=loop)

    reader, writer = yield from aioftp.client.open_connection(ip, port, loop, client.create_connection)

    with contextlib.closing(writer) as writer:

        writer.write(b)
        yield from writer.drain()

    yield from client.command(None, "2xx", "1xx")
    yield from client.quit()

    with f.open("rb") as fin:

        rb = fin.read()

    f.unlink()

    nose.tools.eq_(b, rb)
Exemplo n.º 4
0
def test_wait_pasv_timeout_ok_but_too_long(loop, client, server, *, tmp_dir):

    f = tmp_dir / "foo.txt"
    b = b"foobar"

    yield from client.login()
    yield from client.command("TYPE I", "200")
    code, info = yield from client.command("PASV", "227")
    ip, port = client.parse_address_response(info[-1])

    yield from client.command("STOR " + f.name)
    yield from asyncio.sleep(2, loop=loop)

    reader, writer = yield from aioftp.client.open_connection(
        ip,
        port,
        loop,
        client.create_connection,
    )

    with contextlib.closing(writer) as writer:

        writer.write(b)
        yield from writer.drain()

    yield from client.command(None, "2xx", "1xx")
    yield from client.quit()

    with f.open("rb") as fin:

        rb = fin.read()

    f.unlink()

    nose.tools.eq_(b, rb)