Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0045415Openbravo ERPA. Platformpublic2020-11-10 22:362020-11-11 07:15
shuehner 
shuehner 
normalminorhave not tried
closedfixed 
5
 
PR20Q4PR20Q4 
alostale
Core
No
0045415: Skip AccessLevelTest.testADataAccessLevel also for views
the testADataAccessLevel test iterates over all entities and tries to query them to verify ad_client/ad_org values of the resulting rows.

The testcase already skips entities not being a real 'database table':
- isDataSourceBased
- isHQLBased

      if (e.isDataSourceBased() || e.isHQLBased()) {
        // The entity is not associated with a database table, so it does not apply

With the same argumentation probably entities with isView() (having underlying database view's should be skipped)

Concrete failing example:
- custom view calling a database function depending on config/masterdata setup to even work

Current output:
- org.hibernate.exception.GenericJDBCException: could not extract ResultSet
- Inside stacktrace it points to date-setup problem
Caused by: org.postgresql.util.PSQLException: ERROR: @NoConversionRate@ (MXN-$) @to@ (EUR-€) @ForDate@ '11-11-2020', @Client@ 'QA Testing' @And@ @ACCS_AD_ORG_ID_D@ 'USA'.
  Where: PL/pgSQL function c_currency_convert(numeric,character varying,character varying,timestamp without time zone,character varying,character varying,character varying) line 38 at RAISE

Apart from maybe skipping views the testcase does not help at all to point to the entity having the issue.

Attached patch skips views + adds some context (entityName) to any exception thrown while running a query.
Noticed in a customer/project instance (ask reporter is needed for a concrete example)
No tags attached.
blocks defect 0045414 closed shuehner Skip AccessLevelTest.testADataAccessLevel also for views 
Issue History
2020-11-11 07:08alostaleTypedefect => backport
2020-11-11 07:08alostaleTarget Version => PR20Q4
2020-11-11 07:12hgbotResolutionopen => fixed
2020-11-11 07:12hgbotStatusscheduled => resolved
2020-11-11 07:12hgbotFixed in Version => PR20Q4
2020-11-11 07:12hgbotNote Added: 0124272
2020-11-11 07:15alostaleStatusresolved => closed

Notes
(0124272)
hgbot   
2020-11-11 07:12   
Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: 08f98a2fab9822e2c29621441f76c042a7a76d3e
Author: Stefan Hühner <stefan.huehner@openbravo.com>
Date: 2020-11-11T07:12:27+01:00
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/08f98a2fab9822e2c29621441f76c042a7a76d3e [^]

fixed ISSUE-45415: AccessLevelTest.testADataAccessLevel tests on views

While in general testing access level on views is not a problem, there
are some cases when this is problematic as tested view might require on
some extra config which could be not set.

This patch:

  * Skips testing on database views
  * Adds information about the entity that failed in case of an
    exception

---
M src-test/src/org/openbravo/test/security/AccessLevelTest.java
---