def test_django_with_attic(self): """ [XOS-GenX] Generate django output from test.xproto """ args = FakeArgs() args.files = [TEST_XPROTO, VROUTER_XPROTO] args.target = 'django.xtarget' args.attic = TEST_ATTICS args.output = OUTPUT_DIR args.dest_extension = 'py' args.write_to_file = 'model' output = XOSGenerator.generate(args) # xosmodel has custom header attic self.assertIn('from xosmodel_header import *', output['XOSModel']) self.assertIn('class XOSModel(XOSBase):', output['XOSModel']) # vrouter port use the default header self.assertIn('header import *', output['VRouterPort']) self.assertIn('class VRouterPort(XOSBase):', output['VRouterPort']) #verify files xosmodel = OUTPUT_DIR + '/xosmodel.py' self.assertTrue(os.path.isfile(xosmodel)) xmf = open(xosmodel).read() self.assertIn('from xosmodel_header import *', xmf) self.assertIn('class XOSModel(XOSBase):', xmf) vrouterport = OUTPUT_DIR + '/vrouterport.py' self.assertTrue(os.path.isfile(vrouterport)) vrpf = open(vrouterport).read() self.assertIn('header import *', vrpf) self.assertIn('class VRouterPort(XOSBase):', vrpf)
def test_file_methods(self): target = XProtoTestHelpers.write_tmp_target(""" {%% if file_exists("%s") %%} {{ include_file("%s") }} {%% endif %%} """ % (TEST_FILE, TEST_FILE)) args = FakeArgs() args.inputs = '' args.target = target args.attic = OUTPUT_DIR output = XOSProcessor.process(args) self.assertIn(TEST_OUTPUT, output)
def test_file_methods(self): target = XProtoTestHelpers.write_tmp_target( """ {%% if file_exists("%s") %%} {{ include_file("%s") }} {%% endif %%} """%(TEST_FILE, TEST_FILE) ) args = FakeArgs() args.inputs = '' args.target = target args.attic = OUTPUT_DIR output = XOSGenerator.generate(args) self.assertIn(TEST_OUTPUT, output)
def test_django_with_base(self): args = FakeArgs() args.files = [TEST_XPROTO, BASE_XPROTO] args.target = 'django.xtarget' args.attic = TEST_ATTICS args.output = OUTPUT_DIR args.dest_extension = 'py' args.write_to_file = 'model' output = XOSGenerator.generate(args) # verify files xosmodel = OUTPUT_DIR + '/xosmodel.py' self.assertTrue(os.path.isfile(xosmodel)) xmf = open(xosmodel).read() self.assertIn('from xosmodel_header import *', xmf) self.assertIn('class XOSModel(XOSBase):', xmf) xosbase = OUTPUT_DIR + '/xosbase.py' self.assertTrue(os.path.isfile(xosbase)) xbf = open(xosbase).read() self.assertIn('header import *', xbf) self.assertIn('class XOSBase(models.Model, PlModelMixIn):', xbf)