def main(): ln = len(sys.argv) url = sys.argv[1] id = sys.argv[2] host = sys.argv[3] if ln > 3 else None port = sys.argv[4] if ln > 4 else None subscriberDns = sys.argv[5] if ln > 5 else 'poseidon.petaapan.org' subscriberPort = sys.argv[6] if ln > 6 else TEST_PORT firstName = sys.argv[7] if ln > 7 else 'Jonathan' middleName = sys.argv[8] if ln > 8 else 'Frederick' lastName = sys.argv[9] if ln > 9 else 'Gossage' url = '%s%s' % (url, SUBACTION) # Try to subscribe status = {REQ_SUBSCRIPTION: TEST_SUBSCRIBED, REQ_PUBLISHER: GITHUB + '/jfgossage/Storyapp', REQ_PORT: TEST_PORT, USER_ID: id, SUBSCRIBER_DNS: subscriberDns, SUBSCRIBER_PORT: subscriberPort} if firstName is not None: status[FIRST_NAME] = firstName if middleName is not None: status[MIDDLE_NAME] = middleName if lastName is not None: status[LAST_NAME] = lastName print('About to connect to %s' % url) status, reason, headers = sendJsonMsg.send(status, url, host, port) if status > 299: print('Subscription failed status %s: Reason %s' % (status, reason)) print(headers) return 1 else: return 0
def internalSubscription(self, args): msg, url, dest_port, log = args purl = urlparse.urlparse(url) host = purl[1] ret = send(msg, url, host, dest_port, log) self._response_queue.put((TO_COLLABORATION, (SUBSCRIPTION_RESPONSE, (ret[0], ret[1], ret))), False)
def testSubscription(self): url = 'http://poseidon:8080/%s' % SUBACTION # Try to subscribe status = {REQ_SUBSCRIPTION: TEST_SUBSCRIBED, REQ_PUBLISHER: GITHUB + '/jfgossage/Storyapp', REQ_PORT: TEST_PORT} ret = sendJsonMsg.send(status, url) self.assertEquals(ret[0] , httplib.OK) self.assertTrue(string.find(ret[1], TEST_SUBSCRIBED) >= 0) # Try to unsubscribe status[REQ_SUBSCRIPTION] = TEST_UNSUBSCRIBED ret = sendJsonMsg.send(status, url) self.assertEquals(ret[0], httplib.OK) self.assertTrue(string.find(ret[1], TEST_UNSUBSCRIBED) >= 0) # Try to subscribe again status[REQ_SUBSCRIPTION] = TEST_SUBSCRIBED ret = sendJsonMsg.send(status, url) self.assertEquals(ret[0] , httplib.OK) self.assertTrue(string.find(ret[1], TEST_SUBSCRIBED) >= 0) # Say we are subscribing when we are already status[REQ_SUBSCRIPTION] = TEST_SUBSCRIBED ret = sendJsonMsg.send(status, url) self.assertEquals(ret[0] , httplib.OK) self.assertTrue(string.find(ret[1], TEST_SUBSCRIBED) >= 0) # Now to go unsubscribe status[REQ_SUBSCRIPTION] = TEST_UNSUBSCRIBED ret = sendJsonMsg.send(status, url) self.assertEquals(ret[0], httplib.OK) self.assertTrue(string.find(ret[1], TEST_UNSUBSCRIBED) >= 0) # And do it again status[REQ_SUBSCRIPTION] = TEST_UNSUBSCRIBED ret = sendJsonMsg.send(status, url) self.assertEquals(ret[0], httplib.OK) self.assertTrue(string.find(ret[1], TEST_UNSUBSCRIBED) >= 0)