Example #1
0
def test_get_playback(get_binary):
    config['playback_tool'] = 'mitmproxy'
    config['playback_binary_manifest'] = 'mitmproxy-rel-bin-osx.manifest'
    config['playback_binary_zip_mac'] = 'mitmproxy-2.0.2-osx.tar.gz'
    config['playback_pageset_manifest'] = 'mitmproxy-playback-set.manifest'
    config['playback_pageset_zip_mac'] = 'mitmproxy-recording-set-win10.zip'
    config['playback_recordings'] = 'mitmproxy-recording-amazon.mp'
    config['binary'] = get_binary('firefox')
    playback = get_playback(config)
    assert isinstance(playback, Mitmproxy)
    playback.stop()
Example #2
0
def test_get_playback(get_binary):
    config['platform'] = mozinfo.os
    if 'win' in config['platform']:
        # this test is not yet supported on windows
        assert True
        return
    config['obj_path'] = os.path.dirname(get_binary('firefox'))
    config['playback_tool'] = 'mitmproxy'
    config['playback_binary_manifest'] = 'mitmproxy-rel-bin-osx.manifest'
    config['playback_pageset_manifest'] = 'mitmproxy-playback-set.manifest'
    config['playback_recordings'] = 'mitmproxy-recording-amazon.mp'
    config['binary'] = get_binary('firefox')
    playback = get_playback(config)
    assert isinstance(playback, Mitmproxy)
    playback.stop()
Example #3
0
    def run_test(self, test, timeout=None):
        self.log.info("starting raptor test: %s" % test['name'])
        gen_test_config(self.config['app'], test['name'])

        self.profile.addons.install(os.path.join(webext_dir, 'raptor'))

        # some tests require tools to playback the test pages
        if test.get('playback', None) is not None:
            self.config['playback_tool'] = test.get('playback')
            self.log.info("test uses playback tool: %s " %
                          self.config['playback_tool'])
            self.playback = get_playback(self.config)
            self.playback.start()

        self.runner.start()

        first_time = int(time.time()) * 1000
        proc = self.runner.process_handler
        self.output_handler.proc = proc

        try:
            self.runner.wait(timeout)
        finally:
            try:
                self.runner.check_for_crashes()
            except NotImplementedError:  # not implemented for Chrome
                pass

        if self.playback is not None:
            self.playback.stop()

        if self.runner.is_running():
            self.log("Application timed out after {} seconds".format(timeout))
            self.runner.stop()

        proc.output.append(
            "__startBeforeLaunchTimestamp%d__endBeforeLaunchTimestamp" %
            first_time)
        proc.output.append(
            "__startAfterTerminationTimestamp%d__endAfterTerminationTimestamp"
            % (int(time.time()) * 1000))
Example #4
0
def test_get_playback_missing_tool_name():
    playback = get_playback(config)
    assert playback is None
Example #5
0
def test_get_unsupported_playback():
    config['playback_tool'] = 'unsupported'
    playback = get_playback(config)
    assert playback is None
def test_get_playback():
    config['playback_tool'] = 'mitmproxy'
    playback = get_playback(config)
    assert isinstance(playback, Mitmproxy)