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)