Esempio n. 1
0
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
Esempio n. 2
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)
Esempio n. 3
0
    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)