Dont share environment. Slower but more deterministic
This commit is contained in:
parent
4e5e75ebff
commit
e8d6928a8c
|
@ -2,6 +2,7 @@ import com.couchbase.client.java.AsyncCluster
|
|||
import com.couchbase.client.java.CouchbaseAsyncCluster
|
||||
import com.couchbase.client.java.document.JsonDocument
|
||||
import com.couchbase.client.java.document.json.JsonObject
|
||||
import com.couchbase.client.java.env.CouchbaseEnvironment
|
||||
import com.couchbase.client.java.query.N1qlQuery
|
||||
import spock.util.concurrent.BlockingVariable
|
||||
import util.AbstractCouchbaseTest
|
||||
|
@ -31,13 +32,13 @@ class CouchbaseAsyncClientTest extends AbstractCouchbaseTest {
|
|||
}
|
||||
|
||||
cleanup:
|
||||
cluster?.disconnect()?.timeout(5, TimeUnit.SECONDS)?.toBlocking()?.single()
|
||||
cluster?.disconnect()?.timeout(10, TimeUnit.SECONDS)?.toBlocking()?.single()
|
||||
environment.shutdown()
|
||||
|
||||
where:
|
||||
environment | bucketSettings
|
||||
couchbaseEnvironment | bucketCouchbase
|
||||
memcacheEnvironment | bucketMemcache
|
||||
bucketSettings << [bucketCouchbase, bucketMemcache]
|
||||
|
||||
environment = envBuilder(bucketSettings).build()
|
||||
cluster = CouchbaseAsyncCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||
manager = cluster.clusterManager(USERNAME, PASSWORD).toBlocking().single()
|
||||
type = bucketSettings.type().name()
|
||||
|
@ -71,13 +72,13 @@ class CouchbaseAsyncClientTest extends AbstractCouchbaseTest {
|
|||
}
|
||||
|
||||
cleanup:
|
||||
cluster?.disconnect()?.timeout(5, TimeUnit.SECONDS)?.toBlocking()?.single()
|
||||
cluster?.disconnect()?.timeout(10, TimeUnit.SECONDS)?.toBlocking()?.single()
|
||||
environment.shutdown()
|
||||
|
||||
where:
|
||||
environment | bucketSettings
|
||||
couchbaseEnvironment | bucketCouchbase
|
||||
memcacheEnvironment | bucketMemcache
|
||||
bucketSettings << [bucketCouchbase, bucketMemcache]
|
||||
|
||||
environment = envBuilder(bucketSettings).build()
|
||||
cluster = CouchbaseAsyncCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||
type = bucketSettings.type().name()
|
||||
}
|
||||
|
@ -119,13 +120,13 @@ class CouchbaseAsyncClientTest extends AbstractCouchbaseTest {
|
|||
}
|
||||
|
||||
cleanup:
|
||||
cluster?.disconnect()?.timeout(5, TimeUnit.SECONDS)?.toBlocking()?.single()
|
||||
cluster?.disconnect()?.timeout(10, TimeUnit.SECONDS)?.toBlocking()?.single()
|
||||
environment.shutdown()
|
||||
|
||||
where:
|
||||
environment | bucketSettings
|
||||
couchbaseEnvironment | bucketCouchbase
|
||||
memcacheEnvironment | bucketMemcache
|
||||
bucketSettings << [bucketCouchbase, bucketMemcache]
|
||||
|
||||
environment = envBuilder(bucketSettings).build()
|
||||
cluster = CouchbaseAsyncCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||
type = bucketSettings.type().name()
|
||||
}
|
||||
|
@ -133,7 +134,8 @@ class CouchbaseAsyncClientTest extends AbstractCouchbaseTest {
|
|||
def "test query"() {
|
||||
setup:
|
||||
// Only couchbase buckets support queries.
|
||||
AsyncCluster cluster = CouchbaseAsyncCluster.create(couchbaseEnvironment, Arrays.asList("127.0.0.1"))
|
||||
CouchbaseEnvironment environment = envBuilder(bucketCouchbase).build()
|
||||
AsyncCluster cluster = CouchbaseAsyncCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||
def queryResult = new BlockingVariable<JsonObject>()
|
||||
|
||||
when:
|
||||
|
@ -164,6 +166,7 @@ class CouchbaseAsyncClientTest extends AbstractCouchbaseTest {
|
|||
}
|
||||
|
||||
cleanup:
|
||||
cluster?.disconnect()?.timeout(5, TimeUnit.SECONDS)?.toBlocking()?.single()
|
||||
cluster?.disconnect()?.timeout(10, TimeUnit.SECONDS)?.toBlocking()?.single()
|
||||
environment.shutdown()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ import com.couchbase.client.java.Cluster
|
|||
import com.couchbase.client.java.CouchbaseCluster
|
||||
import com.couchbase.client.java.document.JsonDocument
|
||||
import com.couchbase.client.java.document.json.JsonObject
|
||||
import com.couchbase.client.java.env.CouchbaseEnvironment
|
||||
import com.couchbase.client.java.query.N1qlQuery
|
||||
import util.AbstractCouchbaseTest
|
||||
|
||||
|
@ -24,12 +25,12 @@ class CouchbaseClientTest extends AbstractCouchbaseTest {
|
|||
|
||||
cleanup:
|
||||
cluster?.disconnect()
|
||||
environment.shutdown()
|
||||
|
||||
where:
|
||||
environment | bucketSettings
|
||||
couchbaseEnvironment | bucketCouchbase
|
||||
memcacheEnvironment | bucketMemcache
|
||||
bucketSettings << [bucketCouchbase, bucketMemcache]
|
||||
|
||||
environment = envBuilder(bucketSettings).build()
|
||||
cluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||
manager = cluster.clusterManager(USERNAME, PASSWORD)
|
||||
type = bucketSettings.type().name()
|
||||
|
@ -63,12 +64,12 @@ class CouchbaseClientTest extends AbstractCouchbaseTest {
|
|||
|
||||
cleanup:
|
||||
cluster?.disconnect()
|
||||
environment.shutdown()
|
||||
|
||||
where:
|
||||
environment | bucketSettings
|
||||
couchbaseEnvironment | bucketCouchbase
|
||||
memcacheEnvironment | bucketMemcache
|
||||
bucketSettings << [bucketCouchbase, bucketMemcache]
|
||||
|
||||
environment = envBuilder(bucketSettings).build()
|
||||
cluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||
type = bucketSettings.type().name()
|
||||
}
|
||||
|
@ -108,20 +109,21 @@ class CouchbaseClientTest extends AbstractCouchbaseTest {
|
|||
|
||||
cleanup:
|
||||
cluster?.disconnect()
|
||||
environment.shutdown()
|
||||
|
||||
where:
|
||||
environment | bucketSettings
|
||||
couchbaseEnvironment | bucketCouchbase
|
||||
memcacheEnvironment | bucketMemcache
|
||||
bucketSettings << [bucketCouchbase, bucketMemcache]
|
||||
|
||||
environment = envBuilder(bucketSettings).build()
|
||||
cluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||
type = bucketSettings.type().name()
|
||||
}
|
||||
|
||||
|
||||
def "test query"() {
|
||||
setup:
|
||||
// Only couchbase buckets support queries.
|
||||
Cluster cluster = CouchbaseCluster.create(couchbaseEnvironment, Arrays.asList("127.0.0.1"))
|
||||
CouchbaseEnvironment environment = envBuilder(bucketCouchbase).build()
|
||||
Cluster cluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||
Bucket bkt = cluster.openBucket(bucketCouchbase.name(), bucketCouchbase.password())
|
||||
|
||||
when:
|
||||
|
@ -146,5 +148,6 @@ class CouchbaseClientTest extends AbstractCouchbaseTest {
|
|||
|
||||
cleanup:
|
||||
cluster?.disconnect()
|
||||
environment.shutdown()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package springdata
|
|||
|
||||
import com.couchbase.client.java.Cluster
|
||||
import com.couchbase.client.java.CouchbaseCluster
|
||||
import com.couchbase.client.java.env.CouchbaseEnvironment
|
||||
import com.couchbase.client.java.view.DefaultView
|
||||
import com.couchbase.client.java.view.DesignDocument
|
||||
import org.springframework.context.ConfigurableApplicationContext
|
||||
|
@ -31,7 +32,8 @@ class CouchbaseSpringRepositoryTest extends AbstractCouchbaseTest {
|
|||
DocRepository repo
|
||||
|
||||
def setupSpec() {
|
||||
Cluster couchbaseCluster = CouchbaseCluster.create(memcacheEnvironment, Arrays.asList("127.0.0.1"))
|
||||
CouchbaseEnvironment environment = envBuilder(bucketCouchbase).build()
|
||||
Cluster couchbaseCluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||
|
||||
// Create view for SpringRepository's findAll()
|
||||
couchbaseCluster.openBucket(bucketCouchbase.name(), bucketCouchbase.password()).bucketManager()
|
||||
|
@ -46,7 +48,7 @@ class CouchbaseSpringRepositoryTest extends AbstractCouchbaseTest {
|
|||
'''.stripIndent()
|
||||
)))
|
||||
)
|
||||
CouchbaseConfig.setEnvironment(couchbaseEnvironment)
|
||||
CouchbaseConfig.setEnvironment(environment)
|
||||
CouchbaseConfig.setBucketSettings(bucketCouchbase)
|
||||
|
||||
// Close all buckets and disconnect
|
||||
|
|
|
@ -4,12 +4,11 @@ import com.couchbase.client.java.Bucket
|
|||
import com.couchbase.client.java.Cluster
|
||||
import com.couchbase.client.java.CouchbaseCluster
|
||||
import com.couchbase.client.java.cluster.ClusterManager
|
||||
import com.couchbase.client.java.env.CouchbaseEnvironment
|
||||
import org.springframework.data.couchbase.core.CouchbaseTemplate
|
||||
import spock.lang.Shared
|
||||
import util.AbstractCouchbaseTest
|
||||
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class CouchbaseSpringTemplateTest extends AbstractCouchbaseTest {
|
||||
|
||||
@Shared
|
||||
|
@ -20,8 +19,16 @@ class CouchbaseSpringTemplateTest extends AbstractCouchbaseTest {
|
|||
|
||||
@Shared
|
||||
Cluster memcacheCluster
|
||||
|
||||
@Shared
|
||||
protected CouchbaseEnvironment couchbaseEnvironment
|
||||
@Shared
|
||||
protected CouchbaseEnvironment memcacheEnvironment
|
||||
|
||||
def setupSpec() {
|
||||
couchbaseEnvironment = envBuilder(bucketCouchbase).build()
|
||||
memcacheEnvironment = envBuilder(bucketMemcache).build()
|
||||
|
||||
couchbaseCluster = CouchbaseCluster.create(couchbaseEnvironment, Arrays.asList("127.0.0.1"))
|
||||
memcacheCluster = CouchbaseCluster.create(memcacheEnvironment, Arrays.asList("127.0.0.1"))
|
||||
ClusterManager couchbaseManager = couchbaseCluster.clusterManager(USERNAME, PASSWORD)
|
||||
|
@ -35,8 +42,10 @@ class CouchbaseSpringTemplateTest extends AbstractCouchbaseTest {
|
|||
}
|
||||
|
||||
def cleanupSpec() {
|
||||
couchbaseCluster?.disconnect(5, TimeUnit.SECONDS)
|
||||
memcacheCluster?.disconnect(5, TimeUnit.SECONDS)
|
||||
couchbaseCluster?.disconnect()
|
||||
memcacheCluster?.disconnect()
|
||||
couchbaseEnvironment.shutdown()
|
||||
memcacheEnvironment.shutdown()
|
||||
}
|
||||
|
||||
def "test write #name"() {
|
||||
|
|
|
@ -5,7 +5,6 @@ import com.couchbase.client.core.metrics.DefaultMetricsCollectorConfig
|
|||
import com.couchbase.client.java.bucket.BucketType
|
||||
import com.couchbase.client.java.cluster.BucketSettings
|
||||
import com.couchbase.client.java.cluster.DefaultBucketSettings
|
||||
import com.couchbase.client.java.env.CouchbaseEnvironment
|
||||
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment
|
||||
import com.couchbase.mock.Bucket
|
||||
import com.couchbase.mock.BucketConfiguration
|
||||
|
@ -57,11 +56,6 @@ abstract class AbstractCouchbaseTest extends AgentTestRunner {
|
|||
@Shared
|
||||
CouchbaseMock mock
|
||||
|
||||
@Shared
|
||||
protected CouchbaseEnvironment couchbaseEnvironment
|
||||
@Shared
|
||||
protected CouchbaseEnvironment memcacheEnvironment
|
||||
|
||||
def setupSpec() {
|
||||
mock = new CouchbaseMock("127.0.0.1", port, 1, 1)
|
||||
mock.httpServer.register("/query", new QueryServer())
|
||||
|
@ -71,9 +65,6 @@ abstract class AbstractCouchbaseTest extends AgentTestRunner {
|
|||
mock.createBucket(convert(bucketCouchbase))
|
||||
mock.createBucket(convert(bucketMemcache))
|
||||
|
||||
couchbaseEnvironment = envBuilder(bucketCouchbase).build()
|
||||
memcacheEnvironment = envBuilder(bucketMemcache).build()
|
||||
|
||||
// This setting should have no effect since decorator returns null for the instance.
|
||||
System.setProperty(Config.PREFIX + Config.DB_CLIENT_HOST_SPLIT_BY_INSTANCE, "true")
|
||||
}
|
||||
|
@ -94,7 +85,7 @@ abstract class AbstractCouchbaseTest extends AgentTestRunner {
|
|||
System.clearProperty(Config.PREFIX + Config.DB_CLIENT_HOST_SPLIT_BY_INSTANCE)
|
||||
}
|
||||
|
||||
private DefaultCouchbaseEnvironment.Builder envBuilder(BucketSettings bucketSettings) {
|
||||
protected DefaultCouchbaseEnvironment.Builder envBuilder(BucketSettings bucketSettings) {
|
||||
// Couchbase seems to be really slow to start sometimes
|
||||
def timeout = TimeUnit.SECONDS.toMillis(20)
|
||||
return DefaultCouchbaseEnvironment.builder()
|
||||
|
|
Loading…
Reference in New Issue