testcontainers / testcontainers/testcontainers-python

New Container: Couchbase

Offen
#788 2 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

🚀 enhancement
Vorherrschende Sprache
Python
Sterne
2.3k
Forks
386
Ø Merge
4 Std. 40 Min.
Gemergte PRs (30 T.)
1

Beschreibung

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:

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit der Durchsicht der Java Couchbase Testcontainers-Referenzen und der Docker-Einstiegdokumentation von Couchbase. Definieren Sie die Initialisierung des Python-Containers, die Anmeldedaten, die Einrichtung von Bucket/Scope/Collection, die Ports und die Interaktionen mit couchbase-python-client. Als abgeschlossen gilt die Bereitstellung einer dedizierten Testcontainers-Klasse für Integrations- und Systemtests, bei der diese Einrichtungsschritte automatisch durchgeführt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
docker, python
Bereich
database, testing
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.