示例#1
0
    def test_good_probe(self, logger):
        """
        Sampling returns value when probe succeeds.
        """
        sampled = sample(FakeOperation(repeat(True)), FakeMetric(repeat(5)), 1)

        self.assertEqual(
            self.successResultOf(sampled), {'success': True, 'value': 5})
示例#2
0
    def test_failed_get_probe(self, logger):
        """
        Sampling returns reason when get_probe fails.
        """
        sampled = sample(BrokenGetProbeOperation(), FakeMetric(repeat(5)), 1)

        result = self.successResultOf(sampled)

        self.assertFalse(result['success'])
        self.assertIn('get_probe failed', result['reason'])
示例#3
0
    def test_failed_get_probe(self, logger):
        """
        Sampling returns reason when get_probe fails.
        """
        sampled = sample(
            BrokenGetProbeOperation(), FakeMetric(repeat(5)), 1)

        result = self.successResultOf(sampled)

        self.assertFalse(result['success'])
        self.assertIn('get_probe failed', result['reason'])
示例#4
0
    def test_bad_probe(self, logger):
        """
        Sampling returns reason when probe fails.
        """
        sampled = sample(
            FakeOperation(repeat(False)), FakeMetric(repeat(5)), 1)

        def replace_reason_with_type(sample):
            if 'reason' in sample:
                sample['reason'] = type(sample['reason'])
            return sample
        sampled.addCallback(replace_reason_with_type)

        self.assertEqual(
            self.successResultOf(sampled), {'success': False, 'reason': str}
        )