Skip to content
  • Aurelien Campeas's avatar
    [repoapi] fold ClientConnection into Connection · 635cfac73d28
    Aurelien Campeas authored
    Connection replaces ClientConnection everywhere.
    
    Some notes:
    
    * testlib: .client_cnx and .repo_cnx become aliases of .cnx (we might
      not want to tell people to update their tests again for just no real
      benefit, so we'll live with these aliases for a while)
    
    * entity.as_rset must not be cached because we risk caching result
      sets having a Connection object as .req (helps unittest_breadcrumbs)
    
    * entity._cw_dont_cache_attributes loses its repo/request special
      paths and only keeps its storage/bfss user (this helps
      unittest_wfobjs)
    
    * moreover, entity.cw_instantiate and .cw_set stop overriding the
      attributes cache *after* the before_*_entity hooks have run, because
      there is no need to (it is now actually harmful to do it and
      unittest_hooks.test_html_tidy* tests remain green because of this)
    
    * rset._build_entity sticks its .req onto the entity just fetched from
      the cache, because otherwise it might carry a _cw that is a
      Connection object where a Request is expected (helps
      unittest_views_actions)
    
    * we get overall better cache usages (entity caches were split over
      Request + ClientConnection and Connection), hence the changes
      unittest_entity and unittest_wfobjs
    
    * void the ecache when providing the cnx to a request object
    
      Having the entity cache pre-filled when we bind it to the request
      object hurts because these entities are bound to Connection objects,
      that lack e.g. `.form` or `.add_js` and crash the views subsystem.
    
      Thus, the unittest_testlib.test_error_raised test will are kept
      green.
    
    
    Closes #3837233
    635cfac73d28