Switch branches/tags
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
Resources
AssemblyInfo.cs
BindingTestAssertions.cs
ExportTests.cs
ExportUtil.cs
ImportTests.cs
ImportTests_CreateMetadata.cs
ImportTests_LoadMetadata.cs
ImportTests_RoundTrip.cs
MetadataSamples.cs
MiscImportTests.cs
README.txt
TestContext.cs
TestLabel.cs

README.txt

Metadata Tests
==============

These tests can be run either as part of System.ServiceModel_test_<profile>.dll
or as the stand-alone MetadataTests.dll, which bundles all the XML files as
embedded resources.

Generating and updating the XML Samples:
========================================

Mono's WsdlExporter is not yet capable of generating the wsdl files that
are used as test input here.

To generate the XML files, compile the ExportUtil.exe tool:

  mcs -r:System.ServiceModel -r:System.Web.Services ExportUtil.cs MetadataSamples.cs TestContext.cs 

Then copy the binary to a Windows machine and run it there.  This will generate a bunch of
.xml files.  Run dos2unix on them and copy them into the Resources/ subdirectory.

Adding new Tests:
=================

To add a new test, add a method with the [MetadataaSample] attribute to
MetadataSamples.cs, like this:

	[MetadataSample]
	public static MetadataSet MyXML ()
	{
		....
	}

You may also specify a name:

	[MetadataSample ("MyXML")]
	public static MetadataSet RandomMethodName ()	
	{
	}

Re-compile ExportUtil.exe and it will produce a new 'MyXML.xml' file.

Then write a new test case:

	[Test]
	public void MyXML ()
	{
		var doc = TestContext.GetMetadata ("MyXML");
		... test it here
	}

The idea behind the 'TestContext' class is to allow "self-hosting" at a
later time, ie. use Mono's WsdlExporter to generate the metadata instead
of loading the on-disk file without having to modify a bunch of tests.