async def METHOD_NAME(postgres_service_with_fake_data):
    dsn = postgres_service_with_fake_data
    # using raw call and dsn.asdict to fill create_engine arguments!
    engine1 = await aiopg.sa.create_engine(minsize=1, maxsize=5, **asdict(dsn))
    # just creating engine
    engine2 = await create_pg_engine(dsn)
    assert engine1.dsn == engine2.dsn
    # create engine within a managed context
    async with create_pg_engine(dsn) as engine3:
        assert engine2.dsn == engine3.dsn
        assert await is_pg_responsive(engine3)
    assert not engine1.closed
    assert not engine2.closed
    assert engine3.closed
    # checks deallocation if exception
    try:
        async with create_pg_engine(dsn) as engine4:
            assert engine4.dsn == engine3.dsn
            assert not engine4.closed
            raise ValueError()
    except ValueError:
        assert engine4.closed