testcontainers / testcontainers/testcontainers-python

New Container: Couchbase

Aperta
#788 2 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

🚀 enhancement
Lingua principale
Python
Stelle
2.3k
Fork
386
Merge medio
4h 40m
PR unite (30g)
1

Descrizione

What is the new container you'd like to have?

I would like to contribute a Couchbase container. More documentation here.

Couchbase Server is a powerful NoSQL database designed for high performance and scalability. It provides fast, low-latency data access with built-in replication and high availability. It also supports SQL-like queries through N1QL, making it easy to work with for developers familiar with relational databases.

I am proposing a dedicated Couchbase TestContainer for integration/system testing when using Couchbase as a NoSQL database.

Why not just use a generic container for this?

A dedicated custom Couchbase container is beneficial because it provides an abstraction layer when using it together with couchbase-python-client library. The container also allows for the simple and easy setup and interactions with the Couchbase database server via the couchbase-python-client.

Additionally, the container requires some initialization steps before it is ready to serve requests, such as setting up authentication credentials and creating a default bucket, scope, and collection. There are also several ports that need to be configured. Having these steps handled automatically in a dedicated Couchbase TestContainer class simplifies the process and ensures that the test container is ready to use quickly, with most of the necessary setup pre-configured. This results in a smoother integration and testing experience.

Other references:

The Java version of Testcontainers already supports Couchbase and is widely used within the community. Given its popularity, it would be beneficial to have similar functionality available for Python as well. Below are references to the Couchbase Testcontainers in Java:

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia esaminando i riferimenti Java Couchbase Testcontainers e la documentazione introduttiva di Couchbase per Docker. Definisci l'inizializzazione del container Python, le credenziali, la configurazione di Bucket/Scope/Collection, le porte e le interazioni con couchbase-python-client. Il lavoro è completato quando una classe Testcontainers dedicata è pronta per i test di integrazione e di sistema, con questi passaggi di configurazione gestiti automaticamente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
docker, python
Ambito
database, testing
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.