|
Akka/Scala example source code file (CamelExchangeAdapterTest.scala)
The CamelExchangeAdapterTest.scala Akka example source code
/**
* Copyright (C) 2009-2014 Typesafe Inc. <http://www.typesafe.com>
*/
package akka.camel
import language.implicitConversions
import internal.CamelExchangeAdapter
import org.apache.camel.impl.DefaultExchange
import org.apache.camel.{ Exchange, ExchangePattern }
import akka.camel.TestSupport.{ SharedCamelSystem }
import org.scalatest.FunSuite
class CamelExchangeAdapterTest extends FunSuite with SharedCamelSystem {
//TODO: Get rid of implicit.
// It is here, as was easier to add this implicit than to rewrite the whole test...
implicit def exchangeToAdapter(e: Exchange) = new CamelExchangeAdapter(e)
test("mustSetInMessageFromRequestMessage") {
val e1 = sampleInOnly
e1.setRequest(CamelMessage("x", Map.empty))
assert(e1.getIn.getBody === "x")
val e2 = sampleInOut
e2.setRequest(CamelMessage("y", Map.empty))
assert(e2.getIn.getBody === "y")
}
test("mustSetOutMessageFromResponseMessage") {
val e1 = sampleInOut
e1.setResponse(CamelMessage("y", Map.empty))
assert(e1.getOut.getBody === "y")
}
test("mustSetInMessageFromResponseMessage") {
val e1 = sampleInOnly
e1.setResponse(CamelMessage("x", Map.empty))
assert(e1.getIn.getBody === "x")
}
test("mustSetExceptionFromFailureMessage") {
val e1 = sampleInOnly
e1.setFailure(FailureResult(new Exception("test1")))
assert(e1.getException.getMessage === "test1")
val e2 = sampleInOut
e2.setFailure(FailureResult(new Exception("test2")))
assert(e2.getException.getMessage === "test2")
}
test("mustCreateRequestMessageFromInMessage") {
val m = sampleInOnly.toRequestMessage
assert(m === CamelMessage("test-in", Map("key-in" -> "val-in")))
}
test("mustCreateResponseMessageFromInMessage") {
val m = sampleInOnly.toResponseMessage
assert(m === CamelMessage("test-in", Map("key-in" -> "val-in")))
}
test("mustCreateResponseMessageFromOutMessage") {
val m = sampleInOut.toResponseMessage
assert(m === CamelMessage("test-out", Map("key-out" -> "val-out")))
}
test("mustCreateFailureMessageFromExceptionAndInMessage") {
val e1 = sampleInOnly
e1.setException(new Exception("test1"))
assert(e1.toAkkaCamelException.getMessage === "test1")
assert(e1.toAkkaCamelException.headers("key-in") === "val-in")
assert(e1.toFailureMessage.cause.getMessage === "test1")
assert(e1.toFailureMessage.headers("key-in") === "val-in")
}
test("mustCreateFailureMessageFromExceptionAndOutMessage") {
val e1 = sampleInOut
e1.setException(new Exception("test2"))
assert(e1.toAkkaCamelException.getMessage === "test2")
assert(e1.toAkkaCamelException.headers("key-out") === "val-out")
assert(e1.toFailureMessage.cause.getMessage === "test2")
assert(e1.toFailureMessage.headers("key-out") === "val-out")
}
test("mustCreateRequestMessageFromInMessageWithAdditionalHeader") {
val m = sampleInOnly.toRequestMessage(Map("x" -> "y"))
assert(m === CamelMessage("test-in", Map("key-in" -> "val-in", "x" -> "y")))
}
test("mustCreateResponseMessageFromInMessageWithAdditionalHeader") {
val m = sampleInOnly.toResponseMessage(Map("x" -> "y"))
assert(m === CamelMessage("test-in", Map("key-in" -> "val-in", "x" -> "y")))
}
test("mustCreateResponseMessageFromOutMessageWithAdditionalHeader") {
val m = sampleInOut.toResponseMessage(Map("x" -> "y"))
assert(m === CamelMessage("test-out", Map("key-out" -> "val-out", "x" -> "y")))
}
test("mustCreateFailureMessageFromExceptionAndInMessageWithAdditionalHeader") {
val e1 = sampleInOnly
e1.setException(new Exception("test1"))
assert(e1.toAkkaCamelException.getMessage === "test1")
val headers = e1.toAkkaCamelException(Map("x" -> "y")).headers
assert(headers("key-in") === "val-in")
assert(headers("x") === "y")
assert(e1.toFailureMessage.cause.getMessage === "test1")
val failureHeaders = e1.toFailureResult(Map("x" -> "y")).headers
assert(failureHeaders("key-in") === "val-in")
assert(failureHeaders("x") === "y")
}
test("mustCreateFailureMessageFromExceptionAndOutMessageWithAdditionalHeader") {
val e1 = sampleInOut
e1.setException(new Exception("test2"))
assert(e1.toAkkaCamelException.getMessage === "test2")
val headers = e1.toAkkaCamelException(Map("x" -> "y")).headers
assert(headers("key-out") === "val-out")
assert(headers("x") === "y")
assert(e1.toFailureMessage.cause.getMessage === "test2")
val failureHeaders = e1.toFailureResult(Map("x" -> "y")).headers
assert(failureHeaders("key-out") === "val-out")
assert(failureHeaders("x") === "y")
}
private def sampleInOnly = sampleExchange(ExchangePattern.InOnly)
private def sampleInOut = sampleExchange(ExchangePattern.InOut)
private def sampleExchange(pattern: ExchangePattern) = {
val exchange = new DefaultExchange(camel.context)
exchange.getIn.setBody("test-in")
exchange.getOut.setBody("test-out")
exchange.getIn.setHeader("key-in", "val-in")
exchange.getOut.setHeader("key-out", "val-out")
exchange.setPattern(pattern)
exchange
}
}
Other Akka source code examplesHere is a short list of links related to this Akka CamelExchangeAdapterTest.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.