def test_getinfo_config_file(self): """ Parses the 'GETINFO config-file' response. """ runner = test.runner.get_runner() torrc_dst = runner.get_torrc_path() with runner.get_tor_socket() as control_socket: control_socket.send("GETINFO config-file") config_file_response = control_socket.recv() self.assertEquals("config-file=%s\nOK" % torrc_dst, str(config_file_response)) self.assertEquals(["config-file=%s" % torrc_dst, "OK"], list(config_file_response)) self.assertEquals("250-config-file=%s\r\n250 OK\r\n" % torrc_dst, config_file_response.raw_content()) self.assertEquals([("250", "-", "config-file=%s" % torrc_dst), ("250", " ", "OK")], config_file_response.content())
def test_getinfo_config_file(self): """ Parses the 'GETINFO config-file' response. """ runner = test.runner.get_runner() torrc_dst = runner.get_torrc_path() with runner.get_tor_socket() as control_socket: control_socket.send('GETINFO config-file') config_file_response = control_socket.recv() self.assertEqual('config-file=%s\nOK' % torrc_dst, str(config_file_response)) self.assertEqual(['config-file=%s' % torrc_dst, 'OK'], list(config_file_response)) self.assertEqual('250-config-file=%s\r\n250 OK\r\n' % torrc_dst, config_file_response.raw_content()) self.assertEqual([('250', '-', 'config-file=%s' % torrc_dst), ('250', ' ', 'OK')], config_file_response.content())
def test_getinfo(self): """ Exercises GETINFO with valid and invalid queries. """ if test.runner.require_control(self): return runner = test.runner.get_runner() with runner.get_tor_controller() as controller: # successful single query torrc_path = runner.get_torrc_path() self.assertEqual(torrc_path, controller.get_info('config-file')) self.assertEqual(torrc_path, controller.get_info('config-file', 'ho hum')) expected = {'config-file': torrc_path} self.assertEqual(expected, controller.get_info(['config-file'])) self.assertEqual(expected, controller.get_info(['config-file'], 'ho hum')) # successful batch query, we don't know the values so just checking for # the keys getinfo_params = set(['version', 'config-file', 'config/names']) self.assertEqual( getinfo_params, set( controller.get_info( ['version', 'config-file', 'config/names']).keys())) # non-existant option self.assertRaises(stem.ControllerError, controller.get_info, 'blarg') self.assertEqual('ho hum', controller.get_info('blarg', 'ho hum')) # empty input self.assertRaises(stem.ControllerError, controller.get_info, '') self.assertEqual('ho hum', controller.get_info('', 'ho hum')) self.assertEqual({}, controller.get_info([])) self.assertEqual({}, controller.get_info([], {}))
def test_saveconf(self): if test.runner.require_control(self): return runner = test.runner.get_runner() # only testing for success, since we need to run out of disk space to test # for failure with runner.get_tor_controller() as controller: oldconf = runner.get_torrc_contents() try: controller.set_conf("ContactInfo", "confsaved") controller.save_conf() with file(runner.get_torrc_path()) as torrcfile: self.assertTrue("\nContactInfo confsaved\n" in torrcfile.read()) finally: controller.load_conf(oldconf) controller.save_conf()
def test_getinfo_config_file(self): """ Parses the 'GETINFO config-file' response. """ if test.runner.require_control(self): return runner = test.runner.get_runner() torrc_dst = runner.get_torrc_path() with runner.get_tor_socket() as control_socket: control_socket.send('GETINFO config-file') config_file_response = control_socket.recv() self.assertEqual('config-file=%s\nOK' % torrc_dst, str(config_file_response)) self.assertEqual(['config-file=%s' % torrc_dst, 'OK'], list(config_file_response)) self.assertEqual('250-config-file=%s\r\n250 OK\r\n' % torrc_dst, config_file_response.raw_content()) self.assertEqual([('250', '-', 'config-file=%s' % torrc_dst), ('250', ' ', 'OK')], config_file_response.content())
def test_saveconf(self): runner = test.runner.get_runner() # only testing for success, since we need to run out of disk space to test # for failure with runner.get_tor_controller() as controller: oldconf = runner.get_torrc_contents() try: controller.set_conf('ContactInfo', 'confsaved') controller.save_conf() with open(runner.get_torrc_path()) as torrcfile: self.assertTrue('\nContactInfo confsaved\n' in torrcfile.read()) finally: controller.load_conf(oldconf) controller.save_conf() controller.reset_conf('__OwningControllerProcess')
def test_getinfo(self): """ Exercises GETINFO with valid and invalid queries. """ if test.runner.require_control(self): return runner = test.runner.get_runner() with runner.get_tor_controller() as controller: # successful single query torrc_path = runner.get_torrc_path() self.assertEqual(torrc_path, controller.get_info("config-file")) self.assertEqual(torrc_path, controller.get_info("config-file", "ho hum")) expected = {"config-file": torrc_path} self.assertEqual(expected, controller.get_info(["config-file"])) self.assertEqual(expected, controller.get_info(["config-file"], "ho hum")) # successful batch query, we don't know the values so just checking for # the keys getinfo_params = set(["version", "config-file", "config/names"]) self.assertEqual( getinfo_params, set(controller.get_info(["version", "config-file", "config/names"]).keys()) ) # non-existant option self.assertRaises(stem.ControllerError, controller.get_info, "blarg") self.assertEqual("ho hum", controller.get_info("blarg", "ho hum")) # empty input self.assertRaises(stem.ControllerError, controller.get_info, "") self.assertEqual("ho hum", controller.get_info("", "ho hum")) self.assertEqual({}, controller.get_info([])) self.assertEqual({}, controller.get_info([], {}))
def test_saveconf(self): if test.runner.require_control(self): return runner = test.runner.get_runner() # only testing for success, since we need to run out of disk space to test # for failure with runner.get_tor_controller() as controller: oldconf = runner.get_torrc_contents() try: controller.set_conf("ContactInfo", "confsaved") controller.save_conf() with open(runner.get_torrc_path()) as torrcfile: self.assertTrue( "\nContactInfo confsaved\n" in torrcfile.read()) finally: controller.load_conf(oldconf) controller.save_conf()
def test_getinfo_config_file(self): """ Parses the 'GETINFO config-file' response. """ if test.runner.require_control(self): return runner = test.runner.get_runner() torrc_dst = runner.get_torrc_path() with runner.get_tor_socket() as control_socket: control_socket.send("GETINFO config-file") config_file_response = control_socket.recv() self.assertEquals("config-file=%s\nOK" % torrc_dst, str(config_file_response)) self.assertEquals(["config-file=%s" % torrc_dst, "OK"], list(config_file_response)) self.assertEquals("250-config-file=%s\r\n250 OK\r\n" % torrc_dst, config_file_response.raw_content()) self.assertEquals([("250", "-", "config-file=%s" % torrc_dst), ("250", " ", "OK")], config_file_response.content())
def test_getinfo(self): """ Exercises GETINFO with valid and invalid queries. """ runner = test.runner.get_runner() with runner.get_tor_controller() as controller: # successful single query torrc_path = runner.get_torrc_path() self.assertEqual(torrc_path, controller.get_info('config-file')) self.assertEqual(torrc_path, controller.get_info('config-file', 'ho hum')) expected = {'config-file': torrc_path} self.assertEqual(expected, controller.get_info(['config-file'])) self.assertEqual(expected, controller.get_info(['config-file'], 'ho hum')) # successful batch query, we don't know the values so just checking for # the keys getinfo_params = set(['version', 'config-file', 'config/names']) self.assertEqual(getinfo_params, set(controller.get_info(['version', 'config-file', 'config/names']).keys())) # non-existant option self.assertRaises(stem.ControllerError, controller.get_info, 'blarg') self.assertEqual('ho hum', controller.get_info('blarg', 'ho hum')) # empty input self.assertRaises(stem.ControllerError, controller.get_info, '') self.assertEqual('ho hum', controller.get_info('', 'ho hum')) self.assertEqual({}, controller.get_info([])) self.assertEqual({}, controller.get_info([], {}))