Packages

Elixir SDK for Eppo's feature flagging and experimentation platform

Current section

Files

Jump to
eppo_sdk priv test_sdk_script.exs
Raw

priv/test_sdk_script.exs

api_key = "icfGfRHBd1J1sIifWi3gsDdu7.ZWg9ZnZjajk1LmUuZXBwby5jbG91ZA"
string_flag_key = "new-homepage-test"
bool_flag_key = "b2b-flag"
json_flag_key = "onboarding"
config = %EppoSdk.Client.Config{
api_key: api_key,
assignment_logger: EppoSdk.AssignmentLogger,
is_graceful_mode: true,
poll_interval_seconds: 30,
poll_jitter_seconds: 3
}
{:ok, _pid} = EppoSdk.Server.start_link(config)
client = EppoSdk.Server.get_instance()
Process.sleep(1000)
IO.puts("--- String Assignment ---")
string_assignment =
EppoSdk.Client.get_string_assignment(
client,
string_flag_key,
"alice",
%{"country" => "US", "age" => 25},
"missing"
)
IO.inspect(string_assignment)
IO.puts("--- StringAssignment details ---")
{value, details} =
EppoSdk.Client.get_string_assignment_details(
client,
string_flag_key,
"alice",
%{"country" => "US"},
"missing"
)
IO.inspect(value, label: "value")
IO.inspect(details, label: "details")
IO.puts("--- Boolean Assignment details ---")
{value, details} =
EppoSdk.Client.get_boolean_assignment_details(
client,
bool_flag_key,
"alice",
%{"country" => "US"},
false
)
IO.inspect(value, label: "value")
IO.inspect(details, label: "details")
IO.puts("--- JSON assignment ---")
json_value =
EppoSdk.Client.get_json_assignment(client, json_flag_key, "alice", %{"country" => "US"}, %{
"hello" => "world"
})
IO.inspect(json_value, label: "value")
IO.puts("--- JSON Assignment details ---")
{value, details} =
EppoSdk.Client.get_json_assignment_details(
client,
json_flag_key,
"alice",
%{"country" => "US"},
%{
"hello" => "world"
}
)
IO.inspect(value, label: "value")
IO.inspect(details, label: "details")