示例#1
0
 def testAnonymousProfileIsFresh(self):
     driver = WebDriver()
     driver.get("http://localhost:%d/simpleTest.html" % WEB_SERVER_PORT)
     timestamp = time.mktime(datetime.datetime.now().timetuple()) + 100
     cookie = {
         "name": "foo",
         "value": "bar",
         "expires": str(int(timestamp)) + "000",
         "domain": "localhost",
         "path": "/"
     }
     driver.add_cookie(utils.convert_cookie_to_json(cookie))
     self.assertEquals(cookie, driver.get_cookies()[0])
     driver.quit()
     driver = WebDriver()
     self.assertEquals([], driver.get_cookies())
     driver.quit()
示例#2
0
def main():
    usage = 'usage: %s [options] <send|receive|delete> <id>'
    parser = OptionParser(usage=usage)
    parser.set_defaults()
    parser.add_option('-t', '--tags-file',
                      dest='tagsfile', action='store', type='string',
                      help='File to read tags from')
    (options, args) = parser.parse_args()

    if len(args) != 2:
        parser.error('Need to specify action and message id')

    if options.tagsfile is None:
        parser.error('Need to specify tags file')

    block_size = 8
    max_unique_blocks = 2**16
    tasks_per_message = 3

    if args[0] == 'send':
        parser.error('Send action not implemented. Use photo donation tool.')
    elif args[0] == 'receive':
        driver = WebDriver()

        tags = []
        for line in open(options.tagsfile, 'r'):
            tags.append(line.strip())
        tag_pairs = [(a, b) for a in tags for b in tags if a < b]
        tasks = map(lambda pair: WebTagPairFlickrTask(driver, pair), tag_pairs)

        vector_provider = NullVectorProvider()
        message_layer = MessageLayer(vector_provider,
                                     block_size,
                                     max_unique_blocks,
                                     tasks,
                                     tasks_per_message,
                                     timestamper)
        data = message_layer.receive(args[1])
        sys.stdout.write(data)
    elif args[0] == 'delete':
        parser.error("Delete action not implemented. You probably don't own the photos anyway.")
    else:
        parser.error('Invalid action')
示例#3
0
def download(address, snippets):
    driver = WebDriver()

    tasks = []
    for snippet in snippets:
        tasks.append(snippet.execute(driver))

    vector_provider = NullVectorProvider()
    message_layer = MessageLayer(vector_provider,
                                 common.BLOCK_SIZE,
                                 common.MAX_UNIQUE_BLOCKS,
                                 tasks,
                                 common.TASKS_PER_MESSAGE,
                                 Timestamper(),
                                 mac=True)
    try:
        data = message_layer.receive(address)
    except MessageLayerError:
        pass

    driver.close()

    return data
示例#4
0
 def setUp(self):
     self.server = Popen("dev_appserver.py . --port=80", shell=True)
     self.browser = WebDriver()
示例#5
0
def setup_module(module):
    webserver = SimpleWebServer()
    webserver.start()
    FirefoxCookieTest.webserver = webserver
    FirefoxCookieTest.driver = WebDriver()
示例#6
0
 def setUp(self):
     self._driver = WebDriver()
示例#7
0
def main():
    usage = 'usage: %s [options] <send|recieve> <id>'
    parser = OptionParser(usage=usage)
    parser.add_option('-u',
                      '--username',
                      dest='username',
                      action='store',
                      type='string',
                      help='Twitter username')
    parser.add_option('-p',
                      '--password',
                      dest='password',
                      action='store',
                      type='string',
                      help='Twitter password')
    parser.add_option('-f',
                      '--file',
                      dest='filename',
                      action='store',
                      type='string',
                      help='File to send')
    parser.add_option('-n',
                      '--num-tweets',
                      dest='num_vectors',
                      action='store',
                      type='int',
                      help='Number of tweets to send')
    parser.add_option('-r',
                      '--send-ratio',
                      dest='send_ratio',
                      action='store',
                      type='float',
                      help='Ratio between data to send and total data length')
    parser.add_option('-d',
                      '--directory',
                      dest='directory',
                      action='store',
                      type='string',
                      help='Directory to read tweets from')
    (options, args) = parser.parse_args()

    if len(args) != 2:
        parser.error('Need to specify action and message id')

    block_size = 8
    max_unique_blocks = 2**8
    tasks_per_message = 3

    if args[0] == 'send':
        if options.username is None or options.password is None:
            parser.error(
                'Must specify Twitter username and password to send messages.')
        if options.directory is None:
            parser.error(
                'Must specify a directory with tweets (*.tweet) in it, to embed and upload.'
            )

        vector_provider = DirectoryVectorProvider(BlatantVector,
                                                  options.directory, '.tweet')

        if options.filename is None:
            print 'Enter message and press <Ctrl-D>'
            data = sys.stdin.read()
        else:
            data = open(options.filename, 'r').read()

        driver = WebDriver()
        twitter_login(driver, options.username, options.password)

        tasks = [WebTwitterTask(driver, options.username, BlatantVector)]
        message_layer = MessageLayer(vector_provider, block_size,
                                     max_unique_blocks, tasks,
                                     tasks_per_message, timestamper)
        if options.num_vectors is not None:
            message_layer.send(args[1], data, num_vectors=options.num_vectors)
        elif options.send_ratio is not None:
            message_layer.send(args[1], data, send_ratio=options.send_ratio)
        else:
            message_layer.send(args[1], data)
    elif args[0] == 'receive':
        if options.username is None:
            parser.error('Must specify username to search')

        vector_provider = NullVectorProvider()

        driver = WebDriver()
        tasks = [WebTwitterTask(driver, options.username, BlatantVector)]
        message_layer = MessageLayer(vector_provider, block_size,
                                     max_unique_blocks, tasks,
                                     tasks_per_message, timestamper)
        data = message_layer.receive(args[1])
        sys.stdout.write(data)
    elif args[0] == 'delete':
        parser.error(
            "Deletion not supported through Web interface yet. Use direct client."
        )
    else:
        parser.error('Invalid action')
示例#8
0
 def testNamedProfile(self):
     profile = FirefoxProfile("example")
     driver = WebDriver(profile)
     driver.get("http://localhost:%d/simpleTest.html" % WEB_SERVER_PORT)
     self.assertEquals("Hello WebDriver", driver.get_title())
     driver.quit()
示例#9
0
 def testAnonymousProfileExample(self):
     driver = WebDriver()
     driver.get("http://localhost:%d/simpleTest.html" % WEB_SERVER_PORT)
     self.assertEquals("Hello WebDriver", driver.get_title())
     driver.quit()
示例#10
0
 def testDoubleClose(self):
     self.webdriver = WebDriver()
     self.webdriver.close()
     self.webdriver.close()
     self.webdriver.quit()
示例#11
0
 def testLaunchAndCloseBrowser(self):
     self.webdriver = WebDriver()
     self.webdriver.quit()