1. 27 May, 2024 5 commits
    • Carlos Ramos Carreño's avatar
      Fixes the error in test_onErrorCallback. · 9d3ab3c1
      Carlos Ramos Carreño authored
      The test testCMFActivity.TestCMFActivity.test_onErrorCallback was
      failing because some weak references were not dropped.
      The reason was that _DequeueMessageException was declared as global
      and it kept a traceback including the variables pointed by the weak
      references, preventing their garbage collection.
      This was fixed by using a class for the _DequeueMessageException
      instead of a singleton, and creating a new instance on every raise.
      9d3ab3c1
    • Jérome Perrin's avatar
      testCMFActivity: support pickle protocol > 0 in test_insert_max_payload · 9f957802
      Jérome Perrin authored
      This test assumed that activating a method with a string of length `n+x`
      as argument would be serialized in `x` more bytes that activating the
      same method with a string of length `n` as argument, which is only true
      for protocol 0 for multiple reasons ( short strings and long strings
      are serialized differently, "frames" are used with protocol 5) and
      db.string_literal seems to introduce a difference.
      
      Change the test to mock Message.dump to produce longer dumps instead of
      relying on this assumption.
      9f957802
    • Jérome Perrin's avatar
      testCMFActivity: do not rely on unittest internals (_resultForDoCleanups) · 4177d9d9
      Jérome Perrin authored
      _resultForDoCleanups no longer exists on python3, getting the status
      of a test in teardown is very different accross python versions ( see
      https://stackoverflow.com/q/4414234 ) and just executing this code when
      the test failed only has the problem that a test method may count as
      two failures or errors, which is after all not a big problem.
      4177d9d9
    • Jérome Perrin's avatar
      b3919451
    • Jérome Perrin's avatar
      ERP5TypeTestCase: rework user / passord generation · 6c0fa619
      Jérome Perrin authored
      Manager username and password are now available as class attributes.
      
      To prevent accidentally exposing access to instances when running tests,
      subclasses are not allowed to define these class attributes.
      
      Another significant changes is that we no longer have the same user in
      ERP5/acl_users and /acl_users, some tests were logging in as the root
      user in ways that never seemed intentional.
      
      Many tests have been updated to not generate manager user and use the
      existing one instead. When tests need to create users (for example
      users in the root acl_users), we try to delete the users afterward.
      
      ERP5TypeFunctionalTestCase was updated to use self.manager_username and
      manager_password instead of hardcoding ERP5TypeTestCase: and also some
      cleanups, the HTTP server is already started at this point and host/port
      were not used.
      6c0fa619
  2. 20 May, 2024 3 commits
  3. 19 May, 2024 2 commits
    • Jérome Perrin's avatar
      core: make Base_edit raise in case of wrong matrixbox keys · b4227bb9
      Jérome Perrin authored
      This should not happens, but if this happens we should not just return
      in the middle of the loop, because this returned value is not used,
      so we would just silently edit partially.
      b4227bb9
    • Jérome Perrin's avatar
      Security of tester accessors · 63dcec59
      Jérome Perrin authored
      The first commit of this merge request was introduced for zope4py3 branch but it revealed issues on py2 as well, i.e. we don't have roles in auto-generated tester methods.
      
      ```
      ======================================================================
      FAIL: test_method_protection (testSecurity.TestSecurity)
      This test will list all implicitly Public methods in any objects in ZODB.
      ----------------------------------------------------------------------
      Traceback (most recent call last):
        File "/(SR)/parts/erp5/Products/ERP5/tests/testSecurity.py", line 113, in test_method_protection
          self.fail(message)
      AssertionError: 
      The following 7 methods have a docstring but have no security assertions.
      	/(SR)/parts/erp5/product/ERP5Form/PreferenceTool.py:65 isPreferredVcsPushMode
      	/srv/slapgrid/slappart19/t/eiy/soft/8a7759fd7b65b20d9f87713605745d05/parts/erp5/product/ERP5Type/Accessor/AcquiredProperty.py:217 hasTelephoneValidationState
      	/(SR)/parts/erp5/product/ERP5Type/Accessor/Base.py:219 hasViewFormIdList
      	/(SR)/parts/erp5/product/ERP5Type/Accessor/Constant.py:94 isWebDocumentType
      	/(SR)/parts/erp5/product/ERP5Type/Accessor/Content.py:224 hasImage
      	/(SR)/parts/erp5/product/ERP5Type/Accessor/ContentProperty.py:283 hasImageWidthList
      	/(SR)/parts/erp5/product/ERP5Type/Accessor/Translation.py:233 hasFrTranslatedTitle
      
      ----------------------------------------------------------------------
      ```
      
      See merge request nexedi/erp5!1911
      63dcec59
  4. 17 May, 2024 6 commits
  5. 16 May, 2024 6 commits
  6. 15 May, 2024 3 commits
  7. 14 May, 2024 8 commits
  8. 13 May, 2024 1 commit
  9. 12 May, 2024 2 commits
  10. 10 May, 2024 1 commit
  11. 09 May, 2024 3 commits