def test_save_exception(self): result = CodeTemplatePersistence.save_xml(self.code_template, path="/nao") self.assertEquals(result, False) result = CodeTemplatePersistence.save_xml(self.code_template, path="/etc") self.assertEquals(result, False)
def add_code_template(cls, code_template): # save it from mosaicode.system import System as System System() path = System.get_user_dir() + "/extensions/" path = path + code_template.language + "/" CodeTemplatePersistence.save_xml(code_template, path)
def test_save_xml(self): # Second condition file_name = "/tmp/" + self.code_template.type + ".xml" result = CodeTemplatePersistence.save_xml(self.code_template, "/tmp/") os.chmod(file_name, 000) result = CodeTemplatePersistence.save_xml(self.code_template, "/tmp/") result = CodeTemplatePersistence.save_xml(self.code_template, file_name) self.assertEquals(result, False) # Second condition port = Port() port.label = "test" PortPersistence.save_xml(port, "/tmp/") file_name = "/tmp/" + port.type + ".xml" result = CodeTemplatePersistence.load_xml(file_name) self.assertNotEquals(result, True) os.remove(file_name) CodeTemplatePersistence.save_xml(self.code_template, "/tmp/") file_name = "/tmp/" + self.code_template.type + ".xml" result = CodeTemplatePersistence.load_xml(file_name) self.assertEquals(result, None) os.remove(file_name) self.code_template.name = "Test" CodeTemplatePersistence.save_xml(self.code_template, "/tmp/") file_name = "/tmp/" + self.code_template.type + ".xml" result = CodeTemplatePersistence.load_xml(file_name) self.assertNotEquals(result, None)
def export_python(cls): from mosaicode.system import System as System System() for code_template in System.code_templates: print "Exporting code template " + code_template CodeTemplatePersistence.save_python( System.code_templates[code_template])
def test_load_save(self): port = Port() port.label = "test" port.hint = "test" result = PortPersistence.load_xml("/this file does not exist") self.assertEquals(result, None) result = PortPersistence.save_xml(port, "/etc/") self.assertEquals(result, False) result = PortPersistence.save_xml(port, "/impossible to create") self.assertEquals(result, False) result = PortPersistence.save_xml(port, "/tmp/") self.assertEquals(result, True) file_name = "/tmp/" + port.hint + ".xml" result = PortPersistence.load_xml(file_name) os.remove(file_name) port.type = "" result = PortPersistence.save_xml(port, "/tmp/") file_name = "/tmp/" + port.hint + ".xml" result = PortPersistence.load_xml(file_name) self.assertEquals(result, None) os.remove(file_name) code_template = self.create_code_template() CodeTemplatePersistence.save_xml(code_template, "/tmp/") file_name = "/tmp/" + code_template.name + ".xml" result = PortPersistence.load_xml(file_name) os.remove(file_name)
def export_xml(cls): from mosaicode.system import System as System System() code_templates = System.get_code_templates() for code_template in code_templates: path = System.get_user_dir() + "/extensions/" path = path + code_template.language + "/" CodeTemplatePersistence.save_xml(code_templates[code_template])
def test_load_save_empty(self): self.code_template.name = "" self.code_template.type = "" CodeTemplatePersistence.save_xml(self.code_template, "/tmp/") file_name = "/tmp/" + self.code_template.type + ".xml" result = CodeTemplatePersistence.load_xml(file_name) self.assertEquals(result, None) os.remove("/tmp/.xml")
def add_code_template(cls, code_template): # save it from mosaicode.system import System as System System() path = os.path.join(System.get_user_dir(), "extensions") path = os.path.join(path, code_template.language) path = os.path.join(path, "codetemplates") CodeTemplatePersistence.save(code_template, path)
def export_xml(cls): from mosaicode.system import System as System System() code_templates = System.get_code_templates() for key in code_templates: path = System.get_user_dir() path = os.path.join(path, 'extensions', code_templates[key].language, 'codetemplates') CodeTemplatePersistence.save_xml(code_templates[key], path)
def test_save_python(self): result = CodeTemplatePersistence.save_python(self.code_template, "/tmp/") self.assertEquals(result, True) file_name = "/tmp/" + self.code_template.name.lower().replace( ' ', '_') + ".py" os.chmod(file_name, 000) result = CodeTemplatePersistence.save_python(self.code_template, file_name) self.assertEquals(result, False) os.remove(file_name)
def test_load(self): # First condition result = CodeTemplatePersistence.load_xml("This file does not exist") self.assertEquals(result, None) # Second condition port = Port() port.label = "test" PortPersistence.save_xml(port, "/tmp/") file_name = "/tmp/" + port.type + ".xml" result = CodeTemplatePersistence.load_xml(file_name) self.assertNotEquals(result, True) os.remove(file_name) CodeTemplatePersistence.save_xml(self.code_template, "/tmp/") file_name = "/tmp/" + self.code_template.type + ".xml" result = CodeTemplatePersistence.load_xml(file_name) self.assertEquals(result, None) os.remove(file_name) self.code_template.name = "Test" CodeTemplatePersistence.save_xml(self.code_template, "/tmp/") file_name = "/tmp/" + self.code_template.type + ".xml" result = CodeTemplatePersistence.load_xml(file_name) self.assertEquals(result.equals(self.code_template), True) os.remove(file_name)
class TestCodeTemplatePersistence(TestCase): def setUp(self): """Do the test basic setup.""" self.codetemplatepersistence = CodeTemplatePersistence() # ----------------------------------------------------------------------x def test_load(self): # TESTANDO COM NOME DE ARQUIVO = None file_name = "" self.assertIsNone(self.codetemplatepersistence.load(file_name)) # TESTANDO COM NOME DE ARQUIVO INEXISTENTE file_name = "/home/lucas/mosaicode/extensions/teste.py" self.assertIsNone(self.codetemplatepersistence.load(file_name)) # TESTANDO COM NOME DE ARQUIVO FALSO (INCOMPATÍVEL) file_name = "/home/lucas/mosaicode/extensions/a.py" self.assertIsNone(self.codetemplatepersistence.load(file_name)) # TESTANDO COM NOME DE ARQUIVO VERDADEIRO file_name = "/home/lucas/mosaicode/extensions/mosaicode.model.codetemplate.xml" self.assertIsNone(self.codetemplatepersistence.load(file_name)) # TESTANDO COM NOME DE ARQUIVO VERDADEIRO MAS COM RETORNO file_name = "/home/lucas/mosaicode/extensions/mosaicode.model.codetemplate_teste.xml" self.assertIsNone(self.codetemplatepersistence.load(file_name)) # ----------------------------------------------------------------------x def test_save(self): # NÃO TRABALHA COM None # code_template = None # self.assertTrue(self.codetemplatepersistence.save(code_template)) code_template = CodeTemplate() self.assertTrue(self.codetemplatepersistence.save(code_template)) code_template.name = "Template de teste" self.assertTrue(self.codetemplatepersistence.save(code_template)) # ----------------------------------------------------------------------x def test_save_python(self): # NÃO TRABALHA COM None # code_template = None # self.assertFalse(self.codetemplatepersistence.save_python(code_template)) code_template = CodeTemplate() self.assertTrue( self.codetemplatepersistence.save_python(code_template)) code_template.name = "Template de teste" self.assertTrue( self.codetemplatepersistence.save_python(code_template))
def test_load_save(self): System() prefs = System.get_preferences() PreferencesPersistence.save(prefs, "/tmp") PreferencesPersistence.save(prefs, "/etc") PreferencesPersistence.load("/tmp") PreferencesPersistence.load("/not") os.remove("/tmp/" + prefs.conf_file_path) code_template = self.create_code_template() code_template.name = "configuration" CodeTemplatePersistence.save_xml(code_template, "/tmp/") result = PreferencesPersistence.load("/tmp") file_name = "/tmp/" + code_template.name + ".xml" os.remove(file_name)
def test_load_wrong_file(self): port = Port() port.hint = "test" PortPersistence.save_xml(port, path="/tmp/") file_name = "/tmp/" + port.hint + ".xml" result = CodeTemplatePersistence.load_xml(file_name) self.assertNotEquals(result, True) os.remove(file_name)
def test_load_save(self): self.code_template = self.create_code_template() CodeTemplatePersistence.save_xml(self.code_template, "/tmp/") file_name = "/tmp/" + self.code_template.name + ".xml" result = CodeTemplatePersistence.load_xml(file_name) os.remove(file_name)
def load(cls, file_name): CodeTemplatePersistence.load(file_name)
def add_code_template(cls, code_template): # first, save it CodeTemplatePersistence.save(code_template) # Then add it to system from mosaicode.system import System System.code_templates[code_template.type] = code_template
def setUp(self): """Do the test basic setup.""" self.codetemplatepersistence = CodeTemplatePersistence()
def export_extensions(self): from mosaicode.system import System as System System() result = True folder = "extension-" + datetime.datetime.now().strftime("%Y-%m-%d") # Export ports ports = System.get_ports() for key in ports: path = System.get_user_dir() path = os.path.join(path, folder, ports[key].language, 'ports') result = result and PortPersistence.save(ports[key], path) # Export Blocks blocks = System.get_blocks() result = True for key in blocks: path = System.get_user_dir() path = os.path.join(path, folder, blocks[key].language, 'blocks', blocks[key].extension, blocks[key].group) result = result and BlockPersistence.save(blocks[key], path) # Export Code Templates code_templates = System.get_code_templates() result = True for key in code_templates: path = System.get_user_dir() path = os.path.join(path, folder, code_templates[key].language, 'codetemplates') result = result and CodeTemplatePersistence.save( code_templates[key], path) # Export examples path = System.get_user_dir() path = os.path.join(path, "extensions") examples = System.get_examples() for example in examples: relpath = os.path.relpath(example, path) path = System.get_user_dir() path = os.path.join(path, folder, relpath) os.makedirs(os.path.dirname(path), exist_ok=True) shutil.copy2(example, path) # Create a zip file to the extension path = System.get_user_dir() path = os.path.join(path, folder+".zip") zip_file = zipfile.ZipFile(path, 'w') path = System.get_user_dir() path = os.path.join(path, folder) for folderName, subfolders, filenames in os.walk(path): for filename in filenames: filePath = os.path.join(folderName, filename) #create complete filepath of file in directory # Add file to zip zip_file.write(filePath, os.path.relpath(filePath, path)) zip_file.close() path = System.get_user_dir() path = os.path.join(path, folder) shutil.rmtree(path) # create a publish file filename = "resource.txt" path = System.get_user_dir() path = os.path.join(path, filename) f = open(path, "w") f.write(folder + ".zip") f.close() if result: MessageDialog( "Success", "File " + folder + ".zip created successfully!", self.main_window).run() else: MessageDialog( "Error", "Could not export extension", self.main_window).run() return result
def add_code_template(cls, code_template): # save it CodeTemplatePersistence.save(code_template)
def test_load_empty(self): result = CodeTemplatePersistence.load_xml("This file does not exist") self.assertEquals(result, None)
def test_load_dir(self): result = CodeTemplatePersistence.load_xml("/tmp") self.assertEquals(result, None)
def load(cls, file_name): return CodeTemplatePersistence.load_xml(file_name)
def test_load_save_empty(self): result = CodeTemplatePersistence.save_xml(self.code_template, path=None) self.assertEquals(result, False)
def test_save_wrong_dir(self): result = CodeTemplatePersistence.save_xml(self.code_template, path="/nao") self.assertEquals(result, False)
def export_python(cls): from mosaicode.system import System as System System() code_templates = System.get_code_templates() for code_template in code_templates: CodeTemplatePersistence.save_python(code_templates[code_template])