Fix XMLMatcher error reporting

The nova.tests.matchers.XMLMismatch class implements the
get_details() method returning a dictionary with the expect
and actual XML output. It is returning a string values, but
the testtools code requires that the dictionary values are
instances of the testtools.content.Content object.

To quote the 'get_details' docs on testtools.matchers.Mismatch

     :return: a dict mapping names to Content objects. name is a string to
         name the detail, and the Content object is the detail to add
         to the result. For more information see the API to which items from
         this dict are passed testtools.TestCase.addDetail.

Related bug #1130146
Change-Id: I75ec07d8b34b04c7b8009229fda49b344ed13bec
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrange 2013-02-19 19:39:55 +00:00
parent a89daffeb9
commit a7f72a59ba
1 changed files with 4 additions and 2 deletions

View File

@ -20,6 +20,8 @@
import pprint
from testtools import content
from lxml import etree
@ -226,8 +228,8 @@ class XMLMismatch(object):
def get_details(self):
return {
'expected': self.expected,
'actual': self.actual,
'expected': content.text_content(self.expected),
'actual': content.text_content(self.actual),
}