Пример #1
0
class TestSetPaymentMetaData(AddressimoTestCase):

    def setUp(self):
        self.patcher1 = patch('addressimo.resolvers.RedisResolver.Redis')
        self.patcher2 = patch('addressimo.resolvers.RedisResolver.datetime')

        self.mockRedis = self.patcher1.start()
        self.mockDatetime = self.patcher2.start()

        self.now = self.mockDatetime.utcnow.return_value = datetime.utcnow()

        # Setup redis resolver
        self.rr = RedisResolver()

    def test_go_right(self):

        self.rr.set_payment_meta_data('tx_hash', 'memo', 'refund_address')

        # Validate call count
        self.assertEqual(3, self.mockRedis.from_url.call_count)
        self.assertEqual(1, self.mockRedis.from_url.return_value.hmset.call_count)

        # Validate Redis call data
        self.assertEqual('tx_hash', self.mockRedis.from_url.return_value.hmset.call_args[0][0])
        self.assertDictEqual(
            {'memo': 'memo', 'refund_to': 'refund_address', 'expiration_date': int(mktime((self.now + timedelta(days=61)).timetuple()))},
            self.mockRedis.from_url.return_value.hmset.call_args[0][1]
        )

    def test_exception_saving_to_redis(self):

        # Setup test case
        self.mockRedis.from_url.return_value.hmset.side_effect = Exception('Save Failed')

        self.assertRaises(Exception, self.rr.set_payment_meta_data, 'tx_hash', 'memo', 'refund_address')

        # Validate call count
        self.assertEqual(3, self.mockRedis.from_url.call_count)
        self.assertEqual(1, self.mockRedis.from_url.return_value.hmset.call_count)

        # Validate Redis call data
        self.assertEqual('tx_hash', self.mockRedis.from_url.return_value.hmset.call_args[0][0])
        self.assertDictEqual(
            {'memo': 'memo', 'refund_to': 'refund_address', 'expiration_date': int(mktime((self.now + timedelta(days=61)).timetuple()))},
            self.mockRedis.from_url.return_value.hmset.call_args[0][1]
        )
Пример #2
0
class TestSetPaymentMetaData(AddressimoTestCase):
    def setUp(self):
        self.patcher1 = patch('addressimo.resolvers.RedisResolver.Redis')
        self.patcher2 = patch('addressimo.resolvers.RedisResolver.datetime')

        self.mockRedis = self.patcher1.start()
        self.mockDatetime = self.patcher2.start()

        self.now = self.mockDatetime.utcnow.return_value = datetime.utcnow()

        # Setup redis resolver
        self.rr = RedisResolver()

    def test_go_right(self):

        self.rr.set_payment_meta_data('tx_hash', 'memo', 'refund_address')

        # Validate call count
        self.assertEqual(3, self.mockRedis.from_url.call_count)
        self.assertEqual(1,
                         self.mockRedis.from_url.return_value.hmset.call_count)

        # Validate Redis call data
        self.assertEqual(
            'tx_hash',
            self.mockRedis.from_url.return_value.hmset.call_args[0][0])
        self.assertDictEqual(
            {
                'memo':
                'memo',
                'refund_to':
                'refund_address',
                'expiration_date':
                int(mktime((self.now + timedelta(days=61)).timetuple()))
            }, self.mockRedis.from_url.return_value.hmset.call_args[0][1])

    def test_exception_saving_to_redis(self):

        # Setup test case
        self.mockRedis.from_url.return_value.hmset.side_effect = Exception(
            'Save Failed')

        self.assertRaises(Exception, self.rr.set_payment_meta_data, 'tx_hash',
                          'memo', 'refund_address')

        # Validate call count
        self.assertEqual(3, self.mockRedis.from_url.call_count)
        self.assertEqual(1,
                         self.mockRedis.from_url.return_value.hmset.call_count)

        # Validate Redis call data
        self.assertEqual(
            'tx_hash',
            self.mockRedis.from_url.return_value.hmset.call_args[0][0])
        self.assertDictEqual(
            {
                'memo':
                'memo',
                'refund_to':
                'refund_address',
                'expiration_date':
                int(mktime((self.now + timedelta(days=61)).timetuple()))
            }, self.mockRedis.from_url.return_value.hmset.call_args[0][1])