@@ -11,11 +11,14 @@ import (
1111)
1212
1313type Input struct {
14- User string `toml:"user" validate:"required"`
15- Password string `toml:"password" validate:"required"`
16- Database string `toml:"database" validate:"required"`
17- Port string `toml:"port" validate:"required"`
18- Out * Output `toml:"out"`
14+ Image string `toml:"image" validate:"required"`
15+ Tag string `toml:"tag" validate:"required"`
16+ PullImage bool `toml:"pull_image" validate:"required"`
17+ User string `toml:"user" validate:"required"`
18+ Password string `toml:"password" validate:"required"`
19+ Database string `toml:"database" validate:"required"`
20+ Port string `toml:"port" validate:"required"`
21+ Out * Output `toml:"out"`
1922}
2023
2124type Output struct {
@@ -31,11 +34,12 @@ func NewPostgreSQL(in *Input) (*Output, error) {
3134 containerName := framework .DefaultTCName ("postgresql" )
3235
3336 req := testcontainers.ContainerRequest {
34- Image : "postgres:15.6" ,
35- Name : containerName ,
36- Labels : framework .DefaultTCLabels (),
37- ExposedPorts : []string {bindPort },
38- Networks : []string {framework .DefaultNetworkName },
37+ AlwaysPullImage : in .PullImage ,
38+ Image : fmt .Sprintf ("%s:%s" , in .Image , in .Tag ),
39+ Name : containerName ,
40+ Labels : framework .DefaultTCLabels (),
41+ ExposedPorts : []string {bindPort },
42+ Networks : []string {framework .DefaultNetworkName },
3943 NetworkAliases : map [string ][]string {
4044 framework .DefaultNetworkName : {containerName },
4145 },
0 commit comments