def METHOD_NAME(self):
    vis = self.factory.create_visualization()
    models.db.session.flush()
    path = "/api/visualizations/{}".format(vis.id)
    other_user = self.factory.create_user()
    admin = self.factory.create_admin()
    admin_from_diff_org = self.factory.create_admin(org=self.factory.create_org())
    models.db.session.commit()
    models.db.session.refresh(admin)
    models.db.session.refresh(other_user)
    models.db.session.refresh(admin_from_diff_org)
    rv = self.make_request("delete", path, user=admin)
    self.assertEqual(rv.status_code, 200)
    vis = self.factory.create_visualization()
    models.db.session.commit()
    path = "/api/visualizations/{}".format(vis.id)
    rv = self.make_request("delete", path, user=other_user)
    self.assertEqual(rv.status_code, 403)
    self.make_request(
        "post",
        "/api/queries/{}/acl".format(vis.query_id),
        data={"access_type": "modify", "user_id": other_user.id},
    )
    rv = self.make_request("delete", path, user=other_user)
    self.assertEqual(rv.status_code, 200)
    vis = self.factory.create_visualization()
    models.db.session.commit()
    path = "/api/visualizations/{}".format(vis.id)
    rv = self.make_request("delete", path, user=admin_from_diff_org)
    self.assertEqual(rv.status_code, 404)