Uploaded image for project: 'ModeShape'
  1. ModeShape
  2. MODE-376

Version Tests in SerializationTest Fail Due to TCK Bug

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • 0.4
    • 0.3
    • JCR, Testing

      The JackRabbit TCK that DNA currently uses to help gauge JCR compliance contains several tests (e.g., SerializationTest) that test whether the repository supports versioning by calling canAddMixin("mix:versionable") on a node instead of checking Repository.getDescriptor(Repository.OPTION_VERSIONING_SUPPORTED). These tests expect the canAddMixin call to return false if the repository does not support versioning.

      However, in section 4.11 of the 1.0.1 specification, the behavior of repositories that do not support versioning is defined differently: "A node is versionable if and only if it has been assigned the mixin type mix:versionable, otherwise it is nonversionable. Repositories that do not support versioning will simply not provide this mixin type, whereas repositories that do support versioning must provide it."

      Based on this, DNA needs to disable the built-in mix:versionable type. It probably makes sense to disable nt:versionHistory, nt:version, etc. as well. However, to make the tests pass, canAddMixin will need to be changed to return false when given "mix:versionable" as an argument.

            rhauch Randall Hauch (Inactive)
            bcarothers_jira Brian Carothers (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: