class_docstr: Test class for the SlackAccessApp
class_docstr_tok: ["Test","class","for","the","SlackAccessApp"]
docstr: SlackAccessApp - Gather Logs - Pagination With Before Parameter
docstr_tok: ["SlackAccessApp","-","Gather","Logs","-","Pagination","With","Before","Parameter"]
code: def test_gather_logs_before_parameter(self, requests_mock):
      """SlackAccessApp - Gather Logs - Pagination With Before Parameter"""
      logs = self._get_sample_access_logs()
      self._app._SLACK_API_MAX_PAGE_COUNT = 1
      self._app._SLACK_API_MAX_ENTRY_COUNT = 100
      requests_mock.return_value = Mock(
          status_code=200, json=Mock(return_value=logs)
      )
  
      self._app._last_timestamp = 1522922593
      gathered_logs = self._app._gather_logs()
      assert "before" not in list(
          requests_mock.call_args[1]["data"].keys()
      )  # nosec
      assert_equal(len(gathered_logs), 0)
      assert_equal(self._app._next_page, 1)
      assert_equal(True, self._app._more_to_poll)
      assert_equal(
          self._app._before_time, logs["logins"][-1]["date_first"]
      )
  
      self._app._gather_logs()
      assert "before" in list(requests_mock.call_args[1]["data"].keys())
  
imports: import os
  from mock import Mock, patch
  from moto import mock_ssm
  from nose.tools import assert_equal, assert_false, assert_count_equal, raises
  from streamalert.apps._apps.slack import SlackApp, SlackAccessApp, SlackIntegrationsApp
  from tests.unit.streamalert.apps.test_helpers import get_event, put_mock_params
  from tests.unit.streamalert.shared.test_config import get_mock_lambda_context
label_desc: Use image node_id 10 for calling the TestSlackAccessApp obj's underlying member method code with example usage: obj.test_gather_logs_before_parameter(requests_mock) without return types