1- import json
2- from flask import Flask
3- import pytest
4- import sys
51import hmac
62import time
3+
4+ import pytest
5+ from flask import Flask , Blueprint , make_response
6+
77from slackeventsapi import SlackEventAdapter
88from slackeventsapi .server import SlackEventAdapterException
9- from slackeventsapi .version import __version__
109
1110
1211def test_existing_flask ():
@@ -19,9 +18,19 @@ def test_server_not_flask():
1918 with pytest .raises (TypeError ) as e :
2019 invalid_flask = "I am not a Flask"
2120 SlackEventAdapter ("SIGNING_SECRET" , "/slack/events" , invalid_flask )
22- assert e .value .args [0 ] == 'Server must be an instance of Flask'
21+ assert e .value .args [0 ] == 'Server must be an instance of Flask or Blueprint '
2322
2423
24+ def test_blueprint_server ():
25+ simple_page = Blueprint ('simple_page' , __name__ )
26+ @simple_page .route ('/' , defaults = {'page' : 'index' })
27+ @simple_page .route ('/<page>' )
28+ def show (page ):
29+ return make_response ("This is page " + page )
30+
31+ valid_adapter = SlackEventAdapter ("SIGNING_SECRET" , "/slack/events" , simple_page )
32+ assert isinstance (valid_adapter , SlackEventAdapter )
33+
2534def test_event_endpoint_get (client ):
2635 # GET on '/slack/events' should 404
2736 res = client .get ('/slack/events' )
@@ -74,7 +83,7 @@ def test_invalid_request_timestamp(client):
7483 slack_adapter = SlackEventAdapter ("SIGNING_SECRET" )
7584
7685 data = pytest .reaction_event_fixture
77- timestamp = int (time .time ()+ 1000 )
86+ timestamp = int (time .time () + 1000 )
7887 signature = "bad timestamp"
7988
8089 with pytest .raises (SlackEventAdapterException ) as excinfo :
@@ -100,7 +109,7 @@ def test_compare_digest_fallback(client, monkeypatch):
100109
101110 data = pytest .reaction_event_fixture
102111 timestamp = int (time .time ())
103- signature = pytest .create_signature (slack_adapter .signing_secret , timestamp , data )
112+ signature = pytest .create_signature (slack_adapter .signing_secret , timestamp , data )
104113
105114 res = client .post (
106115 '/slack/events' ,
0 commit comments