Ejemplo n.º 1
0
    def test_print_stats(self):
        config = create_core_test_config()
        api_wrapper = create_mock_api_wrapper(config)
        event_manager = Mock()
        logger = Mock()
        logger.log = Mock()
        player_service = Player(api_wrapper, event_manager, logger)

        pgo = api_wrapper.get_api()
        pgo.set_response('get_player', self._create_generic_player_response())
        pgo.set_response('get_inventory', self._create_generic_inventory_response())

        logger.log.return_value = None

        player_service.print_stats()

        assert logger.log.call_count == 15
        self._assert_log_call(logger.log, 'Username: test_account')
        self._assert_log_call(logger.log, 'Bag storage: 36/350')
        self._assert_log_call(logger.log, 'Pokemon storage: 2/250')
        self._assert_log_call(logger.log, 'Stardust: 20,000')
        self._assert_log_call(logger.log, 'Pokecoins: 10')
        self._assert_log_call(logger.log, 'Poke Balls: 11')
        self._assert_log_call(logger.log, 'Great Balls: 12')
        self._assert_log_call(logger.log, 'Ultra Balls: 13')
        self._assert_log_call(logger.log, '-- Level: 14')
        self._assert_log_call(logger.log, '-- Experience: 15')
        self._assert_log_call(logger.log, '-- Experience until next level: 985')
        self._assert_log_call(logger.log, '-- Pokemon captured: 17')
        self._assert_log_call(logger.log, '-- Pokestops visited: 18')

        assert pgo.call_stack_size() == 0
Ejemplo n.º 2
0
    def test_get_pokeballs(self):
        config = create_core_test_config()
        api_wrapper = create_mock_api_wrapper(config)
        event_manager = Mock()
        logger = Mock()
        logger.log = Mock()
        player_service = Player(api_wrapper, event_manager, logger)

        pgo = api_wrapper.get_api()
        pgo.set_response('get_player', self._create_generic_player_response())
        pgo.set_response('get_inventory', self._create_generic_inventory_response())

        pokeballs = player_service.get_pokeballs()

        assert Item.ITEM_POKE_BALL.value in pokeballs
        assert pokeballs[Item.ITEM_POKE_BALL.value] == 11

        assert Item.ITEM_GREAT_BALL.value in pokeballs
        assert pokeballs[Item.ITEM_GREAT_BALL.value] == 12

        assert Item.ITEM_ULTRA_BALL.value in pokeballs
        assert pokeballs[Item.ITEM_ULTRA_BALL.value] == 13

        assert Item.ITEM_MASTER_BALL.value in pokeballs

        assert pgo.call_stack_size() == 0
Ejemplo n.º 3
0
    def test_login_failure():
        config = create_core_test_config()
        api_wrapper = create_mock_api_wrapper(config)
        event_manager = Mock()
        logger = Mock()
        logger.log = Mock()
        player_service = Player(api_wrapper, event_manager, logger)

        api_wrapper.get_api().login = Mock(return_value=False)

        assert (player_service.login()) is False
Ejemplo n.º 4
0
    def test_heartbeat(self):
        config = create_core_test_config()
        api_wrapper = create_mock_api_wrapper(config)
        event_manager = Mock()
        logger = Mock()
        logger.log = Mock()
        player_service = Player(api_wrapper, event_manager, logger)

        pgo = api_wrapper.get_api()
        pgo.set_response('get_player', self._create_generic_player_response())
        pgo.set_response('get_inventory', self._create_generic_inventory_response())

        player_service.heartbeat()

        assert pgo.call_stack_size() == 0
Ejemplo n.º 5
0
    def test_print_stats_no_update(self):
        config = create_core_test_config()
        api_wrapper = create_mock_api_wrapper(config)
        event_manager = Mock()
        logger = Mock()
        logger.log = Mock()
        player_service = Player(api_wrapper, event_manager, logger)

        api_wrapper.call = Mock(return_value=None)

        logger.log.return_value = None

        player_service.print_stats()

        self._assert_log_call(logger.log, 'Failed to retrieve player and inventory stats', color='red')
Ejemplo n.º 6
0
    def test_init():
        logger = Mock()
        logger.log = Mock(return_value=None)

        config_namespace = create_core_test_config()
        api_wrapper = create_mock_api_wrapper(config_namespace)
        event_manager = EventManager()
        player_service = Player(api_wrapper, event_manager, logger)
        pokemon_service = PokemonService(api_wrapper)
        mapper = Mapper(config_namespace, api_wrapper, Mock(), logger)
        path_finder = DirectPathFinder(config_namespace)
        stepper = Stepper(config_namespace, api_wrapper, path_finder, logger)
        navigator = FortNavigator(config_namespace, api_wrapper)

        bot = PokemonGoBot(config_namespace, api_wrapper, player_service,
                           pokemon_service, event_manager, mapper, stepper,
                           navigator, logger)

        assert len(bot.pokemon_list) == 151
        assert len(bot.item_list) == 30
        assert bot.position == (0, 0, 0)

        assert bot.config is config_namespace
        assert bot.api_wrapper is api_wrapper
        assert bot.player_service is player_service
        assert bot.pokemon_service is pokemon_service
        assert bot.event_manager is event_manager
        assert bot.mapper is mapper
        assert bot.stepper is stepper
        assert bot.navigator is navigator
        assert bot.logger is logger
Ejemplo n.º 7
0
    def test_get_candies(self):
        config = create_core_test_config()
        api_wrapper = create_mock_api_wrapper(config)
        event_manager = Mock()
        logger = Mock()
        logger.log = Mock()
        player_service = Player(api_wrapper, event_manager, logger)

        pgo = api_wrapper.get_api()
        pgo.set_response('get_player', self._create_generic_player_response())
        pgo.set_response('get_inventory', self._create_generic_inventory_response())

        candies = player_service.get_candies()

        assert len(candies) == 1
        assert candies[1] == 100
        assert pgo.call_stack_size() == 0
Ejemplo n.º 8
0
    def test_get_player(self):
        config = create_core_test_config()
        api_wrapper = create_mock_api_wrapper(config)
        event_manager = Mock()
        logger = Mock()
        logger.log = Mock()
        player_service = Player(api_wrapper, event_manager, logger)

        pgo = api_wrapper.get_api()
        pgo.set_response('get_player', self._create_generic_player_response())
        pgo.set_response('get_inventory', self._create_generic_inventory_response())

        player = player_service.get_player()

        assert isinstance(player, PlayerData)
        assert player.username == 'test_account'
        assert pgo.call_stack_size() == 0
Ejemplo n.º 9
0
    def _create_generic_bot(config):
        logger = Mock()
        logger.log = Mock()
        config_namespace = create_core_test_config(config)
        api_wrapper = create_mock_api_wrapper(config_namespace)
        event_manager = Mock()
        player_service = Player(api_wrapper, event_manager, logger)
        pokemon_service = PokemonService(api_wrapper)
        mapper = Mapper(config_namespace, api_wrapper, Mock(), logger)
        path_finder = DirectPathFinder(config_namespace)
        stepper = Stepper(config_namespace, api_wrapper, path_finder, logger)
        navigator = FortNavigator(config_namespace, api_wrapper)

        return PokemonGoBot(config_namespace, api_wrapper, player_service,
                            pokemon_service, event_manager, mapper, stepper,
                            navigator, logger)
Ejemplo n.º 10
0
def create_mock_bot(user_config=None):
    config_namespace = create_core_test_config(user_config)

    event_manager = EventManager()
    logger = Logger(event_manager)
    api_wrapper = create_mock_api_wrapper(config_namespace)
    player_service = Player(api_wrapper, event_manager, logger)
    pokemon_service = Pokemon(api_wrapper)
    mapper = Mapper(config_namespace, api_wrapper, Mock(), logger)
    path_finder = DirectPathFinder(config_namespace)
    stepper = Stepper(config_namespace, api_wrapper, path_finder, logger)
    navigator = FortNavigator(config_namespace, api_wrapper)

    bot = PokemonGoBot(config_namespace, api_wrapper, player_service,
                       pokemon_service, event_manager, mapper, stepper,
                       navigator, logger)

    return bot
Ejemplo n.º 11
0
    def test_add_candy_new(self):
        config = create_core_test_config()
        api_wrapper = create_mock_api_wrapper(config)
        event_manager = Mock()
        logger = Mock()
        logger.log = Mock()
        player_service = Player(api_wrapper, event_manager, logger)

        pgo = api_wrapper.get_api()
        pgo.set_response('get_player', self._create_generic_player_response())
        pgo.set_response('get_inventory', self._create_generic_inventory_response())

        before_candies = player_service.get_candy(1)
        assert before_candies == 100

        player_service.add_candy(10, 3)
        after_candies = player_service.get_candy(10)

        assert after_candies == 3
        assert pgo.call_stack_size() == 0