Интеграционный тест с testcontainers (Redis) Не удалось запустить - PullRequest
0 голосов
/ 04 марта 2020

Я создаю инфраструктуру тестирования интеграции для своего микросервиса (Java Spring). Возникла проблема с testcontainers, так как я пытаюсь создать базовый класс для тестов, которые будут запускать redis для контейнера и функционировать как redis для тестируемой службы.

абстрактный тест выглядит следующим образом:

@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(Constants.SPRING_PROFILE_DEVELOPMENT)
public class AbstractRedisContainerTest {
    @Rule
    public GenericContainer redis = new GenericContainer("redis:3.0.6")
        .withExposedPorts(6379);

И мой журнал показывает следующее сообщение об ошибке:

2020-03-04 12:28:55.545 ERROR [myService,,,] 27709 --- [main] o.t.d.DockerClientProviderStrategy:
Could not find a valid Docker environment. Please check configuration. Attempted configurations were:
2020-03-04 12:28:55.546 ERROR [myService,,,] 27709 --- [main] o.t.d.DockerClientProviderStrategy:
EnvironmentAndSystemPropertyClientProviderStrategy: 
failed with exception InvalidConfigurationException (ping failed)
2020-03-04 12:28:55.546 ERROR [myService,,,] 27709 --- [main] o.t.d.DockerClientProviderStrategy:EnvironmentAndSystemPropertyClientProviderStrategy: 
failed with exception InvalidConfigurationException (ping failed)
2020-03-04 12:28:55.546 ERROR [myService,,,] 27709 --- [main] o.t.d.DockerClientProviderStrategy:UnixSocketClientProviderStrategy: 
failed with exception InvalidConfigurationException (ping failed). Root cause LastErrorException ([13])
2020-03-04 12:28:55.546 ERROR [myService,,,] 27709 --- [main] o.t.d.DockerClientProviderStrategy: ProxiedUnixSocketClientProviderStrategy: 
failed with exception InvalidConfigurationException (ping failed). Root cause TimeoutException (null)
2020-03-04 12:28:55.546 ERROR [myService,,,] 27709 --- [main] o.t.d.DockerClientProviderStrategy: As no valid configuration was found, execution cannot continue
org.testcontainers.containers.ContainerLaunchException: Container startup failed

, где это ошибка для ошибочной строки в коде:

Caused by: org.testcontainers.containers.ContainerFetchException: Can't get Docker image:
RemoteDockerImage(imageNameFuture=java.util.concurrent.CompletableFuture@3186b07d[Completed normally],
imagePullPolicy=DefaultPullPolicy(), dockerClient=LazyDockerClient.INSTANCE)

Любая идея, как настроить мой env или чего здесь не хватает? важно отметить, что мне удалось локально запустить docker образы (и то, что указано здесь), и у меня функционирует среда docker из cli. Я запускаю этот тест от идеи. не уверен, что это связано, но я запускаю его как пользователь (не как root).

...