package biz.paluch.logging.gelf.standalone;
import static org.assertj.core.api.Assertions.assertThat;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import biz.paluch.logging.gelf.GelfTestSender;
import biz.paluch.logging.gelf.intern.GelfMessage;
/**
* @author Mark Paluch
*/
public class DatenpumpeImplUnitTests {
@BeforeEach
public void before() throws Exception {
GelfTestSender.getMessages().clear();
}
@Test
public void testBean() throws Exception {
MyBean bean = new MyBean();
DefaultGelfSenderConfiguration configuration = new DefaultGelfSenderConfiguration();
configuration.setHost("test:static");
DatenpumpeImpl datenpumpe = new DatenpumpeImpl(configuration);
datenpumpe.submit(bean);
assertThat(GelfTestSender.getMessages()).hasSize(1);
GelfMessage gelfMessage = GelfTestSender.getMessages().get(0);
assertThat(gelfMessage.getField("value")).isEqualTo("value field");
assertThat(gelfMessage.getField("boolean")).isEqualTo("true");
assertThat(gelfMessage.getField("object")).isNotNull();
assertThat(gelfMessage.getAdditonalFields()).hasSize(3);
datenpumpe.close();
// additional check for NPE
datenpumpe.close();
}
@Test
public void testShoppingCart() throws Exception {
ShoppingCart shoppingCart = new ShoppingCart();
shoppingCart.setCartId("the cart id");
shoppingCart.setAmount(9.27);
shoppingCart.setCustomerId("the customer id");
DefaultGelfSenderConfiguration configuration = new DefaultGelfSenderConfiguration();
configuration.setHost("test:static");
DatenpumpeImpl datenpumpe = new DatenpumpeImpl(configuration);
datenpumpe.submit(shoppingCart);
assertThat(GelfTestSender.getMessages()).hasSize(1);
GelfMessage gelfMessage = GelfTestSender.getMessages().get(0);
System.out.println(gelfMessage.toJson());
}
}