Skip to content

Live interop test point for OSLC-RM and OSLC-QM adapters #23

@mzargham

Description

@mzargham

Follows the Flexo live-test reconciliation that surfaced #20/#21/#22:
spec divergences only show up when we hit the real thing. The OSLC-RM
and OSLC-QM adapters today run only against local fixtures
(canonical W3C/OASIS + sanitized vendor samples in
examples/oslc-fixtures/); no vendor divergence surfaces from those.

A live @pytest.mark.live test for each adapter would prove (or
falsify):

  • OSLC RM 2.1 / QM 2.1 GET on a real oslc_rm:Requirement /
    oslc_qm:TestCase resource yields RDF (XML, Turtle, JSON-LD) we
    parse without loss
  • POST/PUT round-trips honor ETag / If-Match semantics correctly
  • The Layer-C source-preserving carry-through survives a real adapter
    (no server-side normalization)
  • Vendor extensions (dcterms:identifier, oslc_rm:satisfies) match
    what oracle/adapters/oslc/{rm,qm}.py actually expects

Candidate test points:

  1. Eclipse Lyo Reference Implementation
    (https://github.com/OSLC/refimpl). Java/Docker, self-hostable; not
    aware of a stable hosted instance. CI would docker run it; tests
    POST/PUT against http://localhost:8080/. Pros: open source, full
    control, no credentials. Cons: it IS the reference; doesn't surface
    vendor divergence by itself.
  2. IBM ELM (DOORS Next / RQM) free trial at jazz.net. Pros: real
    vendor; ground truth for divergence. Cons: trial tokens expire,
    provisioning is heavyweight, ToS may forbid automated testing.
  3. Polarion / Jama trial — same shape as IBM ELM.
  4. A project-owned hosted OSLC server under
    dynamicalsystemsgroup. Pros: stable, our credentials. Cons:
    capex; not a "real" vendor signal.

Flexo precedent is shape (1): a single sanctioned sandbox URL +
OSLC_RM_URL / OSLC_RM_TOKEN env pair + @pytest.mark.live test
that creates a sandbox project and round-trips a Requirement. Layer
(2)/(3) on top later if a vendor trial materializes.

Decision needed:

  • Which OSLC-RM server is the v0.1 live target?
  • Same for OSLC-QM (likely the same Lyo instance)?
  • Should tests/integration/oslc-roundtrip/test_live_smoke.py Docker
    the refimpl itself, or assume a pre-deployed URL via env var?

Once decided, add to Flexo REST Binding and OSLC Roundtrip Acceptance wiki pages alongside the Flexo try-layer1.starforge.app
precedent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions