def test_multiple_record(self): with StringIO() as stream: dump_rfc822_records({'key1': 'value1', 'key2': 'value2'}, stream) self.assertIn( stream.getvalue(), ( "key1: value1\nkey2: value2\n\n", "key2: value2\nkey1: value1\n\n"))
def dump(self, data, stream): entry = OrderedDict() string_stream = StringIO() for job_name, job_data in sorted(data['result_map'].items()): entry['name'] = job_name entry.update(job_data) dump_rfc822_records(entry, string_stream) stream.write(string_stream.getvalue().encode('UTF-8'))
def test_multiline_value(self): text = ( "key:\n" " longer\n" " value\n\n" ) with StringIO() as stream: dump_rfc822_records({'key': 'longer\nvalue'}, stream) self.assertEqual(stream.getvalue(), text)
def test_type_error(self): with StringIO() as stream: with self.assertRaises(AttributeError): dump_rfc822_records(['key', 'value'], stream)
def test_single_record(self): with StringIO() as stream: dump_rfc822_records({'key': 'value'}, stream) self.assertEqual(stream.getvalue(), "key: value\n\n")
def dump(self, data, stream): entry = OrderedDict() for job_name, job_data in data['result_map'].items(): entry['name'] = job_name entry.update(job_data) dump_rfc822_records(entry, stream)
def test_multiline_value_with_period(self): text = ("key:\n" " longer\n" " ..\n" " value\n\n") with StringIO() as stream: dump_rfc822_records({'key': 'longer\n.\nvalue'}, stream) self.assertEqual(stream.getvalue(), text)
def test_multiple_record(self): with StringIO() as stream: dump_rfc822_records({'key1': 'value1', 'key2': 'value2'}, stream) self.assertIn(stream.getvalue(), ("key1: value1\nkey2: value2\n\n", "key2: value2\nkey1: value1\n\n"))