@Test
public void testCommandHistoryItem() throws Exception {

	// All fields set
	String expected =
			"{\"app\":\"test\",\"cmd\":\"scale\",\"details\":\"me\",\"start\":1542,\"duration\":21,\"result\":"
			+ EXECUTION_OK + ",\"origin\":" + ORIGIN_REST_API + "}";
	long duration = TimeUnit.NANOSECONDS.convert( 21, TimeUnit.MILLISECONDS );
	Assert.assertEquals( 21000000, duration );
	CommandHistoryItem item = new CommandHistoryItem( "test", "scale", ORIGIN_REST_API, "me", EXECUTION_OK, 1542, duration );
	ObjectMapper mapper = JSonBindingUtils.createObjectMapper();
	StringWriter writer = new StringWriter();
	mapper.writeValue( writer, item );
	Assert.assertEquals( expected, writer.toString());
	// Only mandatory fields are set
	duration = TimeUnit.NANOSECONDS.convert( 1, TimeUnit.MILLISECONDS );
	item = new CommandHistoryItem( null, null, ORIGIN_SCHEDULER, null, EXECUTION_OK_WITH_SKIPPED, 21, duration );
	writer = new StringWriter();
	mapper.writeValue( writer, item );
	Assert.assertEquals(
			"{\"start\":21,\"duration\":1,\"result\":"
			+ EXECUTION_OK_WITH_SKIPPED + ",\"origin\":" + ORIGIN_SCHEDULER + "}", writer.toString());
}