Skip to content

Commit

Permalink
v0.4 -- added the Error emission type.
Browse files Browse the repository at this point in the history
  • Loading branch information
Chris Chew committed Feb 1, 2012
1 parent a8110e1 commit c811b4a
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 2 deletions.
6 changes: 5 additions & 1 deletion README.md
Expand Up @@ -122,4 +122,8 @@ v0.2 - 1/18/2012 - Emission Spec v1

v0.3 - 1/25/2012 - Emission Spec v1

* Added config option to publish emissions in BSON or JSON.
* Added config option to publish emissions in BSON or JSON.

v0.4 - 2/1/2012 - Emission Spec v1

* Added the Error emission type.
2 changes: 1 addition & 1 deletion build.properties
@@ -1,3 +1,3 @@
version=0.3
version=0.4
javac.source=1.6
javac.debug=true
40 changes: 40 additions & 0 deletions src/main/java/com/pearson/sigint/emitter/types/Error.java
@@ -0,0 +1,40 @@
package com.pearson.sigint.emitter.types;

import com.pearson.sigint.emitter.PublishProvider;
import com.pearson.sigint.emitter.SIGINTConfig.FORMAT;

public class Error extends Emission<Error> {
public static String TYPE() { return "e"; }

public Error(Throwable error, String app, String node, PublishProvider publisher, FORMAT format) {
super(app, node, publisher, format);
setData(new ErrorData(error.getMessage()));
}

@Override
public String getType() {
return TYPE();
}

public Error againstApplication(String a) {
setAgainst(a);
return this;
}

public Error operation(String o) {
return _operation(o);
}

protected class ErrorData {
private final String msg;

public ErrorData(String msg) {
super();
this.msg = msg;
}

public String getMsg() {
return msg;
}
}
}
13 changes: 13 additions & 0 deletions src/test/java/com/pearson/sigint/emitter/EmissionTest.java
Expand Up @@ -16,6 +16,7 @@
import com.pearson.sigint.emitter.types.Announcement;
import com.pearson.sigint.emitter.types.Counter;
import com.pearson.sigint.emitter.types.Timer;
import com.pearson.sigint.emitter.types.Error;

public class EmissionTest {

Expand Down Expand Up @@ -62,6 +63,18 @@ public void timer() throws JsonGenerationException, JsonMappingException, IOExce
Assert.assertEquals("withoutTargetApp", expected_withoutTargetApp, withoutTargetApp.getJson());
}

@Test
public void error() throws JsonGenerationException, JsonMappingException, IOException {
Error withTargetApp = new Error(new Exception("something bad"), "app1", "node1", null, FORMAT.BSON).againstApplication("app2").operation("op");
Error withoutTargetApp = new Error(new Exception("something else bad"), "app1", "node1", null, FORMAT.BSON).operation("op");

String expected_withTargetApp = "{\"w\":" + withTargetApp._getTime() + ",\"v\":1,\"s\":{\"a\":\"app1\",\"n\":\"node1\"},\"t\":\"e\",\"d\":{\"msg\":\"something bad\"},\"g\":\"app2\",\"o\":\"op\"}";
String expected_withoutTargetApp = "{\"w\":" + withoutTargetApp._getTime() + ",\"v\":1,\"s\":{\"a\":\"app1\",\"n\":\"node1\"},\"t\":\"e\",\"d\":{\"msg\":\"something else bad\"},\"o\":\"op\"}";

Assert.assertEquals("withTargetApp", expected_withTargetApp, withTargetApp.getJson());
Assert.assertEquals("withoutTargetApp", expected_withoutTargetApp, withoutTargetApp.getJson());
}

@Test
public void emitCallsPublish() {
ManagedAmqp amqp = mock(ManagedAmqp.class);
Expand Down

0 comments on commit c811b4a

Please sign in to comment.