Files
scylladb/test/redis
Etienne Adam 19683d04c6 redis: add hget and hset commands
hget and hset commands using hashes internally, thus
they are not using the existing write_strings() function.

Limitations:
 - hset only supports 3 params, instead of multiple field/value
list that is available in official redis-server.
 - hset should return 0 when the key and field already exists,
but I am not sure it's possible to retrieve this information
without doing read-before-write, which would not be atomic.

I factorized a bit the query_* functions to reduce duplication, but
I am not 100% sure of the naming, it may still be a bit confusing
between the schema used (strings, hashes) and the returned format
(currently only string but array should come later with hgetall).

Signed-off-by: Etienne Adam <etienne.adam@gmail.com>
Message-Id: <20200830190128.18534-1-etienne.adam@gmail.com>
2020-08-30 22:05:41 +03:00
..

Tests for Scylla with Redis API that should also pass, identically, against Redis.

Tests use the redis library for Redis API, and the pytest frameworks (both are available from Linux distributions, or with "pip install").

To run all tests against the local installation of Scylla with Redis API on localhost:6379, just run pytest.

Some additional pytest options:

  • To run all tests in a single file, do pytest test_strings.py.
  • To run a single specific test, do pytest test_strings.py::set.
  • Additional useful pytest options, especially useful for debugging tests:
    • -v: show the names of each individual test running instead of just dots.
    • -s: show the full output of running tests (by default, pytest captures the test's output and only displays it if a test fails)