async def METHOD_NAME(event_loop):
    # pytest.skip('Revise: intermittent problem with the remove_saas call')
    async with base.CleanModel() as model_1:
        application = await model_1.deploy(
            'postgresql',
            application_name='postgresql',
            channel='14/stable',
        )
        assert 'postgresql' in model_1.applications
        await model_1.wait_for_idle(status="active")
        await model_1.create_offer("postgresql:db")
        offers = await model_1.list_offers()
        await model_1.block_until(
            lambda: all(offer.application_name == 'postgresql'
                        for offer in offers.results))
        # farm off a new model to test the consumption
        async with base.CleanModel() as model_2:
            await model_2.deploy(
                'hello-juju',
                application_name='hello-juju',
                series='focal',
                channel='stable',
            )
            await model_2.block_until(
                lambda: all(unit.agent_status == 'idle'
                            for unit in application.units))
            await model_2.relate("hello-juju:db", "admin/{}.postgresql".format(model_1.name))
            status = await model_2.get_status()
            if 'postgresql' not in status.remote_applications:
                raise Exception("Expected postgresql in saas")
            await model_2.remove_saas('postgresql')
            await jasyncio.sleep(5)
            status = await model_2.get_status()
            if 'postgresql' in status.remote_applications:
                raise Exception("Expected mysql not to be in saas")
        await model_1.remove_offer("admin/{}.postgresql".format(model_1.name), force=True)