Skip to content

Releases: NLstn/odata-compliance-suite

v1.0.3

Choose a tag to compare

@github-actions github-actions released this 19 Jul 07:41

Changelog

  • eee4d30 Verify operation results against an oracle; add negative-path tests
  • 9d72825 Replace tautological type-system metadata checks with real assertions
  • a0d6fb6 Add If-None-Match: * create-if-not-exists test
  • 9f1a6c7 Strengthen null-value handling: verify persistence and PATCH-vs-PUT semantics
  • d720c17 Exercise real pagination behavior in the isolation-header tests
  • 706a322 Dereference OData-EntityId instead of a vacuous status/substring check
  • abdec8c Add negative-payload and conflicting-key tests for create/update
  • f13c931 Fail loudly when malformed $filter syntax is silently accepted
  • fd744a2 Harden two tests now that their tracked go-odata bugs are fixed
  • 3339951 Fail loudly on capabilityRequirements/conformanceTags typos
  • 6003fd2 Add a divby division-by-zero test
  • 6e971ba Add Content-ID uniqueness coverage and a stronger rollback check
  • 8d20eb9 Round-trip numeric boundary values instead of only filter-reading them
  • 8c47db6 Verify mutations actually took effect, not just their own status code
  • 5d01dfa Use valid payloads and AssertODataError in vocabulary restriction tests
  • 73a6ad3 Convert soundness-only filter/query tests to the oracle pattern
  • a5ed8dc Add unit tests for the framework's Assert* helpers
  • 59a5189 Verify $select completeness, not just presence
  • 4c22c43 Distinguish fully-skipped suites from passing ones
  • 7203b0b Require computed property values to be ignored
  • 80e35be Exercise include-annotations on an existing entity
  • 98cbad7 Isolate conditional delete test data
  • a18c07c Support testing unreleased suite revisions
  • bd23cef Audit and strengthen OData compliance coverage
  • e630dc7 Update session 9 comments now that go-odata#800/#801 are fixed
  • 3df7d9f Fix remaining no-op tests, add Capabilities/Core vocabulary coverage
  • 686d75e Revert skip workarounds — tests must fail when go-odata is non-compliant
  • 70515ec Fix three test failures after go-odata bug fixes
  • 68e7923 Add new tests and strengthen assertions across 48 test files
  • c978c7b Fix go vet format string in url_encoding test
  • 2a8f4b9 Restore strict assertions now that go-odata#763 and #764 are fixed
  • c3cbb8d Fix 6 CI regressions introduced by overly strict assertions
  • fdc3454 Fix correctness bugs and strengthen 60 assertions across 25 test files
  • ceb9c36 Verify go-odata#747 fix; document chained navigation bug #749
  • 9ad95f5 Strengthen body validation across 11 test files
  • da3471b Fix gofmt alignment in metadata_helpers.go
  • ba4eef2 Strengthen ~100 status-code-only tests with oracle-based assertions
  • 639be71 Assert $search NOT operator semantics
  • e31b463 Assert the Allow header on 405 Method Not Allowed responses
  • 9e0dab1 Require strict OData string enum representation (no numeric fallback)

v1: Verify operation results against an oracle; add negative-path tests

Choose a tag to compare

@NLstn NLstn released this 11 Jul 08:24
12.1_operations.go and 11.4.13_action_function_parameters.go checked
only HTTP status and response shape for functions/actions, never the
actual computed result or side effect against the seeded fixture
data — trivially checkable given the suite already knows the exact
seed values.

- test_unbound_function / test_operation_returns_collection
  (GetTopProducts()): now verifies the full result is sorted
  descending by Price and matches the complete product set.
- test_unbound_function_parameters (GetTopProducts(count=3)): verifies
  the exact top-3 products by Price, in order.
- test_bound_function (GetTotalPrice(taxRate=0.08)): verifies the
  returned value equals Price * 1.08 for the target entity.
- test_bound_function_collection (GetAveragePrice()): verifies the
  returned value equals the true average Price across all products.
- test_bound_action (ApplyDiscount(percentage=10)): now re-GETs the
  entity afterward and verifies Price actually became
  originalPrice * 0.9, not just that the action's own response
  succeeded.
- 11.4.13's test_function_valid_params (FindProducts): now verifies
  the exact result set (name substring AND maxPrice), not just 200.
- New negative-path tests: function invoked via POST is rejected,
  action invoked via GET is rejected, and a bound function missing a
  required parameter / given a wrong-typed parameter is rejected —
  none of these were tested anywhere before.

Left test_unbound_action (ResetProducts) unchanged: empirically it
does not revert a product's Price back to its seed value after a
prior ApplyDiscount call, but its name and lack of documentation don't
give enough confidence to assert a specific intended side effect, so
no unverified requirement was added.

Verified all behaviors against a live go-odata reference server before
writing assertions. Full build/vet/test clean; full-suite run shows no
regressions (test count rose by exactly the 4 new negative tests
added).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 27 Jun 20:23

Changelog

  • b1cfbdd Require strict OData string enum representation (no numeric fallback)

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 27 Jun 20:04

Changelog

  • 678199f Fix enum Status field checks to accept OData string representation
  • 14540b1 Strengthen $orderby null handling and $search effect verification
  • c2b90fe Verify content of service document and property $value responses
  • b4f81f7 Cross-check $count and $top/$skip against the actual collection
  • 3acdf28 Strengthen navigation-property filter tests to verify the filter took effect
  • 3869743 Add missing mandatory checks: ETag when concurrency declared, batch OData-Version
  • 0267fda Fix incorrect test logic in type and capability suites
  • 29c01a9 Stop failing spec-compliant servers in over-strict tests
  • 06b5c3e Add has / totalseconds / or-in-lambda filter coverage
  • fe509fe Add semantic depth to filter & aggregation test suites
  • b6c20ac chore(deps): bump actions/checkout from 6 to 7
  • 3a6d84d chore(deps): bump actions/upload-artifact from 4 to 7
  • 8f1eb5d Fix 4.2 nullable check: scope to tags
  • c93bc20 Fix correctness bugs in compliance tests
  • 5045158 Restore reference operation URLs
  • c5b88be Use GUID category fixtures in write tests
  • 6574215 Align operation tests with contract
  • eda0088 Fix reference compliance test assumptions
  • f2f1dbc Extend OData query compliance tests
  • 1065cdc Fix six correctness issues found in code review
  • db7b0cc Add structured output formats: JUnit XML, JSON, SARIF (closes #11)
  • b0e4387 Fix gofmt formatting in main.go
  • c75a51f Add OASIS conformance level reporting (closes #9)
  • a3d01e1 Fix gofmt formatting in main.go capability requirements map
  • 8b0c564 Fix gaps in capability-aware test skipping
  • 00cd09e Add capability-aware test skipping (closes #8)
  • 10c7f65 Add reference compliance run against go-odata
  • 9ba671c chore(deps): bump goreleaser/goreleaser-action from 6 to 7
  • d1324df chore(deps): bump docker/setup-buildx-action from 3 to 4
  • f3ab4e8 chore(deps): bump docker/login-action from 3 to 4
  • a515435 Add Dependabot config for GitHub Actions updates
  • 4a0c0a0 Trigger release only on full version tags, not the moving v1 tag (#3)

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Jun 15:27
732f9a1

Changelog

  • 732f9a1 Prefix Docker image version tag with v for consistency (#2)
  • 6081618 Add distribution: GitHub Action, Docker image, binaries, release pipeline (#1)
  • ffed874 Initial commit: standalone OData v4 compliance test suite