コード例 #1
0
    def test_load_state_sets_values_to_saved_values(self):
        # Set Redis values manually
        hash_name = Keys.get_hash_blockchain(self.blockchain.name)
        self.redis.hset_multiple_unsafe(
            hash_name, {
                Keys.get_blockchain_referendum_count(self.blockchain.name):
                self.dummy_referendum_count,
                Keys.get_blockchain_public_prop_count(self.blockchain.name):
                self.dummy_public_prop_count,
                Keys.get_blockchain_council_prop_count(self.blockchain.name):
                self.dummy_council_prop_count,
                Keys.get_blockchain_validator_set_size(self.blockchain.name):
                self.dummy_validator_set_size,
            })

        # Load the Redis values
        self.blockchain.load_state(self.logger)

        # Assert
        self.assertEqual(self.blockchain.referendum_count,
                         self.dummy_referendum_count)
        self.assertEqual(self.blockchain.public_prop_count,
                         self.dummy_public_prop_count)
        self.assertEqual(self.blockchain.council_prop_count,
                         self.dummy_council_prop_count)
        self.assertEqual(self.blockchain.validator_set_size,
                         self.dummy_validator_set_size)
コード例 #2
0
ファイル: blockchain.py プロジェクト: UnoDefi/panic_polkadot
    def save_state(self, logger: logging.Logger) -> None:
        # If Redis is enabled, store the current state
        if self._redis_enabled:
            logger.debug(
                'Saving %s state: _referendum_count=%s, '
                '_public_prop_count=%s, _council_prop_count=%s, '
                '_validator_set_size=%s',
                self.name, self._referendum_count, self._public_prop_count,
                self._council_prop_count, self._validator_set_size)

            # Set values
            self._redis.hset_multiple(self._redis_hash, {
                Keys.get_blockchain_referendum_count(self.name):
                    self._referendum_count,
                Keys.get_blockchain_public_prop_count(self.name):
                    self._public_prop_count,
                Keys.get_blockchain_council_prop_count(self.name):
                    self._council_prop_count,
                Keys.get_blockchain_validator_set_size(self.name):
                    self._validator_set_size
            })
コード例 #3
0
ファイル: blockchain.py プロジェクト: UnoDefi/panic_polkadot
    def load_state(self, logger: logging.Logger) -> None:
        # If Redis is enabled, load any previously stored state
        if self._redis_enabled:
            self._referendum_count = self._redis.hget_int(
                self._redis_hash,
                Keys.get_blockchain_referendum_count(self.name), None)
            self._public_prop_count = self._redis.hget_int(
                self._redis_hash,
                Keys.get_blockchain_public_prop_count(self.name), None)
            self._council_prop_count = self._redis.hget_int(
                self._redis_hash,
                Keys.get_blockchain_council_prop_count(self.name), None)
            self._validator_set_size = self._redis.hget_int(
                self._redis_hash,
                Keys.get_blockchain_validator_set_size(self.name), None)

            logger.debug(
                'Restored %s state: _referendum_count=%s, '
                '_public_prop_count=%s, _council_prop_count=%s, '
                '_validator_set_size=%s',
                self.name, self._referendum_count, self._public_prop_count,
                self._council_prop_count, self._validator_set_size)
コード例 #4
0
    def test_save_state_sets_values_to_current_values(self):
        # Set blockchain values manually
        self.blockchain.set_referendum_count(self.dummy_referendum_count,
                                             self.channel_set, self.logger)
        self.blockchain.set_council_prop_count(self.dummy_council_prop_count,
                                               self.channel_set, self.logger)
        self.blockchain.set_public_prop_count(self.dummy_public_prop_count,
                                              self.channel_set, self.logger)
        self.blockchain.set_validator_set_size(self.dummy_validator_set_size,
                                               self.channel_set, self.logger)

        # Save the values to Redis
        self.blockchain.save_state(self.logger)

        # Assert
        hash_name = Keys.get_hash_blockchain(self.blockchain.name)
        self.assertEqual(
            self.redis.hget_int_unsafe(
                hash_name,
                Keys.get_blockchain_referendum_count(self.blockchain.name)),
            self.dummy_referendum_count)
        self.assertEqual(
            self.redis.hget_int_unsafe(
                hash_name,
                Keys.get_blockchain_public_prop_count(self.blockchain.name)),
            self.dummy_public_prop_count)
        self.assertEqual(
            self.redis.hget_int_unsafe(
                hash_name,
                Keys.get_blockchain_council_prop_count(self.blockchain.name)),
            self.dummy_council_prop_count)
        self.assertEqual(
            self.redis.hget_int_unsafe(
                hash_name,
                Keys.get_blockchain_validator_set_size(self.blockchain.name)),
            self.dummy_validator_set_size)