def test_create_project_1_site(self): xmlfile = os.path.join(XML_FILE_LOCATION, "project_1_site.xml") tree = etree.parse(xmlfile) project = Project() project.configure_from_node(tree.getroot(), self.defaults, None) # see if the convenience functions are set correctly self.failUnlessEqual(len(project.get_sites()), 1)
def setUp(self): optparser = BaseOptions() optparser.parseOptions([ 'dummyfile.xml', '--debug=%s' % logging._levelNames[log.level].lower() ]) self.defaults = RawConfigParser() configfiles = self.defaults.read(TESTCONF) xmldata = """ <project name="testproj" code="01"> <site name="sitea" type="primary" location="testlab"> <filer name="filer1" type="filer"> <vfiler name="vftest01"> <aggregate type="root" name="aggr0"/> <aggregate name="aggr01"> <volume name="blah"> </volume> </aggregate> </vfiler> </filer> </site> </project> """ node = etree.fromstring(xmldata) self.project = Project() self.project.configure_from_node(node, self.defaults, None)
def setUp(self): optparser = BaseOptions() optparser.parseOptions([ 'dummyfile.xml', '--debug=%s' % logging._levelNames[log.level].lower() ]) self.defaults = RawConfigParser() configfiles = self.defaults.read(TESTCONF) self.defaults.get('global', 'dns_domain_name') xmldata = """ <project name="test" code="qtree"> <site name="sitea" type="primary" location="testlab"> <filer name="testfiler1" type="filer"> <vfiler name="vfiler01" rootaggr="aggr0"> <aggregate name="aggr01"> <volume name="testvol1"/> </aggregate> </vfiler> </filer> </site> </project> """ node = etree.fromstring(xmldata) self.proj = Project() self.proj.configure_from_node(node, self.defaults, None) self.volume = self.proj.get_volumes()[0]
def setUp(self): optparser = BaseOptions() optparser.parseOptions(['dummyfile.xml', '--debug=%s' % logging._levelNames[log.level].lower()]) self.defaults = RawConfigParser() configfiles = self.defaults.read(TESTCONF) self.project = Project()
def test_parse_clustered_nearstore(self): """ Test parsing of clustered nearstore syntax """ xmlfile = "clustered_nearstore.xml" filepath = os.path.join(XML_FILE_LOCATION, xmlfile) tree = etree.parse(filepath) project = Project() project.configure_from_node(tree.getroot(), self.defaults, None)
def test_parse_drhostexports(self): """ Test parsing of dr host exports syntax """ xmlfile = "drhostexport_test.xml" filepath = os.path.join(XML_FILE_LOCATION, xmlfile) tree = etree.parse(filepath) project = Project() project.configure_from_node(tree.getroot(), self.defaults, None)
def test_parse_minimal(self): """ Test parsing of minimal XML file """ xmlfile = "minimal_parsable_config.xml" filepath = os.path.join(XML_FILE_LOCATION, xmlfile) tree = etree.parse(filepath) project = Project() project.configure_from_node(tree.getroot(), self.defaults, None)
def test_create_project_1_site_3_hosts(self): xmlfile = os.path.join(XML_FILE_LOCATION, "project_1_site_3_hosts.xml") tree = etree.parse(xmlfile) project = Project() project.configure_from_node(tree.getroot(), self.defaults, None) self.failUnlessEqual(len(project.get_sites()), 1) site = project.get_sites()[0] hosts = project.get_sites()[0].get_hosts() self.failUnlessEqual(len(hosts), 3)
def load_testfile(self, filename): """ Load a test file for verifying functionality """ filepath = os.path.join(XML_FILE_LOCATION, filename) tree = etree.parse(filepath) self.project = Project() self.project.configure_from_node(tree.getroot(), self.defaults, None) self.docgenerator = NetAppCommandsGenerator(self.project, self.defaults)
def setUp(self): optparser = BaseOptions() optparser.parseOptions([ 'dummyfile.xml', '--debug=%s' % logging._levelNames[log.level].lower() ]) self.defaults = RawConfigParser() configfiles = self.defaults.read(TESTCONF) xmldata = """ <project name="testproj" code="01"> <site name="testprimary" type="primary"> <vlan type="project" number="3003"> <network number="10.240.4.0/26" gateway="10.240.4.254"/> </vlan> <filer type="filer" name="filer01"> <vfiler> <ipaddress type="primary" ip="10.240.4.1"/> <aggregate name="aggr01" type="root"/> <aggregate name="aggr02"> <volume> <setref type="snapvault" name="default_primary"/> </volume> </aggregate> </vfiler> </filer> <filer type="nearstore" name="nearstore01"> </filer> </site> <snapvaultset name="default_primary" targetfiler="nearstore01" targetaggregate="aggr02"> <snapvaultdef basename="sv_daily"> <snapschedule>1@1</snapschedule> <snapvaultschedule>8@2</snapvaultschedule> </snapvaultdef> <snapvaultdef basename="sv_weekly"> <snapvaultschedule>13@sun@3</snapvaultschedule> </snapvaultdef> </snapvaultset> </project> """ node = etree.fromstring(xmldata) self.project = Project() self.project.configure_from_node(node, self.defaults, None) self.docgen = NetAppCommandsGenerator(self.project, self.defaults)
def setUp(self): optparser = BaseOptions() optparser.parseOptions([ 'dummyfile.xml', '--debug=%s' % logging._levelNames[log.level].lower() ]) self.defaults = RawConfigParser() configfiles = self.defaults.read(TESTCONF) xmldata = """<project name="testproj1" code="01" title="Test Project 1"/> """ self.project = Project()
def setUp(self): optparser = BaseOptions() optparser.parseOptions([ 'dummyfile.xml', '--debug=%s' % logging._levelNames[log.level].lower() ]) self.defaults = RawConfigParser() configfiles = self.defaults.read(TESTCONF) xmldata = """ <project name="testproj" code="01"> </project> """ node = etree.fromstring(xmldata) self.project = Project() self.project.configure_from_node(node, self.defaults, None)
def setUp(self): """ Load testing XML into a config instance. """ optparser = BaseOptions() optparser.parseOptions([ 'dummyfile.xml', '--debug=%s' % logging._levelNames[log.level].lower() ]) self.defaults = RawConfigParser() configfiles = self.defaults.read(TESTCONF) xmlfile = os.path.join(XML_FILE_LOCATION, "drhostexport_test.xml") tree = etree.parse(xmlfile) self.project = Project() self.project.configure_from_node(tree.getroot(), self.defaults, None)
def setUp(self): optparser = BaseOptions() optparser.parseOptions([ 'dummyfile.xml', '--debug=%s' % logging._levelNames[log.level].lower() ]) self.defaults = RawConfigParser() configfiles = self.defaults.read(TESTCONF) xmldata = """ <project name="testproj" code="01"> <site name="sitea" type="primary" location="testlab"> <host name="sitea_host01" operatingsystem="linux" /> <host name="sitea_host02" operatingsystem="windows" /> <host name="sitea_host03" operatingsystem="solaris" /> <vlan type="project" number="3001"> <network number="10.20.30.1/26" gateway="10.20.30.254"/> </vlan> <filer name="filer1" type="filer"> <vfiler name="vftest01" rootaggr="aggr0"> <ipaddress type="primary" ip="10.20.30.1"/> <aggregate name="aggr01"/> </vfiler> </filer> </site> </project> """ node = etree.fromstring(xmldata) self.project = Project() self.project.configure_from_node(node, self.defaults, None) self.sitea = self.project.get_sites()[0] self.filer1 = self.sitea.get_filers()[0] self.vfiler1 = self.filer1.get_vfilers()[0] self.aggr1 = self.vfiler1.get_aggregates()[0]
# Dynamic namespace information that is passed into document generators ns = {} # Load configuration file defaults = RawConfigParser() parsedfiles = defaults.read(optparser.options.configfile) if len(parsedfiles) == 0: raise ValueError("Cannot load configuration file: %s" % optparser.options.configfile) # Load the document generation plugins doc_plugins = load_doc_plugins(defaults) try: # load the configuration from a config file proj = Project() tree = etree.parse(optparser.options.definitionfile) proj.configure_from_node(tree.getroot(), defaults, None) except: log.critical("Cannot load configuration. Unhandled error condition:") import traceback traceback.print_exc() sys.exit(1) pass # Use the '-d' option to determine which document to generate docgen = doc_plugins[optparser.options.doctype](proj, defaults) #raise NotImplementedError("DocType of '%s' is not handled yet." % optparser.options.doctype) if optparser.options.outfile is not None: outf = open(optparser.options.outfile, "w")
def test_create_project_bare(self): xmlfile = os.path.join(XML_FILE_LOCATION, "project_bare.xml") tree = etree.parse(xmlfile) project = Project() project.configure_from_node(tree.getroot(), self.defaults, None)