jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Randall Hauch (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (JCR-3313) JCR TCK Test for expanding column names is too restrictive
Date Thu, 24 May 2012 22:01:56 GMT

    [ https://issues.apache.org/jira/browse/JCR-3313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13282798#comment-13282798
] 

Randall Hauch edited comment on JCR-3313 at 5/24/12 10:00 PM:
--------------------------------------------------------------

Attached a patch file that corrects the test case. (The changes are also available in this
commit of my fork of Jackrabbit's Git repo: https://github.com/rhauch/jackrabbit/commit/00b3528aed74693df2b6745fe4d18dc1e74eb37d
)

The ColumnTest.testExpandColumnsForNodeType() method was placing additional requirements:
namely that the tabular view contains **only** a column for each single-valued non-residual
property of the selector's node type.

This test was changed to more correctly enforce the specification's requirements by ensuring
only that there is a column for each single-valued non-residual property of the selector's
node type, while allowing other columns to exist. Note that this test is slightly less strict
than before, so Jackrabbit Core passes this test without any changes.

Additionally, a full build with these changes succeeds as expected.
                
      was (Author: rhauch):
    Attached a patch file that corrects the test case. (The changes are also available in
this commit of my fork of Jackrabbit's Git repo: https://github.com/rhauch/jackrabbit/commit/6bd5a63a53f53627c47407c48125098bfe3ffea1
)

The ColumnTest.testExpandColumnsForNodeType() method was placing additional requirements:
namely that the tabular view contains **only** a column for each single-valued non-residual
property of the selector's node type.

This test was changed to more correctly enforce the specification's requirements by ensuring
only that there is a column for each single-valued non-residual property of the selector's
node type, while allowing other columns to exist. Note that this test is slightly less strict
than before, so Jackrabbit Core passes this test without any changes.

Additionally, a full build with these changes succeeds as expected.
                  
> JCR TCK Test for expanding column names is too restrictive
> ----------------------------------------------------------
>
>                 Key: JCR-3313
>                 URL: https://issues.apache.org/jira/browse/JCR-3313
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-jcr-tests, JCR 2.0
>    Affects Versions: 2.4.1
>            Reporter: Randall Hauch
>
> The 'org.apache.jackrabbit.test.api.query.qom.ColumnTest.testExpandColumnsForNodeType()'
test method issues the following query:
>     SELECT s.* FROM [nt:unstructured] AS s
> and then proceeds to check that the columns in the results set. However, a problem with
the expectations in the test: the test assumes that the result set *only* contains columns
for the single-valued, non-residual property definitions for the selected node type. Clearly
this is overly constraining, since Section 6.7.1 of the JSR-283 specification clearly allows
an implementation to return additional columns (e.g., multi-valued property definitions).
Here's the relevant parts of this section:
>     A Query consists of:
>     ...
>     • A list of zero or more Columns to include in the tabular view of the query results.

>       If no columns are specified, the columns available in the tabular view are implementation

>       determined, but minimally include, for each selector, a column for each single-valued

>       non-residual property of the selector's node type.
> In the test's query, no columns are specified for the selector 's', so the result set
must to have AT A MINIMUM  the columns for the single-valued non-residual property defined
on the selector's node type, but an implementation CAN include columns for other properties
defined on the selector's node type. An implementation is even allowed to include columns
that do not map to properties defined on the selector's node type (e.g., pseudo-columns that
don't really exist as properties).
> The test's query uses "nt:unstructured" for the test node type (if not overridden by
the test environment), and in this case an implementation should be allowed to include the
'jcr:mixinTypes' multi-valued property.
> Therefore, the test is overly strict and should not fail when extra columns are included.
The correct behavior is to test only that the result includes AT LEAST a column for each single-valued
non-residual property on the selector's node type.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

Mime
View raw message