Advertisement
Guest User

Untitled

a guest
May 6th, 2015
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. def test_make_rebuild_fragment_iter(self):
  2. job = {
  3. 'partition': 0,
  4. 'policy': self.policy,
  5. }
  6. part_nodes = self.policy.object_ring.get_part_nodes(0)
  7. node = part_nodes[4]
  8. metadata = {
  9. 'name': '/a/c/o',
  10. 'Content-Length': 0,
  11. 'ETag': 'etag',
  12. }
  13.  
  14. test_data = ('rebuild' * self.policy.ec_segment_size)[:-777]
  15. etag = md5(test_data).hexdigest()
  16. ec_archive_bodies = make_ec_archive_bodies(self.policy, test_data)
  17.  
  18. broken_body = ec_archive_bodies.pop(4)
  19.  
  20. base_responses = list((200, body) for body in ec_archive_bodies)
  21. # since we're already missing a fragment a +2 scheme can only support
  22. # one additional failure at a time
  23. for error in (Timeout(), 404, Exception('kaboom!')):
  24. responses = list(base_responses)
  25. error_index = random.randint(0, len(responses) - 1)
  26. responses[error_index] = (error, '')
  27. headers = {'X-Object-Sysmeta-Ec-Etag': etag}
  28. codes, body_iter = zip(*responses)
  29. with mocked_http_conn(*codes, body_iter=body_iter,
  30. headers=headers):
  31. df = self.reconstructor.reconstruct_fa(
  32. job, node, dict(metadata))
  33. fixed_body = ''.join(df.reader())
  34. # self.assertTrue(self.reconstructor.logger.get_lines_for_level(
  35. # 'error')[-1].startsWith("Error trying to rebuild"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement