testcontainers / testcontainers/testcontainers-java

[Enhancement]: ScriptUtils::runInitScript should load script also from local directory

Offen
#7,257 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

type/enhancement
Vorherrschende Sprache
Java
Sterne
8.7k
Forks
1.9k
Ø Merge
2 T. 17 Std.
Gemergte PRs (30 T.)
9

Beschreibung

Module

Core

Proposal

The ScriptUtils::runInitScript only accepts paths from the classpath. This isn't as powerful as I would have expected given:

  • Absolute paths or relative paths local to the maven module, for example, are useful as well
  • Being on the classpath means the Maven compile (or test-compile) phase must have run, but what if I want to use testcontainers in the generate-sources (or generate-test-sources) phase, e.g. to generate jOOQ code? In that case, the init scripts aren't available on the classpath yet, unless I create a separate module just for this, which is overkill

Additionally, there are many cases where the script doesn't have to be a file. An inline script in String form would suffice, e.g.

container.initScript("""
  create schema test;
  create table test.test (test int);
""");

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 bei ScriptUtils::runInitScript und der in dem Vorschlag erwähnten container.initScript API. Verfolgen Sie, wie classpath-Skripte aufgelöst werden, und bestimmen Sie anschließend, wie lokale absolute oder relative Pfade und Inline-String-Skripte akzeptiert werden sollen. Erledigt ist die Aufgabe, wenn jede unterstützte Eingabeform funktioniert und Tests lokale Pfade sowie Inline-SQL abdecken.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
testing
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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