You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@esme.apache.org by dp...@apache.org on 2009/11/14 01:09:16 UTC
svn commit: r836069 -
/incubator/esme/trunk/server/src/test/scala/org/apache/esme/api/ApiTest.scala
Author: dpp
Date: Sat Nov 14 00:09:15 2009
New Revision: 836069
URL: http://svn.apache.org/viewvc?rev=836069&view=rev
Log:
Updated to use new TestKit
Modified:
incubator/esme/trunk/server/src/test/scala/org/apache/esme/api/ApiTest.scala
Modified: incubator/esme/trunk/server/src/test/scala/org/apache/esme/api/ApiTest.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/test/scala/org/apache/esme/api/ApiTest.scala?rev=836069&r1=836068&r2=836069&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/test/scala/org/apache/esme/api/ApiTest.scala (original)
+++ incubator/esme/trunk/server/src/test/scala/org/apache/esme/api/ApiTest.scala Sat Nov 14 00:09:15 2009
@@ -39,17 +39,18 @@
import net.sourceforge.jwebunit.junit.WebTester
import _root_.junit.framework.AssertionFailedError
-import testing.{HttpResponse, TestFramework}
+import testing.{ReportFailure, TestKit, HttpResponse, TestFramework}
class ApiSpecsAsTest extends JUnit3(ApiSpecs)
object ApiSpecsRunner extends ConsoleRunner(ApiSpecs)
-object ApiSpecs extends Specification with TestFramework {
+object ApiSpecs extends Specification with TestKit {
JettyTestServer.start
- def buildRunner = null
- def tests = Nil
+ val baseUrl = JettyTestServer.urlFor("")
- def baseUrl = JettyTestServer.urlFor("")
+implicit val reportError = new ReportFailure {
+ def fail(msg: String): Nothing = ApiSpecs.this.fail(msg)
+}
val theUser = User.createAndPopulate.nickname("api_test").saveMe
val token = {
@@ -57,21 +58,24 @@
toke.uniqueId.is
}
- "API" should {
- "Login" in {
- post("/api/login", "token" -> token) match {
- case hr: HttpResponse => hr.code must_== 200
- hr.get("/api/status") match {
- case h2: HttpResponse =>
- (h2.xml \ "user" \ "@id").text must_== theUser.id.toString
-
- case x => true must_== false
- }
+ private def testSuccess(resp: HttpResponse) {
+ resp.code must_== 200
+ resp.contentType.toLowerCase().startsWith("text/xml") must_== true
+ (resp.xml \ "@success").text must_== "true"
+ }
+ "API" should {
- case _ => true must_== false
+ "Login" in {
+ for {
+ login <- post("/api/login", "token" -> token) !@ "Failed to log in" if (testSuccess(login))
+ status <- login.get("/api/status") !@ "Failed to get status" if (testSuccess(status))
+ } {
+ (status.xml \ "user" \ "@id").text must_== theUser.id.toString
}
}
- }
+
+
+ }
}