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:
- 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.
- 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.
- Polarion / Jama trial — same shape as IBM ELM.
- 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.
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.livetest for each adapter would prove (orfalsify):
oslc_rm:Requirement/oslc_qm:TestCaseresource yields RDF (XML, Turtle, JSON-LD) weparse without loss
(no server-side normalization)
dcterms:identifier,oslc_rm:satisfies) matchwhat
oracle/adapters/oslc/{rm,qm}.pyactually expectsCandidate test points:
(https://github.com/OSLC/refimpl). Java/Docker, self-hostable; not
aware of a stable hosted instance. CI would
docker runit; testsPOST/PUT against
http://localhost:8080/. Pros: open source, fullcontrol, no credentials. Cons: it IS the reference; doesn't surface
vendor divergence by itself.
vendor; ground truth for divergence. Cons: trial tokens expire,
provisioning is heavyweight, ToS may forbid automated testing.
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_TOKENenv pair +@pytest.mark.livetestthat creates a sandbox project and round-trips a Requirement. Layer
(2)/(3) on top later if a vendor trial materializes.
Decision needed:
tests/integration/oslc-roundtrip/test_live_smoke.pyDockerthe refimpl itself, or assume a pre-deployed URL via env var?
Once decided, add to
Flexo REST BindingandOSLC Roundtrip Acceptancewiki pages alongside the Flexotry-layer1.starforge.appprecedent.