@Test
public void testConvertWeaselBeaconToSpan_withErrorBeacon() throws ServletException, IOException {

	// Given
	MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
	mockHttpServletRequest.setParameter("k", "someKey");
	mockHttpServletRequest.setParameter("s", "3776086ebf658768");
	mockHttpServletRequest.setParameter("t", "3776086ebf658768");
	mockHttpServletRequest.setParameter("ts", "1496753245024");
	mockHttpServletRequest.setParameter("ty", "err");
	mockHttpServletRequest.setParameter("pl", "e6bf60fdf2672398");
	mockHttpServletRequest.setParameter("l", "http://localhost:9966/petclinic/");
	mockHttpServletRequest.setParameter("e", "Uncaught null");
	mockHttpServletRequest.setParameter("st", "at http://localhost:9966/petclinic/ 301:34");
	mockHttpServletRequest.setParameter("c", "1");
	mockHttpServletRequest.setParameter("m_user", "tom.mason@example.com");
	// When
	servlet.doGet(mockHttpServletRequest, new MockHttpServletResponse());
	// Then
	assertSoftly(softly -> {
		final List<MockSpan> finishedSpans = mockTracer.finishedSpans();
		softly.assertThat(finishedSpans).hasSize(1);
		MockSpan span = finishedSpans.get(0);
		softly.assertThat(span.operationName()).isEqualTo("/petclinic/");
		softly.assertThat(span.finishMicros() - span.startMicros()).isZero();
		softly.assertThat(span.tags())
				.doesNotContainEntry(Tags.SAMPLING_PRIORITY.getKey(), 0)
				.containsEntry("http.url", "http://localhost:9966/petclinic/")
				.containsEntry("type", "js_error")
				.containsEntry("exception.stack_trace", "at http://localhost:9966/petclinic/ 301:34")
				.containsEntry("exception.message", "Uncaught null");
	});
}