adriancole commented on a change in pull request #2572: trim whitespace from 
the annotation query elements
URL: https://github.com/apache/incubator-zipkin/pull/2572#discussion_r282301553
 
 

 ##########
 File path: zipkin/src/test/java/zipkin2/storage/QueryRequestTest.java
 ##########
 @@ -75,6 +76,26 @@
       .isEmpty();
   }
 
+  @Test public void annotationQueryTrimsSpaces() {
+    // spaces in http.path mixed with 'and'
+    assertThat(queryBuilder.parseAnnotationQuery("fo and o and bar and 
http.path = /a ").annotationQuery)
+      .containsOnly(entry("fo", ""), entry("o", ""), entry("bar", ""), 
entry("http.path", "/a"));
+    // http.path in the beginning, more spaces
+    assertThat(queryBuilder.parseAnnotationQuery(" http.path = /a   and fo and 
o   and bar").annotationQuery)
+      .containsOnly(entry("fo", ""), entry("o", ""), entry("bar", ""), 
entry("http.path", "/a"));
+    // @adriancole said this would be hard to parse, annotation containing 
spaces
+    assertThat(queryBuilder.parseAnnotationQuery("L O L").annotationQuery)
+      .containsOnly(entry("L O L", ""));
+    // annotation with spaces combined with tag
+    assertThat(queryBuilder.parseAnnotationQuery("L O L and http.path = 
/a").annotationQuery)
+      .containsOnly(entry("L O L", ""), entry("http.path", "/a"));
+    assertThat(queryBuilder.parseAnnotationQuery("bar =123 and L O L and 
http.path = /a and A B C").annotationQuery)
+      .containsOnly(entry("L O L", ""), entry("http.path", "/a"), entry("bar", 
"123"), entry("A B C", ""));
+    // border case, L O L as a tag and annotation, seems that the annotation 
takes precedence
+    assertThat(queryBuilder.parseAnnotationQuery("L O L=123 and L O L and 
http.path = /a").annotationQuery)
 
 Review comment:
   the backend will do a redundant query. Technically, the most specific would 
win based on the query rules.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to