Exemplo n.º 1
0
 def test_general_exception_with_mixed_errors(self):
     # get should raise a NotFoundError if no server returns the block,
     # and a high threshold of servers report that it's not found.
     # This test rigs up 50/50 disagreement between two servers, and
     # checks that it does not become a NotFoundError.
     client = self.new_client()
     with tutil.mock_get_responses(self.DEFAULT_EXPECT, 404, 500):
         with self.assertRaises(arvados.errors.KeepReadError) as exc_check:
             client.get(self.HINTED_LOCATOR)
         self.assertNotIsInstance(exc_check.exception,
                                  arvados.errors.NotFoundError,
                                  "mixed errors raised NotFoundError")
Exemplo n.º 2
0
 def test_hint_server_can_succeed_without_retries(self):
     with tutil.mock_get_responses(self.DEFAULT_EXPECT, 404, 200, 500):
         self.check_success(locator=self.HINTED_LOCATOR)
Exemplo n.º 3
0
 def test_specific_exception_when_not_found(self):
     with tutil.mock_get_responses(self.DEFAULT_EXPECT, 404, 200):
         self.check_exception(arvados.errors.NotFoundError, num_retries=3)
Exemplo n.º 4
0
 def test_method_retries_take_precedence(self):
     with tutil.mock_get_responses('', 500, 500, 500, 200):
         reader = self.reader_for('user_agreement', num_retries=10)
         with self.assertRaises(arvados.errors.KeepReadError):
             self.read_for_test(reader, 10, num_retries=1)
Exemplo n.º 5
0
 def test_read_method_retries_exhausted(self):
     with tutil.mock_get_responses('bar', 500, 500, 500, 500, 200):
         reader = self.reader_for('bar_file')
         with self.assertRaises(arvados.errors.KeepReadError):
             self.read_for_test(reader, 3, num_retries=3)
Exemplo n.º 6
0
 def test_read_with_method_retries(self):
     with tutil.mock_get_responses('foo', 500, 200):
         reader = self.reader_for('foo_file')
         self.assertEqual('foo', self.read_for_test(reader,
                                                    3,
                                                    num_retries=3))
Exemplo n.º 7
0
 def test_read_no_default_retry(self):
     with tutil.mock_get_responses('', 500):
         reader = self.reader_for('user_agreement')
         with self.assertRaises(arvados.errors.KeepReadError):
             self.read_for_test(reader, 10)
Exemplo n.º 8
0
 def test_success_without_retries(self):
     with tutil.mock_get_responses('bar', 200):
         reader = self.reader_for('bar_file')
         self.assertEqual('bar', self.read_for_test(reader, 3))