async def METHOD_NAME(event_loop):
    async with base.CleanModel() as model_1:
        await model_1.deploy(
            'ubuntu',
            application_name='ubuntu',
            series='focal',
            channel='stable',
        )
        assert 'ubuntu' in model_1.applications
        await model_1.wait_for_idle(status="active")
        await model_1.create_offer("ubuntu:ubuntu")
        offers = await model_1.list_offers()
        await model_1.block_until(
            lambda: all(offer.application_name == 'ubuntu'
                        for offer in offers.results))
        # farm off a new model to test the consumption
        async with base.CleanModel() as model_2:
            await model_2.consume("admin/{}.ubuntu".format(model_1.name))
            status = await model_2.get_status()
            if 'ubuntu' not in status.remote_applications:
                raise Exception("Expected ubuntu in saas")
        await model_1.remove_offer("admin/{}.ubuntu".format(model_1.name), force=True)