def test_lookup_test_helpers_and_collector_https(self): self.config.advanced.preferred_backend = "https" deck = NGDeck() deck.open(self.deck_file) first_net_test_loader = deck.tasks[0].ooni['net_test_loader'] net_test_loaders = map(lambda task: task.ooni['net_test_loader'], deck.tasks) self.assertEqual(len(first_net_test_loader .missingTestHelpers), 1) yield lookup_collector_and_test_helpers( net_test_loaders=net_test_loaders, preferred_backend='https', bouncer=MockBouncerClient() ) self.assertEqual( first_net_test_loader.collector.settings['address'], 'https://collector.ooni.io' ) self.assertEqual( first_net_test_loader.localOptions['backend'], '127.0.0.1' )
def test_load_deck_with_global_options(self): global_options = { "annotations": { "spam": "ham" }, "collector": "httpo://thirteenchars123.onion" } deck = NGDeck(global_options=global_options) deck.open(self.deck_file) self.assertEqual(deck.tasks[0].ooni['net_test_loader'].annotations, global_options['annotations']) self.assertEqual( deck.tasks[0].ooni['net_test_loader'].collector.base_address, global_options['collector'].replace("httpo://", "http://"))
def test_load_deck_with_global_options(self): global_options = { "annotations": {"spam": "ham"}, "collector": "httpo://thirteenchars123.onion" } deck = NGDeck(global_options=global_options) deck.open(self.deck_file) self.assertEqual( deck.tasks[0].ooni['net_test_loader'].annotations, global_options['annotations'] ) self.assertEqual( deck.tasks[0].ooni['net_test_loader'].collector.base_address, global_options['collector'].replace("httpo://", "http://") )
def test_deck_with_many_tests(self): os.remove(self.deck_file) deck_hash = sha256(self.dummy_deck_content_with_many_tests).hexdigest() self.deck_file = os.path.join(self.cwd, deck_hash) with open(self.deck_file, 'w+') as f: f.write(self.dummy_deck_content_with_many_tests) deck = NGDeck() deck.open(self.deck_file) self.assertEqual( deck.tasks[0].ooni['net_test_loader'].localOptions['backend'], '1.1.1.1') self.assertEqual( deck.tasks[1].ooni['net_test_loader'].localOptions['backend'], '2.2.2.2')
def test_deck_with_many_tests(self): os.remove(self.deck_file) deck_hash = sha256(self.dummy_deck_content_with_many_tests).hexdigest() self.deck_file = os.path.join(self.cwd, deck_hash) with open(self.deck_file, 'w+') as f: f.write(self.dummy_deck_content_with_many_tests) deck = NGDeck() deck.open(self.deck_file) self.assertEqual( deck.tasks[0].ooni['net_test_loader'].localOptions['backend'], '1.1.1.1' ) self.assertEqual( deck.tasks[1].ooni['net_test_loader'].localOptions['backend'], '2.2.2.2' )
def _update_cache(self): new_cache = {} for deck_path in self.available_directory.listdir(): if not deck_path.endswith('.yaml'): continue deck = NGDeck( deck_path=self.available_directory.child(deck_path).path) new_cache[deck.id] = deck self._cache = new_cache self._cache_stale = False
def test_lookup_test_helpers_and_collector(self): deck = NGDeck() deck.open(self.deck_file) self.assertEqual( len(deck.tasks[0].ooni['net_test_loader'].missingTestHelpers), 1) yield lookup_collector_and_test_helpers( net_test_loaders=[deck.tasks[0].ooni['net_test_loader']], preferred_backend='onion', bouncer=MockBouncerClient()) self.assertEqual( deck.tasks[0].ooni['net_test_loader'].collector. settings['address'], 'httpo://thirteenchars123.onion') self.assertEqual( deck.tasks[0].ooni['net_test_loader'].localOptions['backend'], '127.0.0.1')
def test_lookup_test_helpers_and_collector(self): deck = NGDeck() deck.open(self.deck_file) self.assertEqual( len(deck.tasks[0].ooni['net_test_loader'].missingTestHelpers), 1 ) yield lookup_collector_and_test_helpers( net_test_loaders=[deck.tasks[0].ooni['net_test_loader']], preferred_backend='onion', bouncer=MockBouncerClient() ) self.assertEqual( deck.tasks[0].ooni['net_test_loader'].collector.settings['address'], 'httpo://thirteenchars123.onion' ) self.assertEqual( deck.tasks[0].ooni['net_test_loader'].localOptions['backend'], '127.0.0.1' )
def test_open_deck(self): deck = NGDeck() deck.open(self.deck_file) assert len(deck.tasks) == 1