Я пишу интеграционный тест, который должен использовать контейнер couchbase.При использовании org.testcontainers.couchbase.CouchbaseContainer
с
@Rule
public CouchbaseContainer couchbaseContainer = new CouchbaseContainer()
.withNewBucket(DefaultBucketSettings.builder()
.enableFlush(true)
.name("xxx").password("123456")
.quota(100)
.type(BucketType.COUCHBASE)
.build());
я получаю сообщение об ошибке: Причина: com.couchbase.client.java.error.InvalidPasswordException: Пароли для сегмента "xxx" не совпадают.at com.couchbase.client.java.CouchbaseAsyncCluster $ OpenBucketErrorHandler.call (CouchbaseAsyncCluster.java:651)
Когда я заглянул внутрь контейнера, я увидел тот контейнер, созданный без пользователя.(Чтобы иметь возможность использовать этот сегмент, необходимо создать пользователя с тем же именем, а пароль пользователя фактически является паролем для входа в сегмент).Не предоставляя UserSettings, метод withNewBucket генерирует пользователя со всеми ролями.Я пытался добавить обычные UserSettings, но результат был тот же - пользователь не был создан.
Использование
<dependency>
<groupId>com.couchbase.client</groupId>
<artifactId>couchbase-client</artifactId>
<version>1.4.13</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>1.9.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>couchbase</artifactId>
<version>1.9.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>jdbc</artifactId>
<version>1.9.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.couchbase.client</groupId>
<artifactId>java-client</artifactId>
<version>2.5.9</version>
</dependency>
Любая помощь приветствуется.