Skip to content

Commit a447b4c

Browse files
committed
test(ofrep): drop the one omission that was never about OFREP
This suite's declarableExcept list is long, and every name in it is something this provider genuinely cannot do -- no lifecycle to observe, no events, no connection to lose, a backend that decides so the caller's default never leaves the process, a deserialiser that keeps the numeric types strictly apart. @large-integers was the odd one out: it said nothing about OFREP at all, only that Client.getIntegerDetails is a 32-bit Integer. The TCK refuses it centrally now, so it is gone from the list and from the paragraph that explained it. That matters more here than in the flagd suite, because here it was one name among nine and a reader had no way to tell which of the nine described the provider. Now all of them do. Measured on the pinned testbed image: 65 scenarios, 46 passed, 17 skipped, 2 failed -- a clean run, identical to the previous pass, since this changes the reason for a skip rather than the count. The stream now carries four "provider does not declare capability" reasons and one "the Java SDK cannot express capability LARGE_INTEGERS", which is the distinction a reader of the report needs. No KnownDeviation changes: the existing DISABLED_FLAGS entry is unaffected, and a capability no Java provider can be asked was never a deviation to record. Signed-off-by: Simon Schrottner <simon.schrottner@flagsmith.com>
1 parent 7da5617 commit a447b4c

2 files changed

Lines changed: 15 additions & 13 deletions

File tree

providers/ofrep/src/test/java/dev/openfeature/contrib/providers/ofrep/e2e/OfrepTckTest.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424
* <p><strong>The testbed does not yet serve the whole canonical flag set.</strong> Three flags the
2525
* suite's assets added are absent from {@code flagd-testbed} v3.8.0: {@code large-integer-flag},
2626
* {@code huge-integer-flag} and {@code integral-float-flag}. Only the first is reached —
27-
* {@code huge-integer-flag} is asked for solely under {@code @large-integers}, which is not
28-
* applicable in Java, and {@code integral-float-flag} solely under {@code @numeric-coercion}, which
29-
* is withheld below — so exactly one untagged scenario, the 32-bit precision one, fails with
27+
* {@code huge-integer-flag} is asked for solely under {@code @large-integers}, which no Java
28+
* provider can be asked, and {@code integral-float-flag} solely under {@code @numeric-coercion},
29+
* which is withheld below — so exactly one untagged scenario, the 32-bit precision one, fails with
3030
* {@code FLAG_NOT_FOUND} until open-feature/flagd-testbed#392 lands.
3131
*
3232
* <p>The three falsy flags used to fail the same way and no longer do. The testbed's
@@ -208,12 +208,14 @@ public FeatureProvider createUnavailableProvider() {
208208
* exact-instance check is what makes the {@code @object} mismatch matrix work, and the
209209
* structured happy path passes through {@code resolve(Object.class, ...)}, which every non-null
210210
* value satisfies, and is converted with {@code Value.objectToValue} (Resolver.java:125-136).
211-
* And {@link Capability#LARGE_INTEGERS} is withheld, as every Java provider withholds it, for a
212-
* reason that is not about OFREP at all: the tag asks for 2^53 − 1 and
213-
* {@code Client.getIntegerDetails} is a 32-bit {@code Integer} with no room for it. The limit is
214-
* the SDK's, it is recorded once in Appendix F rather than in each run, and the scenario is
215-
* skipped for an undeclared capability like any other. It is named here for the same reason
216-
* {@code REINITIALIZATION} is — {@link Capability#declarableExcept} would otherwise claim it.
211+
* And {@link Capability#LARGE_INTEGERS} is no longer in the list below, which is the one
212+
* omission here that says nothing about OFREP. The tag asks for 2^53 − 1 and
213+
* {@code Client.getIntegerDetails} is a 32-bit {@code Integer} with no room for it, so the limit
214+
* is the SDK's; the TCK refuses the capability outright now rather than asking every Java
215+
* adoption to remember, and {@link Capability#declarableExcept} no longer offers it. Its
216+
* scenario is still skipped, with a reason naming the accessor rather than this provider — which
217+
* matters more here than elsewhere, because every other name in that list <em>is</em> something
218+
* this provider genuinely cannot do, and a reader should not have to guess which is which.
217219
*
218220
* <p>{@link Capability#VARIANTS} and {@link Capability#TARGETING} are declared, and unlike the
219221
* withheld tags above both are confirmed by a run rather than read from the source. The OFREP
@@ -305,8 +307,7 @@ public Set<Capability> capabilities() {
305307
Capability.CONFIGURATION_CHANGE,
306308
Capability.DISABLED_FLAGS,
307309
Capability.UNAVAILABLE_INIT,
308-
Capability.NUMERIC_COERCION,
309-
Capability.LARGE_INTEGERS);
310+
Capability.NUMERIC_COERCION);
310311
}
311312

312313
/**

providers/ofrep/src/test/resources/tck/docker-compose.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88
#
99
# That flag set is not yet the whole canonical one: v3.8.0 has none of large-integer-flag,
1010
# huge-integer-flag or integral-float-flag. Only large-integer-flag is reached by scenarios that
11-
# run here -- the other two sit behind @large-integers and @numeric-coercion, neither of which
12-
# this provider declares -- and it is reached twice: the untagged precision scenario, which gets
11+
# run here -- the other two sit behind @numeric-coercion, which this provider withholds, and
12+
# @large-integers, which no Java provider can be asked because Client.getIntegerDetails is a
13+
# 32-bit Integer -- and it is reached twice: the untagged precision scenario, which gets
1314
# the code default instead of 2147483647, and the @variants row that asks for its "max-int32"
1415
# variant and is answered with none. Both fail until open-feature/flagd-testbed#392 lands. Bump
1516
# the tag then.

0 commit comments

Comments
 (0)