diff --git a/internal/test_txn_multi.go b/internal/test_txn_multi.go new file mode 100644 index 0000000..4e387b8 --- /dev/null +++ b/internal/test_txn_multi.go @@ -0,0 +1,34 @@ +package internal + +import ( + "github.com/codecrafters-io/redis-tester/internal/redis_executable" + "github.com/codecrafters-io/redis-tester/internal/resp_assertions" + + "github.com/codecrafters-io/redis-tester/internal/instrumented_resp_connection" + "github.com/codecrafters-io/redis-tester/internal/test_cases" + "github.com/codecrafters-io/tester-utils/test_case_harness" +) + +func testTxMulti(stageHarness *test_case_harness.TestCaseHarness) error { + b := redis_executable.NewRedisExecutable(stageHarness) + if err := b.Run(); err != nil { + return err + } + + logger := stageHarness.Logger + + client, err := instrumented_resp_connection.NewFromAddr(stageHarness, "localhost:6379", "client") + if err != nil { + logFriendlyError(logger, err) + return err + } + defer client.Close() + + commandTestCase := test_cases.SendCommandTestCase{ + Command: "MULTI", + Args: []string{}, + Assertion: resp_assertions.NewStringAssertion("OK"), + } + + return commandTestCase.Run(client, logger) +}