def main(): log_level = os.getenv("LOG_LEVEL", "INFO") logging.basicConfig(format='%(asctime)s - %(levelname)s: %(message)s', level=log_level) # Log this at error level even though it's not an error, because we want to be sure the message is seen logging.error("logging level: {}".format(log_level)) slack_token = os.getenv("SLACK_TOKEN", "") logging.info("slack token: {}".format(slack_token)) if slack_token == "": logging.info("SLACK_TOKEN env var not set, expecting token to be provided by Resourcer events") slack_token = None botManager = bot_manager.BotManager(spawn_bot) res = resourcer.Resourcer(botManager) res.start() else: state_updating_q = Queue() flask_thread = FlaskThread(state_updating_q) flask_thread.start() event_processing_q = Queue() intent_runner_pool = WorkerPoolThread(event_processing_q, state_updating_q) intent_runner_pool.start() # only want to run a single instance of the bot in dev mode bot = SlackBot(state_updating_q, event_processing_q, slack_token) bot.start({})
def test_start(self): # A large set of mocks required to make sure that this test tests start, not # any other function # Does not currently cover exception in the event read loop resource = {'resource': {'SlackBotAccessToken': 'token'}} mock_messenger = MagicMock(return_value="dummy messenger") mock_event_handler = Mock() attrs = {'handle.return_value': "dummy return"} mock_event_handler.configure_mock(**attrs) mock_rtm = MagicMock(return_value=mock_event_handler) mock_slack_clients = MagicMock(return_value="dummy clients") slackbot = SlackBot("token", mock_slack_clients) slackbot.clients = Mock( rtm=Mock(rtm_connect=None, rtm_read=None, server=Mock(username=None, login_data={'team': { 'name': None }}, domain=None))) slackbot.clients.rtm.rtm_connect = MagicMock(return_value=True) slackbot.clients.rtm.server.username = "******" slackbot.clients.rtm.server.login_data['team'][ 'name'] = "dummy team name" slackbot.clients.rtm.server.domain = "dummy domain" slackbot.clients.rtm.rtm_read = MagicMock( return_value=['event1', 'event2', 'event3']) # Ensure that start completes without error self.assertEqual(slackbot.start(resource, mock_messenger, mock_rtm), None)
def test_start(self): # A large set of mocks required to make sure that this test tests start, not # any other function # Does not currently cover exception in the event read loop resource = { 'resource': { 'SlackBotAccessToken': 'token' } } mock_messenger = MagicMock(return_value="dummy messenger") mock_event_handler = Mock() attrs = {'handle.return_value': "dummy return"} mock_event_handler.configure_mock(**attrs) mock_rtm = MagicMock(return_value=mock_event_handler) mock_slack_clients = MagicMock(return_value="dummy clients") slackbot = SlackBot("token", mock_slack_clients) slackbot.clients = Mock(rtm=Mock(rtm_connect=None, rtm_read=None, server=Mock(username=None, login_data={'team':{'name': None}}, domain=None))) slackbot.clients.rtm.rtm_connect = MagicMock(return_value=True) slackbot.clients.rtm.server.username = "******" slackbot.clients.rtm.server.login_data['team']['name'] = "dummy team name" slackbot.clients.rtm.server.domain = "dummy domain" slackbot.clients.rtm.rtm_read = MagicMock(return_value=['event1', 'event2', 'event3']) # Ensure that start completes without error self.assertEqual(slackbot.start(resource, mock_messenger, mock_rtm), None)
def main(): log_level = os.getenv("LOG_LEVEL", "INFO") logging.basicConfig(format='%(asctime)s - %(levelname)s: %(message)s', level=log_level) # Log this at error level even though it's not an error, because we want to be sure the message is seen logging.error("logging level: {}".format(log_level)) slack_token = os.getenv("SLACK_TOKEN", "") logging.info("slack token: {}".format(slack_token)) if slack_token == "": logging.info( "SLACK_TOKEN env var not set, expecting token to be provided by Resourcer events" ) slack_token = None botManager = bot_manager.BotManager(spawn_bot) res = resourcer.Resourcer(botManager) res.start() else: # only want to run a single instance of the bot in dev mode bot = SlackBot(slack_token) bot.start({})
from flask import Flask logger = logging.getLogger(__name__) server = Flask(__name__) @server.route ('/toto', methods=['GET']) def local_test(): return Response('it works') if __name__ == "__main__": port= os.getenv("PORT","not found") server.run(host='0.0.0.0',port=8080,debug=True) log_level = os.getenv("LOG_LEVEL", "INFO") logging.basicConfig(format='%(asctime)s - %(levelname)s: %(message)s', level=log_level) slack_token = os.getenv("SLACK_TOKEN", "") logging.info("token: {}".format(slack_token)) logging.info(port) if slack_token == "": logging.info("SLACK_TOKEN env var not set, expecting token to be provided by Resourcer events") slack_token = None botManager = bot_manager.BotManager(spawn_bot) res = resourcer.Resourcer(botManager) res.start() else: # only want to run a single instance of the bot in dev mode bot = SlackBot(slack_token) bot.start({})
from slack_bot import SlackBot from slack_bot import spawn_bot logger = logging.getLogger(__name__) if __name__ == "__main__": log_level = os.getenv("LOG_LEVEL", "INFO") logging.basicConfig(format='%(asctime)s - %(levelname)s: %(message)s', level=log_level) config = yaml.load(file('bot.conf', 'r')) # debug = config["DEBUG"] slack_token = config["SLACK_TOKEN"] logging.info("token: {}".format(slack_token)) if slack_token == "": logging.info( "SLACK_TOKEN env var not set, expecting token to be provided by Resourcer events" ) slack_token = None botManager = bot_manager.BotManager(spawn_bot) res = resourcer.Resourcer(botManager) res.start() else: # only want to run a single instance of the bot in dev mode bot = SlackBot(slack_token) bot.start({})