/ws-tester-engine/src/main/scala/com/googlecode/wstester/config/TestConfig.scala

http://ws-tester.googlecode.com/ · Scala · 47 lines · 38 code · 3 blank · 6 comment · 1 complexity · 3c8aa24f5e40f72c39c3ce1375d20dfa MD5 · raw file

  1. package com.googlecode.wstester.config
  2. import java.io.File
  3. import utils._
  4. import xml.{Elem, XML}
  5. import collection.mutable.ArrayBuffer
  6. /**
  7. * Created by IntelliJ IDEA.
  8. * User: pablo
  9. * Date: 2010-07-05
  10. * Time: 09:11:47
  11. */
  12. class TestConfig(val testDir: File) {
  13. val confFile:File = new File(testDir.getName+"/test.xml");
  14. var config: Elem = null;
  15. var testType: TestType = null;
  16. var requests: List[RequestConfig] = Nil;
  17. var tmp = new ArrayBuffer[RequestConfig];
  18. def parseConfig = {
  19. if(confFile exists) {
  20. config = XML.loadFile(confFile);
  21. config\\"test" foreach {(test) =>
  22. (test\\"test" \ "@type").text match {
  23. case "simple" => testType = new Simple;
  24. case "conversation" => testType = new Conversation;
  25. case "oneshot" => testType = new OneShot;
  26. case _ => throw new IllegalArgumentException("Unknown test type");
  27. }
  28. }
  29. config\\"request" foreach {(request) =>
  30. var requestConfig = new RequestConfig;
  31. (request\ "@type").text match {
  32. case "plainXML" => requestConfig.requestType = new PlainXML;
  33. case "velocity" => requestConfig.requestType = new Velocity;
  34. case _ => throw new IllegalArgumentException("Unknown request type");
  35. }
  36. requestConfig.requestFileName = request\\"requestMessageFile" text;
  37. requestConfig.targetUrl = request\\"targetURL" text;
  38. requestConfig.soapAction = request\\"soapAction" text;
  39. tmp += requestConfig;
  40. requests = tmp.toList;
  41. }
  42. }
  43. }
  44. }