def testExceptionInWriteRecordData(self):
     observer = CallTrace(emptyGeneratorMethods=['additionalDiagnosticDetails'])
     def retrieveData(**kwargs):
         raise Exception("Test Exception")
         yield
     observer.methods["retrieveData"] = retrieveData
     component = SruHandler()
     component.addObserver(observer)
     result = "".join(list(compose(component._writeRecordData(recordPacking="string", recordSchema="schema", recordId="ID"))))
     self.assertTrue("<uri>info://srw/diagnostics/1/1</uri>" in result)
     self.assertTrue("<message>General System Error</message>" in result)
     self.assertTrue("<details>Test Exception</details>" in result)