🚀 [Feature]: Adopt testcontainers-go for all the storage layers
Feature Description
After #1506, let'd adopt testcontainers-go for integration testing of the storage layers.
For those technologies having a tc-go module (see https://testcontainers.com/modules/?language=go), let's use the module; for the rest, let's use the GenericContainer approach.
PRs to raise
- [x] aerospike #1663
- [x] arangodb #1722
- [x] azureblob #1639
- [ ] badger
- [ ] bbolt
- [x] cassandra #1665
- [x] clickhouse #1506
- [ ] cloudflarekv
- [x] coherence #1724
- [x] couchbase #1508
- [x] dynamodb #1574
- [ ] etcd #1721
- [x] memcache #1724
- [ ] memory
- [x] minio #1508
- [ ] mockstorage
- [x] mongodb #1515
- [ ] mssql
- [x] mysql #1515
- [x] nats #1574
- [ ] pebble
- [x] postgres #1515
- [x] redis #1676
- [ ] ristretto
- [x] rueidis #1723
- [x] s3 #1515
- [x] scylladb #1640
- [ ] sqlite3
- [x] surrealDB #1638
- [x] valkey #1723
Checklist:
- [X] I agree to follow Fiber's Code of Conduct.
- [X] I have checked for existing issues that describe my suggestion prior to opening this one.
- [X] I understand that improperly formatted feature requests may be closed without explanation.
Hi @mdelapenya @gaby 🙇♂️. Can I submit a PR?
I've submitted a PR for Neo4j storage driver, which uses testcontainers-go, that's near approval.
Any further necessary steps after integrating the feature? I'm thinking I'll need to remove the docker run step for the target storage driver in the benchmark.yml workflow.
@mdelapenya can i submit PR for remaining which already have testcontainer and missing in test cases?
@MitulShah1 yes please!