blob: 04ebd0c25b01b8745f2be3bb1c6141ea073418c0 [file] [log] [blame]
import unittest
import pickle
from common import MTurkCommon
class TestHITPersistence(MTurkCommon):
def create_hit_result(self):
return self.conn.create_hit(
question=self.get_question(), **self.get_hit_params()
)
def test_pickle_hit_result(self):
result = self.create_hit_result()
new_result = pickle.loads(pickle.dumps(result))
def test_pickle_deserialized_version(self):
"""
It seems the technique used to store and reload the object must
result in an equivalent object, or subsequent pickles may fail.
This tests a double-pickle to elicit that error.
"""
result = self.create_hit_result()
new_result = pickle.loads(pickle.dumps(result))
pickle.dumps(new_result)
if __name__ == '__main__':
unittest.main()