def test_reject_default_in_yaml(self): connections = {'introducers': { u'default': { 'furl': 'furl1' }, }} self.yaml_path.setContent(yamlutil.safe_dump(connections)) e = self.assertRaises(ValueError, create_client, self.basedir) self.assertEquals(str(e), "'default' introducer furl cannot be specified in introducers.yaml; please fix impossible configuration.")
def test_reject_default_in_yaml(self): """ If an introducer is configured in tahoe.cfg with the deprecated [client]introducer.furl then a "default" introducer in introducers.yaml is rejected. """ connections = { 'introducers': { u'default': { 'furl': 'furl1' }, }, } self.yaml_path.setContent( ensure_binary(yamlutil.safe_dump(connections))) FilePath(self.basedir).child("tahoe.cfg").setContent( b"[client]\n" b"introducer.furl = furl1\n") with self.assertRaises(ValueError) as ctx: yield create_client(self.basedir) self.assertEquals( str(ctx.exception), "'default' introducer furl cannot be specified in tahoe.cfg and introducers.yaml; " "please fix impossible configuration.", )
def test_ok(self): connections = {'introducers': { u'one': { 'furl': 'furl1' }, }} self.yaml_path.setContent(yamlutil.safe_dump(connections)) myclient = create_client(self.basedir) tahoe_cfg_furl = myclient.introducer_furls[0] self.assertEquals(tahoe_cfg_furl, 'furl1')
def save_magic_folders(node_directory, folders): fileutil.write_atomically( os.path.join(node_directory, u"private", u"magic_folders.yaml"), yamlutil.safe_dump({u"magic-folders": folders}), ) config = configutil.get_config(os.path.join(node_directory, u"tahoe.cfg")) configutil.set_config(config, "magic_folder", "enabled", "True") configutil.write_config(os.path.join(node_directory, u"tahoe.cfg"), config)
def _save_announcements(self): announcements = [] for _, value in self._inbound_announcements.items(): ann, key_s, time_stamp = value server_params = { "ann" : ann, "key_s" : key_s, } announcements.append(server_params) announcement_cache_yaml = yamlutil.safe_dump(announcements) self._cache_filepath.setContent(announcement_cache_yaml)
def load_connections(self): """ Load the connections.yaml file if it exists, otherwise create a default configuration. """ fn = os.path.join(self.basedir, "private", "connections.yaml") connections_filepath = FilePath(fn) try: with connections_filepath.open() as f: self.connections_config = yamlutil.safe_load(f) except EnvironmentError: self.connections_config = { 'servers' : {} } content = yamlutil.safe_dump(self.connections_config) connections_filepath.setContent(content)
def _save_announcements(self): announcements = [] for _, value in self._inbound_announcements.items(): ann, key_s, time_stamp = value # On Python 2, bytes strings are encoded into YAML Unicode strings. # On Python 3, bytes are encoded as YAML bytes. To minimize # changes, Python 3 for now ensures the same is true. server_params = { "ann": ann, "key_s": ensure_text(key_s), } announcements.append(server_params) announcement_cache_yaml = yamlutil.safe_dump(announcements) if isinstance(announcement_cache_yaml, unicode): announcement_cache_yaml = announcement_cache_yaml.encode("utf-8") self._cache_filepath.setContent(announcement_cache_yaml)
def test_introducer_count(self): """ Ensure that the Client creates same number of introducer clients as found in "basedir/private/introducers" config file. """ connections = {'introducers': { u'intro1':{ 'furl': 'furl1' }, u'intro2':{ 'furl': 'furl4' } }, } self.yaml_path.setContent(yamlutil.safe_dump(connections)) # get a client and count of introducer_clients myclient = create_client(self.basedir) ic_count = len(myclient.introducer_clients) # assertions self.failUnlessEqual(ic_count, 3)
def test_introducer_count(self): """ If there are two introducers configured in ``introducers.yaml`` then ``Client`` creates two introducer clients. """ connections = { 'introducers': { u'intro1': { 'furl': 'furl1' }, u'intro2': { 'furl': 'furl4' }, }, } self.yaml_path.setContent(yamlutil.safe_dump(connections)) # get a client and count of introducer_clients myclient = yield create_client(self.basedir) ic_count = len(myclient.introducer_clients) # assertions self.failUnlessEqual(ic_count, len(connections["introducers"]))
def test_introducerless(self): connections = {'introducers': {} } self.yaml_path.setContent(yamlutil.safe_dump(connections)) myclient = create_client(self.basedir) self.assertEquals(len(myclient.introducer_furls), 0)