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()
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()
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))
def test_get_playback_missing_tool_name(): playback = get_playback(config) assert playback is None
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)