File: hit_persistence.py

package info (click to toggle)
python-boto 2.49.0-4.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 9,888 kB
  • sloc: python: 86,396; makefile: 112
file content (27 lines) | stat: -rw-r--r-- 773 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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()