示例#1
0
 def test_message_matcher_success(self, mock_get_sub, unsued_mock):
     self.init_matcher(expected_msg=[b'a', b'b'])
     mock_sub = mock_get_sub.return_value
     mock_sub.pull.side_effect = [
         create_pull_response([PullResponseMessage(b'a', {})]),
         create_pull_response([PullResponseMessage(b'b', {})]),
     ]
     hc_assert_that(self.mock_presult, self.pubsub_matcher)
     self.assertEqual(mock_sub.pull.call_count, 2)
     self.assertEqual(mock_sub.acknowledge.call_count, 2)
示例#2
0
 def test_message_count_matcher_below_fail(self, mock_get_sub, unused_mock):
   self.init_counter_matcher(expected_msg_len=1)
   mock_sub = mock_get_sub.return_value
   mock_sub.pull.side_effect = [
       create_pull_response([PullResponseMessage(b'c', {}),
                             PullResponseMessage(b'd', {})]),
   ]
   with self.assertRaises(AssertionError) as error:
     hc_assert_that(self.mock_presult, self.pubsub_matcher)
   self.assertEqual(mock_sub.pull.call_count, 1)
   self.assertIn(
       '\nExpected: Expected 1 messages.\n     but: Got 2 messages.',
       str(error.exception.args[0]))
示例#3
0
 def test_message_matcher_mismatch(self, mock_get_sub, unused_mock):
     self.init_matcher(expected_msg=[b'a'])
     mock_sub = mock_get_sub.return_value
     mock_sub.pull.side_effect = [
         create_pull_response(
             [PullResponseMessage(b'c', {}),
              PullResponseMessage(b'd', {})]),
     ]
     with self.assertRaises(AssertionError) as error:
         hc_assert_that(self.mock_presult, self.pubsub_matcher)
     self.assertEqual(mock_sub.pull.call_count, 1)
     self.assertCountEqual([b'c', b'd'], self.pubsub_matcher.messages)
     self.assertTrue(
         '\nExpected: Expected 1 messages.\n     but: Got 2 messages.' in
         str(error.exception.args[0]))
     self.assertEqual(mock_sub.pull.call_count, 1)
     self.assertEqual(mock_sub.acknowledge.call_count, 1)
示例#4
0
 def test_message_count_matcher_success(self, mock_get_sub, unused_mock):
     self.init_counter_matcher(expected_msg_len=15)
     mock_sub = mock_get_sub.return_value
     mock_sub.pull.side_effect = [
         create_pull_response(
             [PullResponseMessage(b'a', {'foo': 'bar'}) for _ in range(15)])
     ]
     hc_assert_that(self.mock_presult, self.pubsub_matcher)
     self.assertEqual(mock_sub.pull.call_count, 1)
     self.assertEqual(mock_sub.acknowledge.call_count, 1)
示例#5
0
 def test_message_matcher_attributes_success(self, mock_get_sub, unsued_mock):
   self.init_matcher(expected_msg=[PubsubMessage(b'a', {'k': 'v'})],
                     with_attributes=True)
   mock_sub = mock_get_sub.return_value
   mock_sub.pull.side_effect = [
       create_pull_response([PullResponseMessage(b'a', {'k': 'v'})])
   ]
   hc_assert_that(self.mock_presult, self.pubsub_matcher)
   self.assertEqual(mock_sub.pull.call_count, 1)
   self.assertEqual(mock_sub.acknowledge.call_count, 1)
示例#6
0
 def test_message_matcher_attributes_fail(self, mock_get_sub, unsued_mock):
     self.init_matcher(expected_msg=[PubsubMessage(b'a', {})],
                       with_attributes=True)
     mock_sub = mock_get_sub.return_value
     # Unexpected attribute 'k'.
     mock_sub.pull.side_effect = [
         create_pull_response([PullResponseMessage(b'a', {'k': 'v'})])
     ]
     with self.assertRaisesRegex(AssertionError, r'Unexpected'):
         hc_assert_that(self.mock_presult, self.pubsub_matcher)
     self.assertEqual(mock_sub.pull.call_count, 1)
     self.assertEqual(mock_sub.acknowledge.call_count, 1)
示例#7
0
 def test_message_matcher_strip_fail(self, mock_get_sub, unsued_mock):
   self.init_matcher(expected_msg=[PubsubMessage(b'a', {'k': 'v'})],
                     with_attributes=True,
                     strip_attributes=['id', 'timestamp'])
   mock_sub = mock_get_sub.return_value
   # Message is missing attribute 'timestamp'.
   mock_sub.pull.side_effect = [create_pull_response([
       PullResponseMessage(b'a', {'id': 'foo', 'k': 'v'})
   ])]
   with self.assertRaisesRegex(AssertionError, r'Stripped attributes'):
     hc_assert_that(self.mock_presult, self.pubsub_matcher)
   self.assertEqual(mock_sub.pull.call_count, 1)
   self.assertEqual(mock_sub.acknowledge.call_count, 1)