def METHOD_NAME(local_engine_empty, unprivileged_pg_repo):
    destination = Repository.from_template(unprivileged_pg_repo, engine=local_engine_empty)
    clone(unprivileged_pg_repo, local_repository=destination)
    destination.images["latest"].checkout()
    destination.run_sql("""UPDATE fruits SET name = 'banana' WHERE fruit_id = 1""")
    destination.commit()
    # Test we can push to our namespace -- can't upload the object to the splitgraph_meta since we can't create
    # tables there
    remote_destination = Repository.from_template(
        destination,
        namespace=unprivileged_pg_repo.engine.conn_params["SG_NAMESPACE"],
        engine=unprivileged_pg_repo.engine,
    )
    destination.upstream = remote_destination
    destination.push(handler="S3")
    # Test we can delete a single image from our own repo
    assert len(remote_destination.images()) == 3
    remote_destination.images.delete([destination.images["latest"].image_hash])
    assert len(remote_destination.images()) == 2
    # Test we can delete our own repo once we've pushed it
    remote_destination.delete()
    assert len(remote_destination.images()) == 0