def do_assertion(self, responses): logger.info('Performing assertion: %s', self) self.lhs_value = unicode(resolve_lhs(self.lhs, responses)) self.rhs_value = unicode(resolve_rhs(self.rhs, responses)) operator = resolve_operator(self.operator) if not operator(self.lhs_value, self.rhs_value): logger.warn('Assertion failed: %s %s %s', self.lhs_value, self.operator, self.rhs_value) self.result = TestResult.fail self.save() raise AssertionError('%s should be %s %s' % (self.lhs_value, self.operator, self.rhs_value)) self.result = TestResult.success self.save() logger.info('Assertion OK: %s %s %s', self.lhs, self.operator, self.rhs) return True
def test_resolve_rhs_reference(self): """ Test rhs resolver: step reference. """ from fortuitus.frunner.resolvers import resolve_rhs responses = [{'status_code': 404}, {'status_code': 200}] self.assertEqual(resolve_rhs('1.status_code', responses), 200)
def test_resolve_rhs_plain_value(self): """ Test rhs resolver: plain value. """ from fortuitus.frunner.resolvers import resolve_rhs self.assertEqual(resolve_rhs(1, []), 1) self.assertEqual(resolve_rhs('foo', []), 'foo')