Fix mongo-common testLatestDeps
@@ -18,16 +18,16 @@ class MongoClientTracerTest extends Specification {
def tracer = new MongoClientTracer()
expect:
- tracer.normalizeQuery(
+ normalizeQueryAcrossVersions(tracer,
new BsonDocument("cmd", new BsonInt32(1))) ==
'{"cmd": "?"}'
- tracer.normalizeQuery(
+ normalizeQueryAcrossVersions(tracer,
new BsonDocument("cmd", new BsonInt32(1))
.append("sub", new BsonDocument("a", new BsonInt32(1)))) ==
'{"cmd": "?", "sub": {"a": "?"}}'
- tracer.normalizeQuery(
+ normalizeQueryAcrossVersions(tracer,
new BsonDocument("cmd", new BsonInt32(1))
.append("sub", new BsonArray(asList(new BsonInt32(1))))) ==
'{"cmd": "?", "sub": ["?"]}'
@@ -38,7 +38,7 @@ class MongoClientTracerTest extends Specification {
def tracer = new MongoClientTracer()
expect:
- tracer.normalizeQuery(
+ normalizeQueryAcrossVersions(tracer,
new BsonDocument("cmd", new BsonString("c"))
.append("f", new BsonString("c"))
.append("sub", new BsonString("c"))) ==
@@ -49,23 +49,36 @@ class MongoClientTracerTest extends Specification {
setup:
def tracer = new MongoClientTracer(20)
- expect:
- tracer.normalizeQuery(
+ def normalized = normalizeQueryAcrossVersions(tracer,
new BsonDocument("cmd", new BsonString("c"))
.append("f1", new BsonString("c1"))
- .append("f2", new BsonString("c2"))) ==
- '{ "cmd" : "c", "f1" '
+ .append("f2", new BsonString("c2")))
+ expect:
+ // this can vary because of different whitespace for different mongo versions
+ normalized == '{"cmd": "c", "f1": "' || normalized == '{"cmd": "c", "f1" '
}
def 'should truncate array'() {
setup:
def tracer = new MongoClientTracer(27)
- expect:
- tracer.normalizeQuery(
+ def normalized = normalizeQueryAcrossVersions(tracer,
new BsonDocument("cmd", new BsonString("c"))
- .append("f1", new BsonArray(asList(new BsonString("c1"), new BsonString("c2"))))
- .append("f2", new BsonString("c3"))) ==
- '{ "cmd" : "c", "f1" : ["?",'
+ .append("f1", new BsonArray(Arrays.asList(new BsonString("c1"), new BsonString("c2"))))
+ .append("f2", new BsonString("c3")))
+ expect:
+ // this can vary because of different whitespace for different mongo versions
+ normalized == '{"cmd": "c", "f1": ["?", "?' || normalized == '{"cmd": "c", "f1": ["?",'
+ }
+
+ def normalizeQueryAcrossVersions(MongoClientTracer tracer, BsonDocument query) {
+ return normalizeAcrossVersions(tracer.normalizeQuery(query))
+ }
+
+ def normalizeAcrossVersions(String json) {
+ json = json.replaceAll('\\{ ', '{')
+ json = json.replaceAll(' }', '}')
+ json = json.replaceAll(' :', ':')
+ return json
}
}
