testcontainers / testcontainers/testcontainers-java

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

Aperta
#7,257 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

type/enhancement
Lingua principale
Java
Stelle
8.7k
Fork
1.9k
Merge medio
2g 17h
PR unite (30g)
9

Descrizione

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);
""");

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 da ScriptUtils::runInitScript e dall’API container.initScript menzionata nella proposta. Segui il modo in cui vengono risolti gli script del classpath, quindi determina come devono essere accettati i percorsi locali assoluti o relativi e gli script String inline. Il lavoro è completato quando ogni forma di input supportata funziona e i test coprono i percorsi locali e l’SQL inline.

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

Valutazione

Stack tecnologico
java
Ambito
testing
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.