diff options
Diffstat (limited to 'python-tornado/tests')
| -rw-r--r-- | python-tornado/tests/delivery.py | 140 | ||||
| -rwxr-xr-x | python-tornado/tests/subscribe-test.py | 90 | ||||
| -rw-r--r-- | python-tornado/tests/unit-tests.py | 82 | 
3 files changed, 163 insertions, 149 deletions
| diff --git a/python-tornado/tests/delivery.py b/python-tornado/tests/delivery.py index f3633e6..cb04332 100644 --- a/python-tornado/tests/delivery.py +++ b/python-tornado/tests/delivery.py @@ -1,4 +1,4 @@ -## www.pubnub.com - PubNub Real-time push service in the cloud.  +## www.pubnub.com - PubNub Real-time push service in the cloud.  # coding=utf8  ## PubNub Real-time Push APIs and Notifications Framework @@ -20,92 +20,99 @@ from Pubnub import Pubnub  ## -----------------------------------------------------------------------  ## Configuration  ## ----------------------------------------------------------------------- -publish_key   = len(sys.argv) > 1 and sys.argv[1] or 'demo' +publish_key = len(sys.argv) > 1 and sys.argv[1] or 'demo'  subscribe_key = len(sys.argv) > 2 and sys.argv[2] or 'demo' -secret_key    = len(sys.argv) > 3 and sys.argv[3] or 'demo' -cipher_key    = len(sys.argv) > 4 and sys.argv[4] or 'demo' -ssl_on        = len(sys.argv) > 5 and bool(sys.argv[5]) or False -origin        = len(sys.argv) > 6 and sys.argv[6] or 'pubsub.pubnub.com' +secret_key = len(sys.argv) > 3 and sys.argv[3] or 'demo' +cipher_key = len(sys.argv) > 4 and sys.argv[4] or 'demo' +ssl_on = len(sys.argv) > 5 and bool(sys.argv[5]) or False +origin = len(sys.argv) > 6 and sys.argv[6] or 'pubsub.pubnub.com'  ## -----------------------------------------------------------------------  ## Analytics  ## -----------------------------------------------------------------------  analytics = { -    'publishes'            : 0,   ## Total Send Requests -    'received'             : 0,   ## Total Received Messages (Deliveries) -    'queued'               : 0,   ## Total Unreceived Queue (UnDeliveries) -    'successful_publishes' : 0,   ## Confirmed Successful Publish Request -    'failed_publishes'     : 0,   ## Confirmed UNSuccessful Publish Request -    'failed_deliveries'    : 0,   ## (successful_publishes - received) -    'deliverability'       : 0    ## Percentage Delivery +    'publishes': 0,  # Total Send Requests +    'received': 0,  # Total Received Messages (Deliveries) +    'queued': 0,  # Total Unreceived Queue (UnDeliveries) +    'successful_publishes': 0,  # Confirmed Successful Publish Request +    'failed_publishes': 0,  # Confirmed UNSuccessful Publish Request +    'failed_deliveries': 0,  # (successful_publishes - received) +    'deliverability': 0  # Percentage Delivery  }  trips = { -    'last'    : None, -    'current' : None, -    'max'     : 0, -    'avg'     : 0 +    'last': None, +    'current': None, +    'max': 0, +    'avg': 0  }  ## -----------------------------------------------------------------------  ## Initiat Class  ## -----------------------------------------------------------------------  channel = 'deliverability-' + str(time.time()) -pubnub  = Pubnub( +pubnub = Pubnub(      publish_key,      subscribe_key, -    secret_key = secret_key, -    cipher_key = cipher_key, -    ssl_on = ssl_on, -    origin = origin +    secret_key=secret_key, +    cipher_key=cipher_key, +    ssl_on=ssl_on, +    origin=origin  )  ## -----------------------------------------------------------------------  ## BENCHMARK  ## ----------------------------------------------------------------------- -def publish_sent(info = None): -    if info and info[0]: analytics['successful_publishes']   += 1 -    else:                analytics['failed_publishes']       += 1 + + +def publish_sent(info=None): +    if info and info[0]: +        analytics['successful_publishes'] += 1 +    else: +        analytics['failed_publishes'] += 1      analytics['publishes'] += 1 -    analytics['queued']    += 1 +    analytics['queued'] += 1 + +    pubnub.timeout(send, 0.1) -    pubnub.timeout( send, 0.1 )  def send():      if analytics['queued'] > 100:          analytics['queued'] -= 10 -        return pubnub.timeout( send, 10 ) +        return pubnub.timeout(send, 10)      pubnub.publish({ -        'channel'  : channel, -        'callback' : publish_sent, -        'message'  : "1234567890" +        'channel': channel, +        'callback': publish_sent, +        'message': "1234567890"      }) +  def received(message): -    analytics['queued']   -= 1 +    analytics['queued'] -= 1      analytics['received'] += 1      current_trip = trips['current'] = str(datetime.datetime.now())[0:19] -    last_trip    = trips['last']    = str( +    last_trip = trips['last'] = str(          datetime.datetime.now() - datetime.timedelta(seconds=1)      )[0:19]      ## New Trip Span (1 Second) -    if not trips.has_key(current_trip) : +    if current_trip not in trips:          trips[current_trip] = 0          ## Average -        if trips.has_key(last_trip): +        if last_trip in trips:              trips['avg'] = (trips['avg'] + trips[last_trip]) / 2      ## Increment Trip Counter      trips[current_trip] = trips[current_trip] + 1      ## Update Max -    if trips[current_trip] > trips['max'] : +    if trips[current_trip] > trips['max']:          trips['max'] = trips[current_trip] +  def show_status():      ## Update Failed Deliveries      analytics['failed_deliveries'] = \ @@ -114,45 +121,46 @@ def show_status():      ## Update Deliverability      analytics['deliverability'] = ( -        float(analytics['received']) / \ +        float(analytics['received']) /          float(analytics['successful_publishes'] or 1.0)      ) * 100.0      ## Print Display -    print( ( -       "max:%(max)03d/sec  "                  + \ -       "avg:%(avg)03d/sec  "                  + \ -       "pubs:%(publishes)05d  "               + \ -       "received:%(received)05d  "            + \ -       "spub:%(successful_publishes)05d  "    + \ -       "fpub:%(failed_publishes)05d  "        + \ -       "failed:%(failed_deliveries)05d  "     + \ -       "queued:%(queued)03d  "                + \ -       "delivery:%(deliverability)03f%%  "    + \ -       "" -    ) % { -        'max'                  : trips['max'], -        'avg'                  : trips['avg'], -        'publishes'            : analytics['publishes'], -        'received'             : analytics['received'], -        'successful_publishes' : analytics['successful_publishes'], -        'failed_publishes'     : analytics['failed_publishes'], -        'failed_deliveries'    : analytics['failed_deliveries'], -        'publishes'            : analytics['publishes'], -        'deliverability'       : analytics['deliverability'], -        'queued'               : analytics['queued'] -    } ) -    pubnub.timeout( show_status, 1 ) +    print(( +          "max:%(max)03d/sec  " + +          "avg:%(avg)03d/sec  " + +          "pubs:%(publishes)05d  " + +          "received:%(received)05d  " + +          "spub:%(successful_publishes)05d  " + +          "fpub:%(failed_publishes)05d  " + +          "failed:%(failed_deliveries)05d  " + +          "queued:%(queued)03d  " + +          "delivery:%(deliverability)03f%%  " + +          "" +          ) % { +          'max': trips['max'], +          'avg': trips['avg'], +          'publishes': analytics['publishes'], +          'received': analytics['received'], +          'successful_publishes': analytics['successful_publishes'], +          'failed_publishes': analytics['failed_publishes'], +          'failed_deliveries': analytics['failed_deliveries'], +          'publishes': analytics['publishes'], +          'deliverability': analytics['deliverability'], +          'queued': analytics['queued'] +          }) +    pubnub.timeout(show_status, 1) +  def connected():      show_status() -    pubnub.timeout( send, 1 ) +    pubnub.timeout(send, 1) -print( "Connected: %s\n" % origin ) +print("Connected: %s\n" % origin)  pubnub.subscribe({ -    'channel'  : channel, -    'connect'  : connected, -    'callback' : received +    'channel': channel, +    'connect': connected, +    'callback': received  })  ## ----------------------------------------------------------------------- diff --git a/python-tornado/tests/subscribe-test.py b/python-tornado/tests/subscribe-test.py index be4a416..d8a3ea2 100755 --- a/python-tornado/tests/subscribe-test.py +++ b/python-tornado/tests/subscribe-test.py @@ -1,4 +1,4 @@ -## www.pubnub.com - PubNub Real-time push service in the cloud.  +## www.pubnub.com - PubNub Real-time push service in the cloud.  # coding=utf8  ## PubNub Real-time Push APIs and Notifications Framework @@ -16,18 +16,18 @@ from Pubnub import Pubnub  from functools import partial  from threading import current_thread  import threading -publish_key   = len(sys.argv) > 1 and sys.argv[1] or 'demo' +publish_key = len(sys.argv) > 1 and sys.argv[1] or 'demo'  subscribe_key = len(sys.argv) > 2 and sys.argv[2] or 'demo' -secret_key    = len(sys.argv) > 3 and sys.argv[3] or 'demo' -cipher_key    = len(sys.argv) > 4 and sys.argv[4] or None -ssl_on        = len(sys.argv) > 5 and bool(sys.argv[5]) or False +secret_key = len(sys.argv) > 3 and sys.argv[3] or 'demo' +cipher_key = len(sys.argv) > 4 and sys.argv[4] or None +ssl_on = len(sys.argv) > 5 and bool(sys.argv[5]) or False  ## -----------------------------------------------------------------------  ## Initiate Pubnub State  ## -----------------------------------------------------------------------  #pubnub = Pubnub( publish_key, subscribe_key, secret_key, cipher_key, ssl_on ) -pubnub = Pubnub( publish_key, subscribe_key, secret_key, ssl_on ) -crazy  = 'hello_world' +pubnub = Pubnub(publish_key, subscribe_key, secret_key, ssl_on) +crazy = 'hello_world'  current = -1 @@ -37,9 +37,12 @@ received = 0  ## -----------------------------------------------------------------------  ## Subscribe Example  ## ----------------------------------------------------------------------- + +  def message_received(message):      print(message) +  def check_received(message):      global current      global errors @@ -52,19 +55,20 @@ def check_received(message):          errors += 1      else:          received += 1 -    print('active thread count : ' + str( threading.activeCount())) +    print('active thread count : ' + str(threading.activeCount()))      print('errors = ' + str(errors)) -    print(current_thread().getName() +  ' , ' +  'received = ' +  str(received)) +    print(current_thread().getName() + ' , ' + 'received = ' + str(received))      if received != message: -        print('********** MISSED **************** ' + str( message - received )) +        print('********** MISSED **************** ' + str(message - received))      current = message -     -def connected_test(ch) : -    print('Connected '  +  ch) -def connected(ch) : +def connected_test(ch): +    print('Connected ' + ch) + + +def connected(ch):      pass @@ -75,56 +79,60 @@ pubnub.subscribe({      'callback' : message_received  })  ''' + +  def cb1(): -	pubnub.subscribe({ -	    'channel'  : 'efgh1', -	    'connect'  : connected, -	    'callback' : message_received -	}) +    pubnub.subscribe({ +        'channel': 'efgh1', +        'connect': connected, +        'callback': message_received +    }) +  def cb2(): -	pubnub.subscribe({ -	    'channel'  : 'dsm-test', -	    'connect'  : connected_test, -	    'callback' : check_received -	}) +    pubnub.subscribe({ +        'channel': 'dsm-test', +        'connect': connected_test, +        'callback': check_received +    }) +  def cb3(): -    pubnub.unsubscribe({'channel' : 'efgh1'}) +    pubnub.unsubscribe({'channel': 'efgh1'}) -def cb4(): -    pubnub.unsubscribe({'channel' : 'abcd1'}) -def subscribe(channel): -	pubnub.subscribe({ -	    'channel'  : channel, -	    'connect'  : connected, -	    'callback' : message_received -	}) +def cb4(): +    pubnub.unsubscribe({'channel': 'abcd1'}) +def subscribe(channel): +    pubnub.subscribe({ +        'channel': channel, +        'connect': connected, +        'callback': message_received +    }) -pubnub.timeout(15,cb1) +pubnub.timeout(15, cb1) -pubnub.timeout(30,cb2) +pubnub.timeout(30, cb2) -pubnub.timeout(45,cb3) +pubnub.timeout(45, cb3) -pubnub.timeout(60,cb4) +pubnub.timeout(60, cb4)  #''' -for x in range(1,1000): +for x in range(1, 1000):      #print x      def y(t):          subscribe('channel-' + str(t))      def z(t): -        pubnub.unsubscribe({'channel' : 'channel-' + str(t)}) +        pubnub.unsubscribe({'channel': 'channel-' + str(t)}) -    pubnub.timeout(x + 5, partial(y,x)) -    pubnub.timeout(x + 25, partial(z, x))  +    pubnub.timeout(x + 5, partial(y, x)) +    pubnub.timeout(x + 25, partial(z, x))      x += 10  #''' diff --git a/python-tornado/tests/unit-tests.py b/python-tornado/tests/unit-tests.py index fdaa194..b4b51f4 100644 --- a/python-tornado/tests/unit-tests.py +++ b/python-tornado/tests/unit-tests.py @@ -9,65 +9,63 @@ sys.path.append('.')  from PubnubUnitTest import Suite  from Pubnub import Pubnub -pubnub = Pubnub("demo","demo") +pubnub = Pubnub("demo", "demo")  tests_count = 1 + 2 -test_suite = Suite(pubnub,tests_count) +test_suite = Suite(pubnub, tests_count)  tests = []  def test_publish(): -	name = "Publish Test" -	def success(r): -		test_suite.test(r[0] == 1, name) +    name = "Publish Test" -	def fail(e): -		test_suite.test(False, msg , e) +    def success(r): +        test_suite.test(r[0] == 1, name) +    def fail(e): +        test_suite.test(False, msg, e) -	pubnub.publish({ -		'channel' : 'hello', -		'message' : 'hi', -		'callback' : success, -		'error' : fail -	}) +    pubnub.publish({ +                   'channel': 'hello', +                   'message': 'hi', +                   'callback': success, +                   'error': fail +                   })  tests.append(test_publish)  def test_subscribe_publish(): -	channel = "hello" -	name = "Subscribe Publish Test" -	publish_msg = "This is Pubnub Python-Twisted" -	def connect(): -		def success(r): -			test_suite.test(r[0] == 1, name, "publish success") - -		def fail(e): -			test_suite.test(False, name , "Publish Failed", e) - -		pubnub.publish({ -			'channel' : channel, -			'message' : publish_msg, -			'callback' : success, -			'error' : fail -		}) - -	def callback(r): -		test_suite.test(r == publish_msg, name, "message received") - -	pubnub.subscribe({ -		'channel' : channel, -		'callback' : callback, -		'connect' : connect -	}) +    channel = "hello" +    name = "Subscribe Publish Test" +    publish_msg = "This is Pubnub Python-Twisted" + +    def connect(): +        def success(r): +            test_suite.test(r[0] == 1, name, "publish success") + +        def fail(e): +            test_suite.test(False, name, "Publish Failed", e) + +        pubnub.publish({ +                       'channel': channel, +                       'message': publish_msg, +                       'callback': success, +                       'error': fail +                       }) + +    def callback(r): +        test_suite.test(r == publish_msg, name, "message received") + +    pubnub.subscribe({ +                     'channel': channel, +                     'callback': callback, +                     'connect': connect +                     })  tests.append(test_subscribe_publish) - - -  for t in tests: -	t() +    t()  pubnub.start() | 
