Skip to content

Commit f000831

Browse files
committed
Use spocks builtin IgnoreIf instead of junits Assume
Means that cleanups are only called if the test isn't ignored
1 parent 153dc38 commit f000831

15 files changed

Lines changed: 59 additions & 105 deletions

driver-async/src/test/functional/com/mongodb/async/client/DatabaseAdministrationSpecification.groovy

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,16 @@
1515
*/
1616

1717
package com.mongodb.async.client
18-
1918
import org.mongodb.Document
19+
import spock.lang.IgnoreIf
2020

21-
import static com.mongodb.async.client.Fixture.isSharded
22-
import static org.junit.Assume.assumeFalse
2321
import static com.mongodb.async.client.Fixture.dropDatabase
22+
import static com.mongodb.async.client.Fixture.isSharded
2423

24+
@IgnoreIf( { isSharded() } )
2525
class DatabaseAdministrationSpecification extends FunctionalSpecification {
2626

2727
def 'drop should drop the database'() {
28-
assumeFalse(isSharded())
29-
3028
given:
3129
def client = Fixture.getMongoClient()
3230
def databaseToDrop = 'AsyncDatabaseAdministrationSpecificationDatabase'
@@ -44,8 +42,6 @@ class DatabaseAdministrationSpecification extends FunctionalSpecification {
4442
}
4543

4644
def 'rename collection should rename the collection name'() {
47-
assumeFalse(isSharded())
48-
4945
given:
5046
def newCollectionName = 'NewCollection1234'
5147

@@ -64,6 +60,6 @@ class DatabaseAdministrationSpecification extends FunctionalSpecification {
6460
database.tools().getCollectionNames().get().contains(newCollectionName)
6561

6662
cleanup:
67-
if (database) { dropDatabase(database.getName()) }
63+
dropDatabase(database.getName())
6864
}
6965
}

driver-core/src/test/functional/com/mongodb/connection/ServerMonitorSpecification.groovy

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import com.mongodb.operation.CommandReadOperation
2222
import org.bson.BsonDocument
2323
import org.bson.BsonInt32
2424
import org.mongodb.CommandResult
25+
import spock.lang.IgnoreIf
2526

2627
import java.util.concurrent.CountDownLatch
2728
import java.util.concurrent.TimeUnit
@@ -34,8 +35,6 @@ import static com.mongodb.ClusterFixture.serverVersionAtLeast
3435
import static com.mongodb.connection.ServerMonitor.exceptionHasChanged
3536
import static com.mongodb.connection.ServerMonitor.stateHasChanged
3637
import static java.util.Arrays.asList
37-
import static org.junit.Assume.assumeFalse
38-
import static org.junit.Assume.assumeTrue
3938

4039
class ServerMonitorSpecification extends OperationFunctionalSpecification {
4140
ServerDescription newDescription
@@ -90,9 +89,8 @@ class ServerMonitorSpecification extends OperationFunctionalSpecification {
9089
serverMonitor.close()
9190
}
9291

92+
@IgnoreIf( { !serverVersionAtLeast(asList(2, 6, 0)) } )
9393
def 'should set max wire batch size when provided by server'() {
94-
assumeTrue(serverVersionAtLeast(asList(2, 5, 5)))
95-
9694
given:
9795
CommandResult commandResult = new CommandReadOperation('admin', new BsonDocument('ismaster', new BsonInt32(1)))
9896
.execute(getBinding())
@@ -105,9 +103,8 @@ class ServerMonitorSpecification extends OperationFunctionalSpecification {
105103
newDescription.maxWriteBatchSize == expected
106104
}
107105

106+
@IgnoreIf( { serverVersionAtLeast(asList(2, 6, 0)) } )
108107
def 'should set default max wire batch size when not provided by server'() {
109-
assumeFalse(serverVersionAtLeast(asList(2, 5, 5)))
110-
111108
when:
112109
latch.await()
113110

driver-core/src/test/functional/com/mongodb/operation/AggregateExplainOperationSpecification.groovy

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,17 @@ import org.bson.BsonDocument
2121
import org.bson.BsonString
2222
import org.junit.experimental.categories.Category
2323
import org.mongodb.Document
24+
import spock.lang.IgnoreIf
2425

2526
import static com.mongodb.ClusterFixture.getAsyncBinding
2627
import static com.mongodb.ClusterFixture.getBinding
2728
import static com.mongodb.ClusterFixture.serverVersionAtLeast
2829
import static java.util.Arrays.asList
29-
import static org.junit.Assume.assumeTrue
3030

3131
class AggregateExplainOperationSpecification extends OperationFunctionalSpecification {
3232

33+
@IgnoreIf( { !serverVersionAtLeast(asList(2, 6, 0)) } )
3334
def 'should be able to explain an empty pipeline'() {
34-
assumeTrue(serverVersionAtLeast(asList(2, 6, 0)))
3535

3636
given:
3737
AggregateExplainOperation op = new AggregateExplainOperation(getNamespace(), [], aggregateOptions)
@@ -49,8 +49,8 @@ class AggregateExplainOperationSpecification extends OperationFunctionalSpecific
4949
}
5050

5151
@Category(Async)
52+
@IgnoreIf( { !serverVersionAtLeast(asList(2, 6, 0)) } )
5253
def 'should be able to explain an empty pipeline asynchronously'() {
53-
assumeTrue(serverVersionAtLeast(asList(2, 6, 0)))
5454

5555
given:
5656
AggregateExplainOperation op = new AggregateExplainOperation(getNamespace(), [], aggregateOptions)
@@ -67,8 +67,8 @@ class AggregateExplainOperationSpecification extends OperationFunctionalSpecific
6767
AggregationOptions.builder().outputMode(AggregationOptions.OutputMode.CURSOR).build()]
6868
}
6969

70+
@IgnoreIf( { !serverVersionAtLeast(asList(2, 6, 0)) } )
7071
def 'should be able to explain a pipeline'() {
71-
assumeTrue(serverVersionAtLeast(asList(2, 6, 0)))
7272

7373
given:
7474
def match = new BsonDocument('job', new BsonString('plumber'))
@@ -91,8 +91,8 @@ class AggregateExplainOperationSpecification extends OperationFunctionalSpecific
9191
}
9292

9393
@Category(Async)
94+
@IgnoreIf( { !serverVersionAtLeast(asList(2, 6, 0)) } )
9495
def 'should be able to explain a pipeline asynchronously'() {
95-
assumeTrue(serverVersionAtLeast(asList(2, 6, 0)))
9696

9797
given:
9898
def match = new BsonDocument('job', new BsonString('plumber'))

driver-core/src/test/functional/com/mongodb/operation/AggregateToCollectionOperationSpecification.groovy

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616

1717
package com.mongodb.operation
18-
1918
import category.Async
2019
import com.mongodb.MongoNamespace
2120
import com.mongodb.OperationFunctionalSpecification
@@ -24,12 +23,12 @@ import org.bson.BsonDocument
2423
import org.bson.BsonString
2524
import org.junit.experimental.categories.Category
2625
import org.mongodb.Document
26+
import spock.lang.IgnoreIf
2727

2828
import static com.mongodb.ClusterFixture.getAsyncBinding
2929
import static com.mongodb.ClusterFixture.getBinding
3030
import static com.mongodb.ClusterFixture.serverVersionAtLeast
3131
import static java.util.Arrays.asList
32-
import static org.junit.Assume.assumeTrue
3332

3433
class AggregateToCollectionOperationSpecification extends OperationFunctionalSpecification {
3534

@@ -63,8 +62,8 @@ class AggregateToCollectionOperationSpecification extends OperationFunctionalSpe
6362
thrown(IllegalArgumentException)
6463
}
6564

65+
@IgnoreIf( { !serverVersionAtLeast(asList(2, 6, 0)) } )
6666
def 'should be able to output to a collection'() {
67-
assumeTrue(serverVersionAtLeast(asList(2, 6, 0)))
6867

6968
when:
7069
AggregateToCollectionOperation op =
@@ -78,8 +77,8 @@ class AggregateToCollectionOperationSpecification extends OperationFunctionalSpe
7877
}
7978

8079
@Category(Async)
80+
@IgnoreIf( { !serverVersionAtLeast(asList(2, 6, 0)) } )
8181
def 'should be able to output to a collection asynchronously'() {
82-
assumeTrue(serverVersionAtLeast(asList(2, 6, 0)))
8382
when:
8483
AggregateToCollectionOperation op =
8584
new AggregateToCollectionOperation(getNamespace(),
@@ -91,8 +90,8 @@ class AggregateToCollectionOperationSpecification extends OperationFunctionalSpe
9190
getCollectionHelper(aggregateCollectionNamespace).count() == 3
9291
}
9392

93+
@IgnoreIf( { !serverVersionAtLeast(asList(2, 6, 0)) } )
9494
def 'should be able to match then output to a collection'() {
95-
assumeTrue(serverVersionAtLeast(asList(2, 6, 0)))
9695

9796
when:
9897
AggregateToCollectionOperation op =
@@ -107,9 +106,8 @@ class AggregateToCollectionOperationSpecification extends OperationFunctionalSpe
107106
}
108107

109108
@Category(Async)
109+
@IgnoreIf( { !serverVersionAtLeast(asList(2, 6, 0)) } )
110110
def 'should be able to match then output to a collection asynchronously'() {
111-
assumeTrue(serverVersionAtLeast(asList(2, 6, 0)))
112-
113111
when:
114112
AggregateToCollectionOperation op =
115113
new AggregateToCollectionOperation(getNamespace(),

driver-core/src/test/functional/com/mongodb/operation/CommandOperationSpecification.groovy

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717

1818
package com.mongodb.operation
19-
2019
import category.Async
2120
import com.mongodb.MongoExecutionTimeoutException
2221
import com.mongodb.OperationFunctionalSpecification
@@ -25,6 +24,7 @@ import org.bson.BsonDocument
2524
import org.bson.BsonInt32
2625
import org.bson.BsonString
2726
import org.junit.experimental.categories.Category
27+
import spock.lang.IgnoreIf
2828

2929
import static com.mongodb.ClusterFixture.disableMaxTimeFailPoint
3030
import static com.mongodb.ClusterFixture.enableMaxTimeFailPoint
@@ -33,8 +33,6 @@ import static com.mongodb.ClusterFixture.getBinding
3333
import static com.mongodb.ClusterFixture.isSharded
3434
import static com.mongodb.ClusterFixture.serverVersionAtLeast
3535
import static java.util.Arrays.asList
36-
import static org.junit.Assume.assumeFalse
37-
import static org.junit.Assume.assumeTrue
3836

3937
class CommandOperationSpecification extends OperationFunctionalSpecification {
4038

@@ -78,10 +76,8 @@ class CommandOperationSpecification extends OperationFunctionalSpecification {
7876

7977
}
8078

79+
@IgnoreIf( { isSharded() || !serverVersionAtLeast(asList(2, 6, 0)) } )
8180
def 'should throw execution timeout exception from execute'() {
82-
assumeFalse(isSharded())
83-
assumeTrue(serverVersionAtLeast(asList(2, 5, 3)))
84-
8581
given:
8682
def commandOperation = new CommandReadOperation(getNamespace().databaseName,
8783
new BsonDocument('count', new BsonString(getCollectionName()))
@@ -100,10 +96,8 @@ class CommandOperationSpecification extends OperationFunctionalSpecification {
10096
}
10197

10298
@Category(Async)
99+
@IgnoreIf( { isSharded() || !serverVersionAtLeast(asList(2, 6, 0)) } )
103100
def 'should throw execution timeout exception from executeAsync'() {
104-
assumeFalse(isSharded())
105-
assumeTrue(serverVersionAtLeast(asList(2, 5, 3)))
106-
107101
given:
108102
def commandOperation = new CommandReadOperation(getNamespace().databaseName,
109103
new BsonDocument('count', new BsonString(getCollectionName()))

driver-core/src/test/functional/com/mongodb/operation/CountOperationSpecification.groovy

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
*/
1616

1717
package com.mongodb.operation
18-
1918
import category.Async
2019
import com.mongodb.MongoExecutionTimeoutException
2120
import com.mongodb.OperationFunctionalSpecification
2221
import com.mongodb.codecs.DocumentCodec
2322
import org.junit.experimental.categories.Category
2423
import org.mongodb.Document
24+
import spock.lang.IgnoreIf
2525

2626
import static com.mongodb.ClusterFixture.disableMaxTimeFailPoint
2727
import static com.mongodb.ClusterFixture.enableMaxTimeFailPoint
@@ -31,7 +31,6 @@ import static com.mongodb.ClusterFixture.serverVersionAtLeast
3131
import static com.mongodb.WriteConcern.ACKNOWLEDGED
3232
import static java.util.Arrays.asList
3333
import static java.util.concurrent.TimeUnit.SECONDS
34-
import static org.junit.Assume.assumeTrue
3534

3635
class CountOperationSpecification extends OperationFunctionalSpecification {
3736

@@ -63,10 +62,8 @@ class CountOperationSpecification extends OperationFunctionalSpecification {
6362
insertDocumentList.size()
6463
}
6564

66-
65+
@IgnoreIf( { !serverVersionAtLeast(asList(2, 6, 0)) } )
6766
def 'should throw execution timeout exception from execute'() {
68-
assumeTrue(serverVersionAtLeast(asList(2, 5, 3)))
69-
7067
given:
7168
def find = new Find().maxTime(1, SECONDS)
7269
def countOperation = new CountOperation(getNamespace(), find)
@@ -83,9 +80,8 @@ class CountOperationSpecification extends OperationFunctionalSpecification {
8380
}
8481

8582
@Category(Async)
83+
@IgnoreIf( { !serverVersionAtLeast(asList(2, 6, 0)) } )
8684
def 'should throw execution timeout exception from executeAsync'() {
87-
assumeTrue(serverVersionAtLeast(asList(2, 5, 3)))
88-
8985
given:
9086
def find = new Find().maxTime(1, SECONDS)
9187
def countOperation = new CountOperation(getNamespace(), find)

driver-core/src/test/functional/com/mongodb/operation/CreateIndexesSpecification.groovy

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ import com.mongodb.OperationFunctionalSpecification
2222
import com.mongodb.codecs.DocumentCodec
2323
import org.junit.experimental.categories.Category
2424
import org.mongodb.Document
25+
import spock.lang.IgnoreIf
2526

2627
import static com.mongodb.ClusterFixture.getAsyncBinding
2728
import static com.mongodb.ClusterFixture.getBinding
2829
import static com.mongodb.ClusterFixture.serverVersionAtLeast
2930
import static com.mongodb.operation.OrderBy.ASC
3031
import static java.util.Arrays.asList
31-
import static org.junit.Assume.assumeFalse
3232

3333
class CreateIndexesSpecification extends OperationFunctionalSpecification {
3434
def idIndex = ['_id': 1]
@@ -104,8 +104,8 @@ class CreateIndexesSpecification extends OperationFunctionalSpecification {
104104
getIndexes()*.get('key') containsAll(idIndex, field1Index, field2Index)
105105
}
106106

107+
@IgnoreIf( { serverVersionAtLeast(asList(2, 7, 0)) } ) // Todo remove once 2.7 has fixed SERVER-14920
107108
def 'should be able to handle duplicated indexes in the same array'() {
108-
assumeFalse(serverVersionAtLeast(asList(2, 7, 0))) // Todo remove once 2.7 has fixed SERVER-14920
109109
given:
110110
def index = Index.builder().addKey('field', ASC).build()
111111
def createIndexesOperation = new CreateIndexesOperation(getNamespace(), [index, index])
@@ -118,8 +118,8 @@ class CreateIndexesSpecification extends OperationFunctionalSpecification {
118118
}
119119

120120
@Category(Async)
121+
@IgnoreIf( { serverVersionAtLeast(asList(2, 7, 0)) } ) // Todo remove once 2.7 has fixed SERVER-14920
121122
def 'should be able to handle duplicated indexes asynchronously in the same array'() {
122-
assumeFalse(serverVersionAtLeast(asList(2, 7, 0))) // Todo remove once 2.7 has fixed SERVER-14920
123123
given:
124124
def index = Index.builder().addKey('field', ASC).build()
125125
def createIndexesOperation = new CreateIndexesOperation(getNamespace(), [index, index])

driver-core/src/test/functional/com/mongodb/operation/DropDatabaseOperationSpecification.groovy

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,20 @@
1515
*/
1616

1717
package com.mongodb.operation
18-
1918
import category.Async
2019
import com.mongodb.OperationFunctionalSpecification
2120
import org.junit.experimental.categories.Category
2221
import org.mongodb.Document
22+
import spock.lang.IgnoreIf
2323

2424
import static com.mongodb.ClusterFixture.getAsyncBinding
2525
import static com.mongodb.ClusterFixture.getBinding
2626
import static com.mongodb.ClusterFixture.isSharded
27-
import static org.junit.Assume.assumeFalse
2827

2928
class DropDatabaseOperationSpecification extends OperationFunctionalSpecification {
3029

30+
@IgnoreIf( { isSharded() } )
3131
def 'should drop a database that exists'() {
32-
assumeFalse(isSharded())
33-
3432
given:
3533
getCollectionHelper().insertDocuments(new Document('documentTo', 'createTheCollection'))
3634
assert databaseNameExists(databaseName)
@@ -43,9 +41,8 @@ class DropDatabaseOperationSpecification extends OperationFunctionalSpecificatio
4341
}
4442

4543
@Category(Async)
44+
@IgnoreIf( { isSharded() } )
4645
def 'should drop a database that exists asynchronously'() {
47-
assumeFalse(isSharded())
48-
4946
given:
5047
getCollectionHelper().insertDocuments(new Document('documentTo', 'createTheCollection'))
5148
assert databaseNameExists(databaseName)

0 commit comments

Comments
 (0)