/** * This should be called when we catch an exception after calling a dispatcher. (We should never * get an exception in those circumstances however....) * * @param e * @return */ protected DispatchReturn handleUnexpectedException(Exception e) { RaptureException raptException = RaptureExceptionFactory.create(HttpURLConnection.HTTP_INTERNAL_ERROR, "Unknown error", e); String response = BaseDispatcher.error(raptException); log.error(raptException.getFormattedMessage()); Kernel.writeAuditEntry("exception", 2, e.getMessage()); return new DispatchReturn(response); }
@Test public void testIllegalRepoPaths() { String repo = "series://"; String docPath = repo + "x/x"; try { Kernel.getSeries() .createSeriesRepo(ContextFactory.getKernelUser(), repo, "SERIES {} using MEMORY {}"); fail("Cannot create a repository without an authority"); } catch (RaptureException e) { assertEquals("Cannot create a repository without an authority", e.getMessage()); } try { Kernel.getSeries() .createSeriesRepo(ContextFactory.getKernelUser(), "", "SERIES {} using MEMORY {}"); fail("URI cannot be null or empty"); } catch (RaptureException e) { assertEquals("Argument Repository URI cannot be null or empty", e.getMessage()); } try { Kernel.getSeries() .createSeriesRepo(ContextFactory.getKernelUser(), null, "SERIES {} using MEMORY {}"); fail("URI cannot be null or empty"); } catch (RaptureException e) { assertEquals("Argument Repository URI cannot be null or empty", e.getMessage()); } try { Kernel.getSeries() .createSeriesRepo(ContextFactory.getKernelUser(), docPath, "SERIES {} using MEMORY {}"); fail("Repository Uri can't have a document path component"); } catch (RaptureException e) { assertEquals("A Repository URI may not have a document path component", e.getMessage()); } }
@Before public void setup() { sdf.setTimeZone(new SimpleTimeZone(0, "GMT")); sdf.applyPattern("dd MMM yyyy HH:mm:ss z"); CallingContext ctx = ContextFactory.getKernelUser(); try { Kernel.initBootstrap(null, null, true); Kernel.getPipeline().getTrusted().registerServerCategory(ctx, "alpha", "Primary servers"); Kernel.getPipeline().getTrusted().registerServerCategory(ctx, "beta", "Secondary servers"); Kernel.getPipeline().registerExchangeDomain(ctx, "//main", "EXCHANGE {} USING MEMORY {}"); RaptureExchange exchange = new RaptureExchange(); exchange.setName("kernel"); exchange.setExchangeType(RaptureExchangeType.FANOUT); exchange.setDomain("main"); List<RaptureExchangeQueue> queues = new ArrayList<RaptureExchangeQueue>(); RaptureExchangeQueue queue = new RaptureExchangeQueue(); queue.setName("default"); queue.setRouteBindings(new ArrayList<String>()); queues.add(queue); exchange.setQueueBindings(queues); Kernel.getPipeline().getTrusted().registerPipelineExchange(ctx, "kernel", exchange); Kernel.getPipeline().getTrusted().bindPipeline(ctx, "alpha", "kernel", "default"); Kernel.setCategoryMembership("alpha"); } catch (RaptureException e) { e.printStackTrace(); } }