testcontainers / testcontainers/testcontainers-java
[Bug]: `ImageNameSubstitutor` cannot set compatibility
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 8.7k
- Forks
- 1.9k
- Ø Merge
- 2 T. 17 Std.
- Gemergte PRs (30 T.)
- 9
Beschreibung
A custom ImageNameSubstitutor cannot be used to mark an image as compatible substitute for another image automatically, because all implementation I found call the compatibility assertion on their constructor argument, not on the image property from the parent class that actually applies the substitution.
I want to dynamically resolve images from a Dockerfile in the root of my project to allow Dependabot/Renovate to automatically update the images for me, and thus keep my tests up-to-date. For this I wanted to use short aliases and to set compatibility dynamically. However, this isn't possible for the reasons explained.
I'm filing this as a bug, because I believe that this isn't the intended behavior. Feel free to change this.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie mit der Klasse ImageNameSubstitutor und untersuchen Sie ihre Implementierungen. Verfolgen Sie anschließend, wo die Eigenschaft des übergeordneten Images und die Kompatibilitätsassertion verwendet werden. Fügen Sie einen Regressionstest hinzu, der einen benutzerdefinierten Substitutor abdeckt, der ein automatisch aufgelöstes Image als kompatibel markiert, und bestätigen Sie, dass der Test mit dem im Issue beschriebenen Dockerfile-basierten Alias-Szenario erfolgreich ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- docker, java
- Bereich
- testing
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100