Skip to content

chore: updated to use v2 configs #301

chore: updated to use v2 configs

chore: updated to use v2 configs #301

GitHub Actions / Test Report succeeded Aug 21, 2024 in 1s

92 passed, 0 failed and 59 skipped

Tests passed successfully

✅ jest-junit.xml

151 tests were completed in 54s with 92 passed, 0 failed and 59 skipped.

Test suite Passed Failed Skipped Time
harness/features/allFeatures.cloud.test.ts 3⚪ 143ms
harness/features/allFeatures.local.test.ts 3✅ 198ms
harness/features/allVariables.cloud.test.ts 5⚪ 160ms
harness/features/allVariables.local.test.ts 2✅ 3s
harness/features/bootstrapping.test.ts 2⚪ 151ms
harness/features/clientCustomData.test.ts 2✅ 2s
harness/features/initialize.cloud.test.ts 3⚪ 135ms
harness/features/initialize.local.test.ts 12✅ 1⚪ 13s
harness/features/multithreading.local.test.ts 5⚪ 2s
harness/features/track.cloud.test.ts 4⚪ 151ms
harness/features/track.local.test.ts 4✅ 7s
harness/features/variable.cloud.test.ts 36⚪ 2s
harness/features/variable.local.test.ts 66✅ 51s
harness/types/capabilities.test.ts 3✅ 86ms

✅ harness/features/allFeatures.cloud.test.ts

allFeatures Tests - Cloud › Ruby
  ⚪ should return all features without edgeDB
  ⚪ should return all features with edgeDB
  ⚪ should throw if features request fails on invalid sdk key

✅ harness/features/allFeatures.local.test.ts

allFeatures Tests - Local › uninitialized client
  ✅ should return empty object if client is uninitialized
allFeatures Tests - Local › initialized client
  ✅ should return all features for user without custom data
  ✅ should return all features for user with custom data

✅ harness/features/allVariables.cloud.test.ts

allVariables Tests - Cloud › Ruby
  ⚪ should return an empty object if variables request fails
  ⚪ should throw if variables request fails on user error
  ⚪ should return a variable map
  ⚪ should make a request to the variables endpoint with edgeDB param to false
  ⚪ should make a request to the variables endpoint with edgeDB param to true

✅ harness/features/allVariables.local.test.ts

allVariables Tests - Local
  ✅ should return an empty object if client is not initialized
  ✅ should return a variable map for a bucketed user

✅ harness/features/bootstrapping.test.ts

Bootstrapping Tests › Ruby › not enabled client
  ⚪ throws an error when trying to get bootstrap config if not enabled
Bootstrapping Tests › Ruby › initialized client
  ⚪ should return a client bootstrapped config

✅ harness/features/clientCustomData.test.ts

Client Custom Data Tests › Ruby
  ✅ should set client custom data and use it for segmentation
  ✅ should do nothing when client has not initialized

✅ harness/features/initialize.cloud.test.ts

Client Initialize Tests - Cloud › Ruby
  ⚪ should throw an exception and return no location if invalid SDK token is sent
  ⚪ should throw an exception and return no location if no SDK token is sent
  ⚪ should return client object location if SDK token is correct

✅ harness/features/initialize.local.test.ts

Initialize Tests - Local
  ✅ should error when SDK key is missing
  ✅ should error when SDK key is invalid
  ✅ initializes correctly on valid data
  ✅ calls initialize promise/callback when config is successfully retrieved
  ✅ calls initialize promise/callback when config fails to be retrieved
  ✅ defaults variable when config fails to be retrieved, and then recovers
  ⚪ stops the polling interval when the sdk key is invalid and cdn responds 403, throws error
  ✅ fetches config again after 3 seconds when config polling interval is overriden
  ✅ uses the same config if the etag matches
  ✅ uses the same config if the refetch fails, after retrying once
  ✅ uses the same config if the response is invalid JSON
  ✅ uses the same config if the response is valid JSON but invalid data
  ✅ uses the new config when etag changes, and flushes existing events

✅ harness/features/multithreading.local.test.ts

Multithreading Tests › Ruby › initialized client
  ⚪ should return variable if SDK returns object matching default type
  ⚪ should aggregate events across threads
  ⚪ should retry events across threads
Multithreading Tests › Ruby › initialized client › Ruby
  ⚪ should set client custom data and use it for segmentation
Multithreading Tests › Ruby › uninitialized client
  ⚪ should return default value if client is uninitialized, log event

✅ harness/features/track.cloud.test.ts

Track Tests - Cloud › Ruby
  ⚪ should complain if event type not set
  ⚪ should call events API to track event
  ⚪ should retry events API on failed request
  ⚪ should throw if track request fails on invalid sdk key

✅ harness/features/track.local.test.ts

Track Tests - Local › Expect no events sent
  ✅ should not send an event if the event type not set
Track Tests - Local › Expect events sent
  ✅ should call events API to track event
  ✅ should call events API to track 2 events
  ✅ should retry events API call to track 2 events and check interval of events is in specified window

✅ harness/features/variable.cloud.test.ts

Variable Tests - Cloud › Ruby
  ⚪ will throw error variable called with invalid key
  ⚪ will throw error variableValue called with invalid key
  ⚪ will throw error if variable called with invalid sdk key
  ⚪ will throw error if variableValue called with invalid sdk key
  ⚪ will throw error variable called with invalid default value
  ⚪ will throw error variableValue called with invalid default value
  ⚪ should call variable API without edgeDB option
  ⚪ should call variableValue API without edgeDB option
  ⚪ should call variable API with edgeDB option
  ⚪ should call variableValue API with edgeDB option
  ⚪ should return default if mock server returns variable mismatching default value type
  ⚪ should return default if mock server returns variableValue mismatching default value type
Variable Tests - Cloud › Ruby › Variable string tests
  ⚪ should return default string variable if mock server returns undefined
  ⚪ should return default string variableValue if mock server returns undefined
  ⚪ should return string variable if mock server returns                 proper variable matching default value type
  ⚪ should return string variableValue if mock server returns                 proper variable matching default value type
  ⚪ should return defaulted string variable if mock server returns an internal error,                 after retrying 5 times
  ⚪ should return defaulted string variableValue if mock server returns an internal error,                 after retrying 5 times
Variable Tests - Cloud › Ruby › Variable number tests
  ⚪ should return default number variable if mock server returns undefined
  ⚪ should return default number variableValue if mock server returns undefined
  ⚪ should return number variable if mock server returns                 proper variable matching default value type
  ⚪ should return number variableValue if mock server returns                 proper variable matching default value type
  ⚪ should return defaulted number variable if mock server returns an internal error,                 after retrying 5 times
  ⚪ should return defaulted number variableValue if mock server returns an internal error,                 after retrying 5 times
Variable Tests - Cloud › Ruby › Variable boolean tests
  ⚪ should return default boolean variable if mock server returns undefined
  ⚪ should return default boolean variableValue if mock server returns undefined
  ⚪ should return boolean variable if mock server returns                 proper variable matching default value type
  ⚪ should return boolean variableValue if mock server returns                 proper variable matching default value type
  ⚪ should return defaulted boolean variable if mock server returns an internal error,                 after retrying 5 times
  ⚪ should return defaulted boolean variableValue if mock server returns an internal error,                 after retrying 5 times
Variable Tests - Cloud › Ruby › Variable JSON tests
  ⚪ should return default JSON variable if mock server returns undefined
  ⚪ should return default JSON variableValue if mock server returns undefined
  ⚪ should return JSON variable if mock server returns                 proper variable matching default value type
  ⚪ should return JSON variableValue if mock server returns                 proper variable matching default value type
  ⚪ should return defaulted JSON variable if mock server returns an internal error,                 after retrying 5 times
  ⚪ should return defaulted JSON variableValue if mock server returns an internal error,                 after retrying 5 times

✅ harness/features/variable.local.test.ts

Variable Tests - Local › initialized client › Variable string tests
  ✅ should return variable if mock server returns object matching default type
  ✅ should return variableValue if mock server returns object matching default type
  ✅ should return default value if default type doesn't match variable type
  ✅ should return default value if default type doesn't match variableValue type
  ✅ should return default value if user is not bucketed into variable
  ✅ should return default value if user is not bucketed into variableValue
  ✅ should return default value if variable doesn't exist
  ✅ should return default value if variableValue doesn't exist
  ✅ should aggregate aggVariableDefaulted events for variable
  ✅ should aggregate aggVariableDefaulted events for variableValue
  ✅ should aggregate aggVariableEvaluated events for variable
  ✅ should aggregate aggVariableEvaluated events for variableValue
Variable Tests - Local › initialized client › Variable number tests
  ✅ should return variable if mock server returns object matching default type
  ✅ should return variableValue if mock server returns object matching default type
  ✅ should return default value if default type doesn't match variable type
  ✅ should return default value if default type doesn't match variableValue type
  ✅ should return default value if user is not bucketed into variable
  ✅ should return default value if user is not bucketed into variableValue
  ✅ should return default value if variable doesn't exist
  ✅ should return default value if variableValue doesn't exist
  ✅ should aggregate aggVariableDefaulted events for variable
  ✅ should aggregate aggVariableDefaulted events for variableValue
  ✅ should aggregate aggVariableEvaluated events for variable
  ✅ should aggregate aggVariableEvaluated events for variableValue
Variable Tests - Local › initialized client › Variable boolean tests
  ✅ should return variable if mock server returns object matching default type
  ✅ should return variableValue if mock server returns object matching default type
  ✅ should return default value if default type doesn't match variable type
  ✅ should return default value if default type doesn't match variableValue type
  ✅ should return default value if user is not bucketed into variable
  ✅ should return default value if user is not bucketed into variableValue
  ✅ should return default value if variable doesn't exist
  ✅ should return default value if variableValue doesn't exist
  ✅ should aggregate aggVariableDefaulted events for variable
  ✅ should aggregate aggVariableDefaulted events for variableValue
  ✅ should aggregate aggVariableEvaluated events for variable
  ✅ should aggregate aggVariableEvaluated events for variableValue
Variable Tests - Local › initialized client › Variable JSON tests
  ✅ should return variable if mock server returns object matching default type
  ✅ should return variableValue if mock server returns object matching default type
  ✅ should return default value if default type doesn't match variable type
  ✅ should return default value if default type doesn't match variableValue type
  ✅ should return default value if user is not bucketed into variable
  ✅ should return default value if user is not bucketed into variableValue
  ✅ should return default value if variable doesn't exist
  ✅ should return default value if variableValue doesn't exist
  ✅ should aggregate aggVariableDefaulted events for variable
  ✅ should aggregate aggVariableDefaulted events for variableValue
  ✅ should aggregate aggVariableEvaluated events for variable
  ✅ should aggregate aggVariableEvaluated events for variableValue
Variable Tests - Local › initialized client
  ✅ should return a valid unicode string for variable
  ✅ should return a valid unicode string for variableValue
Variable Tests - Local › uninitialized client › Variable string tests
  ✅ should return variable default value if client is uninitialized, log event
  ✅ should return variableValue default value if client is uninitialized, log event
  ✅ should return default value for variable if client config failed, log event
  ✅ should return default value for variableValue if client config failed, log event
Variable Tests - Local › uninitialized client › Variable number tests
  ✅ should return variable default value if client is uninitialized, log event
  ✅ should return variableValue default value if client is uninitialized, log event
  ✅ should return default value for variable if client config failed, log event
  ✅ should return default value for variableValue if client config failed, log event
Variable Tests - Local › uninitialized client › Variable boolean tests
  ✅ should return variable default value if client is uninitialized, log event
  ✅ should return variableValue default value if client is uninitialized, log event
  ✅ should return default value for variable if client config failed, log event
  ✅ should return default value for variableValue if client config failed, log event
Variable Tests - Local › uninitialized client › Variable JSON tests
  ✅ should return variable default value if client is uninitialized, log event
  ✅ should return variableValue default value if client is uninitialized, log event
  ✅ should return default value for variable if client config failed, log event
  ✅ should return default value for variableValue if client config failed, log event

✅ harness/types/capabilities.test.ts

SDKCapabilities Unit Tests
  ✅ should load capabilities from env variables
  ✅ should load capabilities from env variables as JSON
  ✅ should use default capabilities if env variables are not set