{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":340682296,"defaultBranch":"main","name":"redis-tester","ownerLogin":"codecrafters-io","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-02-20T15:06:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/58904235?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718384362.0","currentOid":""},"activityList":{"items":[{"before":"b1bebb4399731a400c37364af65dbf07c5dcb138","after":null,"ref":"refs/heads/CC-1299-txn","pushedAt":"2024-06-14T16:54:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"}},{"before":"b4e96490b9aec64f5c81adbaa48d2e9f1b9e1a04","after":"d8ba70b85f013513de77355540972f34845ff955","ref":"refs/heads/main","pushedAt":"2024-06-14T16:54:22.000Z","pushType":"pr_merge","commitsCount":42,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"Merge pull request #153 from codecrafters-io/CC-1299-txn\n\nCC-1299: Implement Transactions extension tests","shortMessageHtmlLink":"Merge pull request #153 from codecrafters-io/CC-1299-txn"}},{"before":"b665420afa55b19e7fada3af6e30cd4814ae396f","after":"b1bebb4399731a400c37364af65dbf07c5dcb138","ref":"refs/heads/CC-1299-txn","pushedAt":"2024-06-14T16:51:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"tests: update fixtures","shortMessageHtmlLink":"tests: update fixtures"}},{"before":"a3b77771aadef499a1200d01d5a5b25500ca4d4c","after":"b665420afa55b19e7fada3af6e30cd4814ae396f","ref":"refs/heads/CC-1299-txn","pushedAt":"2024-06-14T16:45:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"fix: use quoted values in error assertion failure logs\n\nCo-authored-by: Paul Kuruvilla ","shortMessageHtmlLink":"fix: use quoted values in error assertion failure logs"}},{"before":"77a2189ff806f32eac2f8ff99f523e071187e6e1","after":"a3b77771aadef499a1200d01d5a5b25500ca4d4c","ref":"refs/heads/CC-1299-txn","pushedAt":"2024-06-14T10:12:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"tests: update fixtures","shortMessageHtmlLink":"tests: update fixtures"}},{"before":"634dcce5b3de878d56dd9173cd59d8f3c4b93de6","after":"77a2189ff806f32eac2f8ff99f523e071187e6e1","ref":"refs/heads/CC-1299-txn","pushedAt":"2024-06-14T10:08:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"refactor: refactor transaction test case to accept an array of assertions\nUpdate tests accordingly","shortMessageHtmlLink":"refactor: refactor transaction test case to accept an array of assert…"}},{"before":"6690867c057da91bf29d6d726ecbbc35a87bbe39","after":"634dcce5b3de878d56dd9173cd59d8f3c4b93de6","ref":"refs/heads/CC-1299-txn","pushedAt":"2024-06-14T08:39:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"fix: update naming to match standards, update internal error codes\n\n- Refactor MultiCommandTestCase error message\n- Update TransactionTestCase comment and variable names\n- Modify logger debug message in RunQueueAll function\n- Rename ResultArray to ExpectedResponseArray","shortMessageHtmlLink":"fix: update naming to match standards, update internal error codes"}},{"before":"3f032d456495845ee1e49fb3b4732fbe46b4c542","after":null,"ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-14T08:15:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"}},{"before":"67b14ec33f99eac87bd37d8dfee3babd4e886dd2","after":"6690867c057da91bf29d6d726ecbbc35a87bbe39","ref":"refs/heads/CC-1299-txn","pushedAt":"2024-06-14T08:15:22.000Z","pushType":"pr_merge","commitsCount":25,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"Merge pull request #154 from codecrafters-io/CC-1299-txn-stages\n\nCC-1299: Implement Transactions extension tests","shortMessageHtmlLink":"Merge pull request #154 from codecrafters-io/CC-1299-txn-stages"}},{"before":"263a9cb17554384bbe38f8b8dd58ff6c2948b600","after":"3f032d456495845ee1e49fb3b4732fbe46b4c542","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-14T08:03:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"tests: update fixtures","shortMessageHtmlLink":"tests: update fixtures"}},{"before":"63b9b017b801c210182a25282c690dbaec2933ee","after":"263a9cb17554384bbe38f8b8dd58ff6c2948b600","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-14T07:58:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: add randomness to concurrent txn test\n\n- In test_txn_discard, changed the number of uniqueKeys generated from 3 to 2.\n- In test_txn_multi_tx, updated the commands to set key2 with a random integer value and increment key1.\n- Also added a comment explaining the expected result in each transaction.\n- In test_txn_queue, updated the command to set a random key with a random integer value and increment it.","shortMessageHtmlLink":"feat: add randomness to concurrent txn test"}},{"before":"4bf9120c8cea45363cbef3d0009e19968993d266","after":"63b9b017b801c210182a25282c690dbaec2933ee","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-14T07:43:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: Add randomness to test cases for transaction discard\n\nThis commit adds new test cases to the `testTxDiscard` function in `internal/test_txn_discard.go`. The changes include:\n- Importing the `fmt` package\n- Generating unique keys using the `random.RandomWords` function\n- Generating random integers using the `random.RandomInt` function\n- Modifying the command arguments to use the generated keys and random integers\n- Updating assertions to use the generated values\n\nThese changes enhance the test coverage for transaction discards.","shortMessageHtmlLink":"feat: Add randomness to test cases for transaction discard"}},{"before":"a37aa7b4d3fe25cba0e14f79397fd6427b23b40a","after":"4bf9120c8cea45363cbef3d0009e19968993d266","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-14T07:40:05.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"fix: make sure all individual keys and values are always unique","shortMessageHtmlLink":"fix: make sure all individual keys and values are always unique"}},{"before":"a764c128a29eee95ef94ea5cbdcdf1aeb3660312","after":"a37aa7b4d3fe25cba0e14f79397fd6427b23b40a","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-14T07:14:24.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: add randomness to test case for transaction success\n\nThis commit adds a new transaction test case to the `testTxSuccess` function in `internal/test_txn_tx.go`. The test case includes commands for setting random keys with random integer values, incrementing the values, and retrieving them. The expected results are updated accordingly. Additionally, a command test case is added to verify the final value of one of the keys.","shortMessageHtmlLink":"feat: add randomness to test case for transaction success"}},{"before":"f2c67624ff3fb08e398a06788692c0e333036d59","after":"a764c128a29eee95ef94ea5cbdcdf1aeb3660312","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-13T11:26:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: Add support for Transactions extension\n\nThis commit adds the \"Transactions\" extension to the Redis implementation. It includes the implementation of commands such as MULTI, EXEC, DISCARD, and handling failures within transactions. The extension also introduces stages for implementing the INCR command in multiple steps.","shortMessageHtmlLink":"feat: Add support for Transactions extension"}},{"before":"a3957c181565701dedc0fc7b5743efb62b38c1ae","after":"f2c67624ff3fb08e398a06788692c0e333036d59","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-13T11:19:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: add placeholder stage descriptions","shortMessageHtmlLink":"feat: add placeholder stage descriptions"}},{"before":"0bd8bac118e7d1d8a6a78006c3ada0e48a21ea6a","after":"a3957c181565701dedc0fc7b5743efb62b38c1ae","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-13T10:35:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"refactor: improve transaction test cases\n\n- Skip execution of transaction commands\n- Use `RunAll` instead of `RunMulti` and `RunQueueAll`\n- Update result array for each transaction command","shortMessageHtmlLink":"refactor: improve transaction test cases"}},{"before":"b0e7962a7b54f488e05d63446a0a82a5a5ffe65d","after":"0bd8bac118e7d1d8a6a78006c3ada0e48a21ea6a","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-13T09:23:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"tests: add fixtures for transaction stages","shortMessageHtmlLink":"tests: add fixtures for transaction stages"}},{"before":"035058f0290d2fde7bc3accb57dc385b91154cbb","after":"b0e7962a7b54f488e05d63446a0a82a5a5ffe65d","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-13T09:18:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: update tester_definition with new test cases for transactions\n\nThis commit adds new test cases for transaction functionality. The added test cases cover various stages of transactions, including INCR, MULTI, EXEC, and more. These tests ensure that the transaction functionality is working as expected.\n\n- Added new test cases for transaction functionality\n- Covered stages such as INCR-1, INCR-2, INCR-3, MULTI, EXEC, Empty Transaction, Queueing Commands\n- Ensured proper execution and handling of failed transactions","shortMessageHtmlLink":"feat: update tester_definition with new test cases for transactions"}},{"before":"983add341cc5b47d7fdcf066f21e6e3794a57523","after":"035058f0290d2fde7bc3accb57dc385b91154cbb","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-13T09:10:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: Update function name and add documentation for spawning clients\n\n- Renamed the `spawnClients` function to `SpawnClients`\n- Added documentation for the `SpawnClients` function, explaining its purpose and usage\n- The `SpawnClients` function creates multiple clients connected to a given address using the `instrumented_resp_connection.NewFromAddr` function\n- Clients are expected to be closed after use","shortMessageHtmlLink":"feat: Update function name and add documentation for spawning clients"}},{"before":"a5de8c06fa65c54258ec4de0a572d8e72b2f86bb","after":"983add341cc5b47d7fdcf066f21e6e3794a57523","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-13T09:04:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: Add `spawnClients` function\n\nThis commit adds the `spawnClients` function. The `spawnClients` function is responsible for creating a specified number of client connections to a given address. It takes in the number of clients, address, stage harness, and logger as parameters. The function creates the clients and appends them to a slice before returning it. This new function is used in multiple places throughout the codebase to create client connections.","shortMessageHtmlLink":"feat: Add spawnClients function"}},{"before":"c1e381f6af5569f27ea9d6e81d64b7cceb6ee840","after":"a5de8c06fa65c54258ec4de0a572d8e72b2f86bb","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-13T08:47:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: Add multiple clients to testTxErr, testTxSuccess, and testTxDiscard\n\n- Added support for multiple clients in the functions `testTxErr`, `testTxSuccess`, and `testTxDiscard`.\n- Each client is created with a unique name using the format \"client-{index+1}\".\n- The clients are stored in an array for later use.\n- The clients are closed using the `Close` method before returning from the function.","shortMessageHtmlLink":"feat: Add multiple clients to testTxErr, testTxSuccess, and testTxDis…"}},{"before":"2003c2320e1af549dadf37a88d8254cba54644b2","after":"c1e381f6af5569f27ea9d6e81d64b7cceb6ee840","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-13T08:21:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: update TransactionTestCase to even run with empty results array","shortMessageHtmlLink":"feat: update TransactionTestCase to even run with empty results array"}},{"before":"fecf7667d94fc08d915ee13b133251c71b5c4e24","after":"2003c2320e1af549dadf37a88d8254cba54644b2","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-13T08:20:27.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: Add testTxExec function\n\nThis commit adds the `testTxExec` function to the internal package. The function sets up a Redis executable, creates an instrumented RESP connection, and runs a test case for the `EXEC` command.","shortMessageHtmlLink":"feat: Add testTxExec function"}},{"before":null,"after":"fecf7667d94fc08d915ee13b133251c71b5c4e24","ref":"refs/heads/CC-1299-txn-stages","pushedAt":"2024-06-13T08:13:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: add tests for stages 1 - 3\nUse MultiCommandTestCase for testTxIncr1, testTxIncr2, and testTxIncr3","shortMessageHtmlLink":"feat: add tests for stages 1 - 3"}},{"before":"cf7e9382aa03cb968cf6144c9f8aa805be44e46a","after":"67b14ec33f99eac87bd37d8dfee3babd4e886dd2","ref":"refs/heads/CC-1299-txn","pushedAt":"2024-06-12T19:13:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"docs: update module level docstring","shortMessageHtmlLink":"docs: update module level docstring"}},{"before":"d82bbb6b8727c7c55c43d23ef782704ec54ae38b","after":"cf7e9382aa03cb968cf6144c9f8aa805be44e46a","ref":"refs/heads/CC-1299-txn","pushedAt":"2024-06-12T19:04:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"fix: revert tester definition update","shortMessageHtmlLink":"fix: revert tester definition update"}},{"before":"7087489ed89c9b6ea77d639dae7bb5a6e0c2e1d9","after":"d82bbb6b8727c7c55c43d23ef782704ec54ae38b","ref":"refs/heads/CC-1299-txn","pushedAt":"2024-06-12T18:48:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: refactor testTxDiscard function to use MultiCommandTestCase\n\nThe `testTxDiscard` function in the `test_txn_9.go` file has been refactored to use the `MultiCommandTestCase` struct for executing multiple commands within a transaction. This change improves code readability and maintainability by encapsulating the commands and assertions within a single test case object.","shortMessageHtmlLink":"feat: refactor testTxDiscard function to use MultiCommandTestCase"}},{"before":"af0e0d9d57132fe862fb8bac541299f73b4e9602","after":"7087489ed89c9b6ea77d639dae7bb5a6e0c2e1d9","ref":"refs/heads/CC-1299-txn","pushedAt":"2024-06-12T18:18:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: Refactor testTxMulti function to use MultiCommandTestCase\n\nThe `testTxMulti` function in the `test_txn_11.go` file has been refactored to use the `MultiCommandTestCase` struct for executing multiple transactions. This change improves code readability and maintainability by encapsulating the commands and assertions within a single test case object.","shortMessageHtmlLink":"feat: Refactor testTxMulti function to use MultiCommandTestCase"}},{"before":"5f7be75f4b4c9ec2eeee07a6a180eeef8c87619b","after":"af0e0d9d57132fe862fb8bac541299f73b4e9602","ref":"refs/heads/CC-1299-txn","pushedAt":"2024-06-12T17:58:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ryan-gang","name":"Ryan","path":"/ryan-gang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63599666?s=80&v=4"},"commit":{"message":"feat: Add bytes field to Value struct for Ints and Nils\n\nThe `Value` struct in the `value.go` file has been updated to include a new `bytes` field. This field is used to store the byte representation of the value. The `NewNilValue` function has also been updated to set the `bytes` field to `[]byte(\"$-1\\r\\n\")`.","shortMessageHtmlLink":"feat: Add bytes field to Value struct for Ints and Nils"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEZa3OHQA","startCursor":null,"endCursor":null}},"title":"Activity · codecrafters-io/redis-tester"}