|
Akka/Scala example source code file (DefaultCamelTest.scala)
The DefaultCamelTest.scala Akka example source code/** * Copyright (C) 2009-2014 Typesafe Inc. <http://www.typesafe.com> */ package akka.camel import akka.camel.TestSupport.SharedCamelSystem import internal.DefaultCamel import org.scalatest.Matchers import org.scalatest.mock.MockitoSugar import org.apache.camel.{ CamelContext, ProducerTemplate } import org.scalatest.WordSpec import akka.event.LoggingAdapter import akka.actor.ActorSystem.Settings import com.typesafe.config.ConfigFactory import org.apache.camel.impl.DefaultCamelContext import org.apache.camel.spi.Registry import akka.actor.{ ExtendedActorSystem, ActorSystem } class DefaultCamelTest extends WordSpec with SharedCamelSystem with Matchers with MockitoSugar { import org.mockito.Mockito.{ when, verify } val sys = mock[ExtendedActorSystem] val config = ConfigFactory.defaultReference() when(sys.dynamicAccess) thenReturn system.asInstanceOf[ExtendedActorSystem].dynamicAccess when(sys.settings) thenReturn (new Settings(this.getClass.getClassLoader, config, "mocksystem")) when(sys.name) thenReturn ("mocksystem") def camelWithMocks = new DefaultCamel(sys) { override val log = mock[LoggingAdapter] override lazy val template = mock[ProducerTemplate] override lazy val context = mock[DefaultCamelContext] override val settings = mock[CamelSettings] } "during shutdown, when both context and template fail to shutdown" when { val camel = camelWithMocks when(camel.context.stop()) thenThrow new RuntimeException("context") when(camel.template.stop()) thenThrow new RuntimeException("template") val exception = intercept[RuntimeException] { camel.shutdown() } "throws exception thrown by context.stop()" in { exception.getMessage() should be("context"); } "tries to stop both template and context" in { verify(camel.template).stop() verify(camel.context).stop() } } "during start, if template fails to start, it will stop the context" in { val camel = camelWithMocks when(camel.template.start()) thenThrow new RuntimeException intercept[RuntimeException] { camel.start } verify(camel.context).stop() } } Other Akka source code examplesHere is a short list of links related to this Akka DefaultCamelTest.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.