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_lhs_object(self): """ Test lhs resolver: arbitrary response, object. """ from fortuitus.frunner.resolvers import resolve_lhs responses = [type('TestResp', (), {'status_code': 200})] self.assertEqual(responses[0].status_code, 200) self.assertEqual(resolve_lhs('0.status_code', responses), 200)
def test_resolve_lhs_arbitrary_response(self): """ Test lhs resolver: arbitrary response, dictionary. """ from fortuitus.frunner.resolvers import resolve_lhs responses = [{'status_code': 404}, {'status_code': 200}] self.assertEqual(resolve_lhs('0.status_code', responses), 404)