You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zipkin.apache.org by ad...@apache.org on 2019/05/08 12:01:23 UTC
[incubator-zipkin] 01/01: Backfills functional test of Scribe
This is an automated email from the ASF dual-hosted git repository.
adriancole pushed a commit to branch scribe-integration
in repository https://gitbox.apache.org/repos/asf/incubator-zipkin.git
commit 9236ffa2826ae3cfaa568a66083ccc82c0a56cf8
Author: Adrian Cole <ac...@pivotal.io>
AuthorDate: Wed May 8 20:01:05 2019 +0800
Backfills functional test of Scribe
---
zipkin-collector/scribe/pom.xml | 24 ++++++++++++++++
...beCollectorTest.java => ITScribeCollector.java} | 32 +++++++++++++++++-----
.../scribe/src/test/resources/log4j2.properties | 8 ++++++
3 files changed, 57 insertions(+), 7 deletions(-)
diff --git a/zipkin-collector/scribe/pom.xml b/zipkin-collector/scribe/pom.xml
index a644c67..c325234 100644
--- a/zipkin-collector/scribe/pom.xml
+++ b/zipkin-collector/scribe/pom.xml
@@ -91,5 +91,29 @@
</exclusion>
</exclusions>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-slf4j-impl</artifactId>
+ <version>${log4j.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>io.zipkin.reporter2</groupId>
+ <artifactId>zipkin-sender-libthrift</artifactId>
+ <version>2.8.2</version>
+ <scope>test</scope>
+ <exclusions>
+ <!-- TODO: this exclusion will drift when reporter switches to apache zipkin -->
+ <exclusion>
+ <groupId>io.zipkin.zipkin2</groupId>
+ <artifactId>zipkin</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libthrift</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
</dependencies>
</project>
diff --git a/zipkin-collector/scribe/src/test/java/zipkin2/collector/scribe/ScribeCollectorTest.java b/zipkin-collector/scribe/src/test/java/zipkin2/collector/scribe/ITScribeCollector.java
similarity index 66%
rename from zipkin-collector/scribe/src/test/java/zipkin2/collector/scribe/ScribeCollectorTest.java
rename to zipkin-collector/scribe/src/test/java/zipkin2/collector/scribe/ITScribeCollector.java
index 26e085f..f6ee974 100644
--- a/zipkin-collector/scribe/src/test/java/zipkin2/collector/scribe/ScribeCollectorTest.java
+++ b/zipkin-collector/scribe/src/test/java/zipkin2/collector/scribe/ITScribeCollector.java
@@ -16,23 +16,41 @@
*/
package zipkin2.collector.scribe;
+import java.util.List;
import org.jboss.netty.channel.ChannelException;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import zipkin2.CheckResult;
+import zipkin2.codec.SpanBytesEncoder;
+import zipkin2.reporter.libthrift.LibthriftSender;
import zipkin2.storage.InMemoryStorage;
+import static java.util.stream.Collectors.toList;
import static org.assertj.core.api.Assertions.assertThat;
+import static zipkin2.TestObjects.TRACE;
-public class ScribeCollectorTest {
+public class ITScribeCollector {
InMemoryStorage storage = InMemoryStorage.newBuilder().build();
@Rule public ExpectedException thrown = ExpectedException.none();
- @Test
- public void check_failsWhenNotStarted() {
+ @Test public void consumesSpans() throws Exception {
+ List<byte[]> encodedSpans =
+ TRACE.stream().map(SpanBytesEncoder.THRIFT::encode).collect(toList());
+
+ try (ScribeCollector server = ScribeCollector.newBuilder().storage(storage).port(12345).build();
+ LibthriftSender client = LibthriftSender.newBuilder().host("127.0.0.1").port(12345).build()
+ ) {
+ server.start();
+ client.sendSpans(encodedSpans).execute();
+ }
+
+ assertThat(storage.getTraces()).containsExactly(TRACE);
+ }
+
+ @Test public void check_failsWhenNotStarted() {
try (ScribeCollector scribe =
- ScribeCollector.newBuilder().storage(storage).port(12345).build()) {
+ ScribeCollector.newBuilder().storage(storage).port(12345).build()) {
CheckResult result = scribe.check();
assertThat(result.ok()).isFalse();
@@ -43,15 +61,15 @@ public class ScribeCollectorTest {
}
}
- @Test
- public void start_failsWhenCantBindPort() {
+ @Test public void start_failsWhenCantBindPort() {
thrown.expect(ChannelException.class);
thrown.expectMessage("Failed to bind to: 0.0.0.0/0.0.0.0:12345");
ScribeCollector.Builder builder = ScribeCollector.newBuilder().storage(storage).port(12345);
try (ScribeCollector first = builder.build().start()) {
- try (ScribeCollector samePort = builder.build().start()) {}
+ try (ScribeCollector samePort = builder.build().start()) {
+ }
}
}
}
diff --git a/zipkin-collector/scribe/src/test/resources/log4j2.properties b/zipkin-collector/scribe/src/test/resources/log4j2.properties
new file mode 100755
index 0000000..a9b5e43
--- /dev/null
+++ b/zipkin-collector/scribe/src/test/resources/log4j2.properties
@@ -0,0 +1,8 @@
+appenders=console
+appender.console.type=Console
+appender.console.name=STDOUT
+appender.console.layout.type=PatternLayout
+appender.console.layout.pattern=%d{ABSOLUTE} %-5p [%t] %C{2} (%F:%L) - %m%n
+rootLogger.level=warn
+rootLogger.appenderRefs=stdout
+rootLogger.appenderRef.stdout.ref=STDOUT