-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New bucketing support with hash version 2, bump tests to v0.4.1 (#22)
* add new HashVersion class * use HashVersion when calling hash() function * add seed to Experiment & FeatureRule; use seed in hashing algo; fix inNameSpace() for seed w/ HashVersion * add notnull annotations to help w/ null safety * implement hashVersion 2, support null hash value * null check on hashVersion for utils #hash() * add new fields to ExperimentResult * deprecate Namespace * javadoc for new ExperimentResult fields * add VariationMeta w/ tests * add TrackData & tests * add new class Filter w/ tests * compare only relevant properties for equality * add hashVersion to experiment * make decryption utils fail silently & return null to match desired business logic * fix bucket from int to float; add bucket & key checks to empty experiment rule a & b & c * replace rules for test "creates experiments properly" * replace FeatureResult for "creates experiments properly" * add key & bucket checks for FeatureResult for "handles integer hashAttribute" * add key check to FeatureResult.ExperimentResult for test case "include experiments when forced" * add test case "Force rule with range, ignores coverage" * add test "Force rule, hash version 2" * add rule "Force rule, skip due to range" * add test "Force rule, skip due to filter" * add test case "Force rule, use seed with range" * add test case "Support passthrough variations" * add test case "Support holdout groups" * add test case for run "Filtered, included" * add run test case "Filtered, excluded" * add run test case "Filtered, ignore namespace" * add run test case "Ranges, ignore coverage and weights" * run test cases "Ranges, partial coverage" & "Uses seed and hash version" * add run tests "Uses seed with default weights/coverage" & "Uses seed with weights/coverage" * add test case "force rules - coverage with bad hash version" * add new fields to Experiment (ranges, meta, filters, seed, name, phase) * add new fields to FeatureRule (hashVersion, ranges, meta, filters, seed, name, phase, tracks) * is included in rollout * implement util isFilteredOut (WIP) * add decrypt() test cases JSON * decryption tests: improve errors, fix malformed input bug * use isIncludedInRollout & isFilteredOut * use List<TrackData<T>> * add some experiment evaluation; add FeatureRule values to experiment; rm builder defaults for empty lists * pass hashBucket & variation meta to experiment result * use inRange() for chooseVariation() * use variationId as fallback for ExperimentResult key * add logging around test results * fix argument order for hash() call * add custom serializer & deserializer for HashVersion * add SerializedName annotations * remove some custom gson serialization/deserialization for Experiment, ExperimentResult * remove unused Feature-related JSON serialization methods * add note about Expose annotation * convert HashVersion to Integer, no builder defaults * fix default hash attr * rm custom serializer code * fix range & rollout logic * rm comment re: @\Expose annotation: using this will likely cause more trouble than it's worth * rm hashVersion from GBContext * fix javadoc comments
- Loading branch information
1 parent
2ccfdab
commit 4edfa84
Showing
31 changed files
with
1,054 additions
and
290 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.