def test_no_pool_config_and_no_pool_user_config(self):
        pool_config_resolver = BufferPoolConfigurationResolver([])
        pool_user_config_resolver = BufferPoolUserConfigurationResolver([])
        pool_selector = PoolSelector(pool_config_resolver,
                                     pool_user_config_resolver)

        pool_selection_info = PoolSelectionInfo('pool1', 'currency1', 'algo1')

        configs = pool_selector.select_pool(pool_selection_info)

        self.assertIsNone(configs)
    def test_matches_pool_config_and_matches_pool_user_config(self):
        pool_config_resolver = BufferPoolConfigurationResolver(
            [PoolConfiguration('pool1', [])])
        pool_user_config_resolver = BufferPoolUserConfigurationResolver(
            [PoolUserConfiguration('pool1', 'user1', 'pass1')])
        pool_selector = PoolSelector(pool_config_resolver,
                                     pool_user_config_resolver)

        pool_selection_info = PoolSelectionInfo('pool1', 'currency1', 'algo1')

        configs = pool_selector.select_pool(pool_selection_info)

        self.assertIsNotNone(configs)

        pool_config, pool_user_config = configs

        self.assertEqual('pool1', pool_config.pool_name)
        self.assertEqual('pool1', pool_user_config.pool_name)
    def test_not_matches_pool_user_config(self):
        pool_user_config = PoolUserConfiguration('bar', 'ignored', 'ignored')

        pool_selection_info = PoolSelectionInfo('foo', 'ignored', 'ignored')

        self.assertFalse(pool_selection_info.matches_pool_configuration(pool_user_config))
    def test_matches_pool_config_same_case(self):
        pool_config = PoolConfiguration('foo')

        pool_selection_info = PoolSelectionInfo('foo', 'ignored', 'ignored')

        self.assertTrue(pool_selection_info.matches_pool_configuration(pool_config))
def get_pool_selection_info(args):
    return PoolSelectionInfo(args.pool, args.currency, args.algorithm,
                             args.difficulty)