def test_wrong_folder(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int))) self.socket = pop_engine.Socket('another_test', exampleproject_path, "0.0.0", funcs) with self.assertRaises(pop_engine.PluginError): self.socket.plug("example2")
def test_wrong_version_format(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int))) self.socket = pop_engine.Socket('example_project', exampleproject_path, "0.0.0", funcs) with self.assertRaises(pop_engine.PluginError): self.socket.plug("example_wrong_ver_for")
def test_withoutpy(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), pop_engine.gen_functionDS('a', None))) socket = pop_engine.Socket('example_project', exampleproject_path, "0.0.0", 'example2') self.assertEqual(socket.functions, funcs)
def test_wrong_folder(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), pop_engine.gen_functionDS('a', None))) with self.assertRaises(pop_engine.VersionError): socket = pop_engine.Socket('another_test', exampleproject_path, "1.0.0", 'example2.py')
def test_no_file(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), pop_engine.gen_functionDS('a', None))) with self.assertRaises(FileNotFoundError): socket = pop_engine.Socket('example_project', exampleproject_path, "0.0.0", 'not_here')
def test_wrong_interface(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, str))) self.socket = pop_engine.Socket('example_project', exampleproject_path, "0.0.0", funcs) with self.assertRaises(pop_engine.FunctionInterfaceError): self.socket.plug("example2")
def test_function_doesnt_exist(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), pop_engine.gen_functionDS('does_not_exist', None))) self.socket = pop_engine.Socket('example_project', exampleproject_path, "0.0.0", funcs) with self.assertRaises(pop_engine.LackOfFunctionsError): self.socket.plug("example2")
def test_create_plugin_already_exists(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), pop_engine.gen_functionDS('a', None))) socket = pop_engine.Socket('example_project', exampleproject_path, "0.0.0", 'example2.py') with self.assertRaises(FileExistsError): socket.generate_template('example2.py')
def test_partial_compatibility(self): funcs = dict(( pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), )) self.socket = pop_engine.Socket('example_project', exampleproject_path, "0.0.0", funcs) self.socket.plug("example_compatible") self.assertEqual(self.socket.get_plugin_name(), 'example_compatible')
def test_import_folder(self): funcs = dict(( pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), )) self.socket = pop_engine.Socket('example_project', exampleproject_path, "0.0.0", funcs) self.socket.plug("test_folder") self.assertEqual(self.socket.get_plugin_name(), 'test_folder')
def test_changed_names(self): funcs = dict(( pop_engine.gen_functionDS('ger', int, int, int), pop_engine.gen_functionDS('fe', int, int, int), )) self.socket = pop_engine.Socket('example_project', "<> test <>", "0.0.0", funcs) with self.assertRaises(pop_engine.LackOfFunctionsError): self.socket.fits(example1)
def test_plugin_doesnt_exist(self): funcs = dict(( pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), )) self.socket = pop_engine.Socket('example_project', exampleproject_path, "0.0.0", funcs) with self.assertRaises(FileNotFoundError): self.socket.plug("does_not_exist")
def test_good_import(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), pop_engine.gen_functionDS('random', int), pop_engine.gen_functionDS('str_int_none', None, str, int))) self.socket = pop_engine.Socket('example_project', "<> test <>", "0.0.0", funcs) self.assertTrue(self.socket.fits(example1))
def setUp(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), pop_engine.gen_functionDS('sub_wrongin', int, int, int), pop_engine.gen_functionDS('sub_wrongout', int, int, int), pop_engine.gen_functionDS('random', int), pop_engine.gen_functionDS('str_int_none', None, str, int))) self.socket = pop_engine.Socket('example_project', "<> test <>", "0.0.0", funcs)
def test_create_plugin(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), pop_engine.gen_functionDS('a', None))) socket = pop_engine.Socket('example_project', exampleproject_path, "0.0.0", 'example2.py') socket.generate_template('test_plugin') tested = os.path.isfile(f"{exampleproject_path}/test_plugin.py") os.remove(f"{exampleproject_path}/test_plugin.py") self.assertTrue(tested)
def test_plugin_change(self): funcs = dict(( pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), )) self.socket = pop_engine.Socket('example_project', exampleproject_path, "0.0.0", funcs) self.socket.plug("example2") self.socket.plug("example2_") self.assertEqual(self.socket.get_plugin_name(), "example2_")
def test_find_plugin(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int))) self.socket = pop_engine.Socket('example_project', exampleproject_path, "0.0.0", funcs) tested = self.socket.find_plugins() self.assertSetEqual( set(tested), { 'example2', 'example2_', 'example_compatible', 'example_wrong_ver_for', 'test_folder', 'example_utils' })
def test_wrong_return(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), pop_engine.gen_functionDS('sub_wrongout', int, int, int), pop_engine.gen_functionDS('random', int), pop_engine.gen_functionDS('str_int_none', None, str, int))) self.socket = pop_engine.Socket('example_project', "<> test <>", "0.0.0", funcs) with self.assertRaises(pop_engine.FunctionInterfaceError): self.socket.fits(example1)
def test_lack_function(self): funcs = dict((pop_engine.gen_functionDS('add', int, int, int), pop_engine.gen_functionDS('sub', int, int, int), pop_engine.gen_functionDS('addstring', str, str, str), pop_engine.gen_functionDS('sub_wrongout', int, int, int), pop_engine.gen_functionDS('random', int), pop_engine.gen_functionDS('str_int_none', None, str, int))) self.socket = pop_engine.Socket('example_project', "<> test <>", "0.0.0", funcs) with self.assertRaises(pop_engine.LackOfFunctionsError): self.socket.fits(example1)
print( 'Larch wymaga co najmniej Pythona 3.9 do działania. Zainstaluj go ze strony https://www.python.org/downloads/' ) input() sys.exit() manager = FileManager(DEBUG, VERSION) manager.download_required(FORCE_DOWNLOAD) # Log clearing if os.path.exists('log.log'): os.remove('log.log') # UserInterface socket generation UI = pop.Socket('UserInterface', os.path.abspath('plugins/UserInterface'), '0.0.1', '__template__') # App run try: configs = os.listdir(os.path.abspath('config')) except FileNotFoundError: os.mkdir('config') configs = [] if not configs: UI.plug('CLI') else: p = 'config/config.json' if 'config.json' in configs else configs[0] with open(p, 'r') as file: config = json.load(file) UI.plug(config['chosen_plugins']['UserInterface'])