与Couchbase容器的集成测试

时间:2018-10-23 13:28:15

标签: containers couchdb integration-testing

我正在编写一个集成测试,该测试应使用基于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”的密码不匹配。     在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>

感谢您的帮助。

0 个答案:

没有答案