Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0043791Openbravo ERP04. Warehouse managementpublic2020-04-20 13:482020-04-27 14:06
shuehner 
shuehner 
normalminorhave not tried
closedfixed 
5
 
PR20Q3 
vmromanos
Core
No
0043791: Referencedinventory tests are incompatible with AWO and should auto-skip themselves if AWO is present
The referencesinventory junit tests in PI are not compatible with AWO module as they create some data not compliant with some new constraint added when installing AWO.

To avoid them failing when AWO is present they can be disabled manually however that needs to be done in every environment (developer or many CI jobs) having AWO installed.
Current list:
org.openbravo.test.referencedinventory.ReferencedInventoryBoxForcedReservation
org.openbravo.test.referencedinventory.ReferencedInventoryBoxFullReservationTest
org.openbravo.test.referencedinventory.ReferencedInventoryBoxOverReservation1MovementLineTest
org.openbravo.test.referencedinventory.ReferencedInventoryBoxOverReservation2MovementLinesTest
org.openbravo.test.referencedinventory.ReferencedInventoryBoxPartialReservation1MovementLineTest
org.openbravo.test.referencedinventory.ReferencedInventoryBoxPartialReservation2MovementLinesTest
org.openbravo.test.referencedinventory.ReferencedInventoryBoxSeveralStorageDetailsTest
org.openbravo.test.referencedinventory.ReferencedInventoryBoxTest
org.openbravo.test.referencedinventory.ReferencedInventoryExceptionTest
org.openbravo.test.referencedinventory.ReferencedInventoryFullBoxTest
org.openbravo.test.referencedinventory.ReferencedInventoryFullUnboxFullReservation
org.openbravo.test.referencedinventory.ReferencedInventoryFullUnboxPartialReservation
org.openbravo.test.referencedinventory.ReferencedInventoryFullUnboxTest
org.openbravo.test.referencedinventory.ReferencedInventoryPartialBoxTest
org.openbravo.test.referencedinventory.ReferencedInventoryPartialUnboxFullReservation
org.openbravo.test.referencedinventory.ReferencedInventoryPartialUnboxPartialReservation1MovementLineUnboxTest
org.openbravo.test.referencedinventory.ReferencedInventoryPartialUnboxPartialReservation2MovementLinesUnboxTest
org.openbravo.test.referencedinventory.ReferencedInventoryPartialUnboxTest
org.openbravo.test.referencedinventory.ReferencedInventorySequenceTest
org.openbravo.test.referencedinventory.ReferencedInventoryTest
org.openbravo.test.referencedinventory.ReferencedInventoryTestSuite
org.openbravo.test.referencedinventory.ReferencedInventoryTestUtils
org.openbravo.test.referencedinventory.ReferencedInventoryUnboxReservationTest
org.openbravo.test.referencedinventory.ReferencedInventoryUnboxTest

Instead those tests should check 'awo is present' and auto-skip themselves do avoid needing to have replicate that long exception list everywhere.

Attached patch implements that by checking if 'org.openbravo.warehouse.advancedwarehouse' module is present in the workspace.
1.) Fresh pi
2.) Add awo + dependencies
https://code.openbravo.com/erp/pmods/org.openbravo.warehouse.advancedwarehouseoperations [^]
https://code.openbravo.com/erp/pmods/org.openbravo.mobile.core [^]
3.) run ant run.all.tests
Notice tests listed above failing
Similar to code for skipping tests with 'config/disabled-tests' add assumeThat(<awo-not-installed>) as @Before.
As all referencedinventory tests have a single base class ReferencedInventoryTest that can be done centrally there easily.
No tags attached.
depends on backport 00438023.0PR20Q2 closed inigo_lerga Referencedinventory tests are incompatible with AWO and should auto-skip themselves if AWO is present 
depends on backport 00438033.0PR20Q1.1 closed inigo_lerga Referencedinventory tests are incompatible with AWO and should auto-skip themselves if AWO is present 
diff 43791.diff (1,753) 2020-04-20 13:50
https://issues.openbravo.com/file_download.php?file_id=14348&type=bug
Issue History
2020-04-20 13:48shuehnerNew Issue
2020-04-20 13:48shuehnerAssigned To => Triage Finance
2020-04-20 13:48shuehnerModules => Core
2020-04-20 13:48shuehnerTriggers an Emergency Pack => No
2020-04-20 13:50shuehnerFile Added: 43791.diff
2020-04-21 10:18shuehnerStatusnew => scheduled
2020-04-21 10:18shuehnerAssigned ToTriage Finance => shuehner
2020-04-21 13:28vmromanosReview Assigned To => vmromanos
2020-04-21 13:40hgbotCheckin
2020-04-21 13:40hgbotNote Added: 0119303
2020-04-21 13:40hgbotStatusscheduled => resolved
2020-04-21 13:40hgbotResolutionopen => fixed
2020-04-21 13:40hgbotFixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/1a900d19234531305f0779e701f0599c21e7c55e [^]
2020-04-27 14:06vmromanosNote Added: 0119431
2020-04-27 14:06vmromanosStatusresolved => closed
2020-04-27 14:06vmromanosFixed in Version => 3.0PR20Q3

Notes
(0119303)
hgbot   
2020-04-21 13:40   
Repository: erp/devel/pi
Changeset: 1a900d19234531305f0779e701f0599c21e7c55e
Author: Stefan Hühner <stefan.huehner <at> openbravo.com>
Date: Tue Apr 21 10:15:57 2020 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/1a900d19234531305f0779e701f0599c21e7c55e [^]

Fixed ISSUE-43791. Make referencedinventory test auto-skip if AWO is installed.

Those test are not compatible with AWO as data they create does not comply with
some new constraint added by AWO.
So far that was required to be handled manually by adding config/disabled-tests
i.e. in every CI job with AWO installed to list the all individual tests here
to skip them.

This issue makes that behavior automatic by checking inside a central base-class
if AWO module is present and skipping the tests themselves (using similar logic
as is used by code for skipping config/disabled-tests from OBBaseTest).
Note that the repeated (per test) calls to isModulePresent are very fast as
that function caches the data inside so no need for caching isAwoInstalled inside
the test-class.

---
M src-test/src/org/openbravo/test/referencedinventory/ReferencedInventoryTest.java
---
(0119431)
vmromanos   
2020-04-27 14:06   
Code review OK