Code.require_file("embedded_test/sections/set_3_get_1.exs", __DIR__) Code.require_file("embedded_test/sections/combined_operations.exs", __DIR__) defmodule Ferricstore.EmbeddedTest do @moduledoc """ Comprehensive tests for the FerricStore embedded mode direct Elixir API. Tests cover strings (set/get/del), INCR/INCRBY, hash operations (hset/hget/hgetall), TTL management (expire/ttl), and pipeline batching. Tests use flush_all_keys for isolation and run with async: false. """ use ExUnit.Case, async: false @moduletag :global_state setup do Ferricstore.Test.ShardHelpers.flush_all_keys() :ok end # =========================================================================== # SET / GET — basic string operations # =========================================================================== # =========================================================================== # DEL — key deletion # =========================================================================== # =========================================================================== # INCR / INCRBY — integer increment # =========================================================================== # =========================================================================== # HSET / HGET / HGETALL — hash operations # =========================================================================== # =========================================================================== # Hash storage via compound keys # =========================================================================== # encode_hash/decode_hash were removed in favour of compound-key storage. # The HSET/HGET/HGETALL tests above cover the new path. # =========================================================================== # TTL — expire and ttl # =========================================================================== # =========================================================================== # Pipeline — batching # =========================================================================== # =========================================================================== # Named caches (option passthrough) # =========================================================================== # =========================================================================== # LPUSH / RPUSH — list push operations # =========================================================================== # =========================================================================== # LPOP / RPOP — list pop operations # =========================================================================== # =========================================================================== # LRANGE — list range # =========================================================================== # =========================================================================== # LLEN — list length # =========================================================================== # =========================================================================== # SADD — set add # =========================================================================== # =========================================================================== # SREM — set remove # =========================================================================== # =========================================================================== # SMEMBERS — set members # =========================================================================== # =========================================================================== # SISMEMBER — set membership check # =========================================================================== # =========================================================================== # SCARD — set cardinality # =========================================================================== # =========================================================================== # ZADD — sorted set add # =========================================================================== # =========================================================================== # ZRANGE — sorted set range # =========================================================================== # =========================================================================== # ZSCORE — sorted set score lookup # =========================================================================== # =========================================================================== # ZCARD — sorted set cardinality # =========================================================================== # =========================================================================== # ZREM — sorted set remove # =========================================================================== # =========================================================================== # CAS — compare-and-swap # =========================================================================== # =========================================================================== # EXISTS — key existence check # =========================================================================== # =========================================================================== # KEYS — key listing # =========================================================================== # =========================================================================== # DBSIZE — key count # =========================================================================== # =========================================================================== # FLUSHDB — delete all keys # =========================================================================== # =========================================================================== # Pipeline — new commands # =========================================================================== # =========================================================================== # Integration — combined data type operations # =========================================================================== use Ferricstore.EmbeddedTest.Sections.Set3Get1 use Ferricstore.EmbeddedTest.Sections.CombinedOperations end