MessageFaultTest.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Runtime.Serialization;
  5. using System.ServiceModel;
  6. using System.ServiceModel.Channels;
  7. using System.Text;
  8. using System.Xml;
  9. using NUnit.Framework;
  10. namespace MonoTests.System.ServiceModel.Channels
  11. {
  12. [TestFixture]
  13. public class MessageFaultTest
  14. {
  15. [Test]
  16. public void CreateFault ()
  17. {
  18. var msg = Message.CreateMessage (XmlReader.Create (new StreamReader ("Test/System.ServiceModel.Channels/soap-fault.xml")), 0x10000, MessageVersion.Default);
  19. MessageFault.CreateFault (msg, 0x10000);
  20. }
  21. [Test]
  22. public void CreateFaultMessageVersionNone ()
  23. {
  24. var msg = Message.CreateMessage (MessageVersion.None, new FaultCode ("DestinationUnreachable"), "typical error", null);
  25. var fault = MessageFault.CreateFault (msg, 0x10000);
  26. Assert.AreEqual ("DestinationUnreachable", fault.Code.Name, "#1");
  27. Assert.AreEqual ("typical error", fault.Reason.ToString (), "#2");
  28. }
  29. [Test]
  30. [ExpectedException (typeof (CommunicationException))]
  31. public void CreateFaultIncomplete ()
  32. {
  33. var msg = Message.CreateMessage (XmlReader.Create (new StreamReader ("Test/System.ServiceModel.Channels/soap-fault-incomplete.xml")), 0x10000, MessageVersion.Default);
  34. MessageFault.CreateFault (msg, 0x10000);
  35. }
  36. [Test]
  37. [ExpectedException (typeof (ArgumentNullException))]
  38. public void CreateFaultIncomplete2 ()
  39. {
  40. MessageFault.CreateFault (new FaultCode ("s:Sender"), (FaultReason) null);
  41. }
  42. [Test]
  43. // [ExpectedException (typeof (CommunicationException))]
  44. public void CreateFaultIncomplete3 ()
  45. {
  46. MessageFault.CreateFault (new FaultCode ("s:Sender"), new FaultReason ("anyways"));
  47. }
  48. [Test]
  49. [ExpectedException (typeof (CommunicationException))]
  50. public void CreateFaultIncomplete4 ()
  51. {
  52. var msg = Message.CreateMessage (XmlReader.Create (new StreamReader ("Test/System.ServiceModel.Channels/soap-fault-incomplete4.xml")), 0x10000, MessageVersion.Default);
  53. MessageFault.CreateFault (msg, 0x10000);
  54. }
  55. }
  56. }