예제 #1
0
 def test_compile(self):
     project_path = os.path.join(os.path.dirname(__file__), 'test_file',
                                 'test_compile_init_box')
     runner = CliRunner()
     try:
         os.mkdir(project_path)
         result = runner.invoke(main, ['-p', project_path, 'init'])
         self.assertEqual(0, result.exit_code)
         init_info = [
             'Downloading...', 'Unpacking...', 'Unbox successful. Enjoy it!'
         ]
         info_list = result.output.split('\n')
         for index, info in enumerate(init_info):
             self.assertEqual(info, info_list[index])
         result = runner.invoke(main, ['-p', project_path, 'compile'])
         self.assertEqual(0, result.exit_code)
         compile_info = [
             'Compiling...', 'Compile hello_ontology.py',
             'Compiled, Thank you', 'Generate avm file successful...'
         ]
         info_list = result.output.split('\n')
         for index, info in enumerate(compile_info):
             self.assertEqual(info, info_list[index])
     finally:
         ensure_remove_dir_if_exists(project_path)
예제 #2
0
 def test_itx_info(self):
     project_path = os.path.join(os.path.dirname(__file__), 'file',
                                 'test_init_empty')
     try:
         result = self.runner.invoke(main, [
             'info', 'tx',
             '3fa996e1009e1194336e1c79ca2b2cfebce37a90a4281f4068b86fbae228098b'
         ])
         # info_list = result.output.split('\n')
         print(result.output)
     finally:
         ensure_remove_dir_if_exists(project_path)
예제 #3
0
 def test_unbox(self):
     box_name = 'tutorialtoken'
     project_path = os.path.join(os.getcwd(), 'data', 'test_unbox', box_name)
     ensure_path_exists(project_path)
     try:
         runner = CliRunner()
         result = runner.invoke(main, ['unbox', '-h'])
         info_list = result.output.split('\n')
         print(info_list)
         result = runner.invoke(main, ['-p', project_path, 'unbox', box_name])
         info_list = result.output.split('\n')
         print(info_list)
     finally:
         ensure_remove_dir_if_exists(project_path)
예제 #4
0
 def handle_ignorance(repo_to_path: str = ''):
     print('Unpacking...')
     box_ignore_file_path = os.path.join(repo_to_path, 'punica-box.json')
     try:
         with open(box_ignore_file_path, 'r') as f:
             box_ignore_files = json.load(f)['ignore']
     except FileNotFoundError:
         return
     remove_file_if_exists(box_ignore_file_path)
     for file in box_ignore_files:
         try:
             file_path = os.path.join(repo_to_path, file)
             ensure_remove_dir_if_exists(file_path)
             remove_file_if_exists(file_path)
         except (PermissionError, FileNotFoundError):
             pass
예제 #5
0
 def test_init_empty_project(self):
     project_path = os.path.join(os.path.dirname(__file__), 'file', 'test_init_empty')
     try:
         result = self.runner.invoke(main, ['--project', project_path, 'init'])
         info_list = result.output.split('\n')
         init_empty_info = ['Downloading...', 'Unpacking...', 'Unbox successful. Enjoy it!']
         for index, info in enumerate(init_empty_info):
             self.assertEqual(info, info_list[index])
         self.assertEqual(0, result.exit_code)
         init_config = InitConfig(project_path)
         self.assertTrue(os.path.exists(init_config.src_path()))
         self.assertTrue(os.path.exists(init_config.test_path()))
         self.assertTrue(os.path.exists(init_config.wallet_path()))
         self.assertTrue(os.path.exists(init_config.contract_path()))
     finally:
         ensure_remove_dir_if_exists(project_path)
예제 #6
0
 def handle_ignorance(self) -> bool:
     unpack_spinner = Halo(text="Unpacking...", spinner='dots')
     unpack_spinner.start()
     box_ignore_file_path = path.join(self.project_dir, 'punica-box.json')
     try:
         with open(box_ignore_file_path, 'r') as f:
             box_ignore_files = json.load(f)['ignore']
         remove_file_if_exists(box_ignore_file_path)
     except FileNotFoundError:
         unpack_spinner.fail()
         return False
     for file in box_ignore_files:
         try:
             file_path = path.join(self.project_dir, file)
             ensure_remove_dir_if_exists(file_path)
             remove_file_if_exists(file_path)
         except (PermissionError, FileNotFoundError):
             unpack_spinner.fail()
             return False
     unpack_spinner.succeed()
     return True
예제 #7
0
 def test_deploy_cmd(self, password):
     project_path = os.path.join(os.path.dirname(__file__), 'data',
                                 'test_deploy')
     password.return_value = 'password'
     try:
         os.mkdir(project_path)
         result = self.runner.invoke(main, ['-p', project_path, 'init'])
         self.assertEqual(0, result.exit_code)
         init_info = [
             'Downloading...', 'Unpacking...',
             'Unbox successful. Enjoy it!', ''
         ]
         info_list = result.output.split('\n')
         for index, info in enumerate(info_list):
             self.assertEqual(init_info[index], info)
         result = self.runner.invoke(main, ['-p', project_path, 'compile'])
         print(result.output)
         self.assertEqual(0, result.exit_code)
         info_list = result.output.split('\n')
         print(info_list)
     finally:
         ensure_remove_dir_if_exists(project_path)
예제 #8
0
 def tearDown(self):
     ensure_remove_dir_if_exists(path.join(self.project_path, 'build'))