File Wait Strategy¶
File Wait Strategy waits for a file to exist in the container, and allows to set the following conditions:
- the file to wait for.
- a matcher which reads the file content, no-op if nil or not set.
- the startup timeout to be used in seconds, default is 60 seconds.
- the poll interval to be used in milliseconds, default is 100 milliseconds.
Waiting for file to exist and extract the content¶
var out bytes.Buffer
dockerReq := testcontainers.ContainerRequest{
Image: "nginx:latest",
WaitingFor: wait.ForFile("/etc/nginx/nginx.conf").
WithStartupTimeout(time.Second * 10).
WithPollInterval(time.Second).
WithMatcher(func(r io.Reader) error {
if _, err := io.Copy(&out, r); err != nil {
return fmt.Errorf("copy: %w", err)
}
return nil
}),
}