(self)
| 60 | cmd.execute(params, folder='Invalid') |
| 61 | |
| 62 | def test_make_folder(self): |
| 63 | params = get_synced_params() |
| 64 | cmd = folder.FolderMakeCommand() |
| 65 | |
| 66 | def is_user_folder(rq): |
| 67 | self.assertEqual(rq['command'], 'folder_add') |
| 68 | self.assertEqual(rq['folder_type'], 'user_folder') |
| 69 | |
| 70 | def is_shared_folder(rq): |
| 71 | self.assertEqual(rq['command'], 'folder_add') |
| 72 | self.assertEqual(rq['folder_type'], 'shared_folder') |
| 73 | |
| 74 | def is_shared_folder_folder(rq): |
| 75 | self.assertEqual(rq['command'], 'folder_add') |
| 76 | self.assertEqual(rq['folder_type'], 'shared_folder_folder') |
| 77 | |
| 78 | KeeperApiHelper.communicate_expect([is_user_folder]) |
| 79 | cmd.execute(params, user_folder=True, folder='New Folder') |
| 80 | |
| 81 | KeeperApiHelper.communicate_expect([is_shared_folder]) |
| 82 | cmd.execute(params, shared_folder=True, folder='New Shared Folder') |
| 83 | |
| 84 | with mock.patch('keepercommander.commands.folder.user_choice') as mock_choice: |
| 85 | mock_choice.return_value = 'n' |
| 86 | KeeperApiHelper.communicate_expect([is_user_folder]) |
| 87 | cmd.execute(params, folder='New Folder') |
| 88 | self.assertTrue(KeeperApiHelper.is_expect_empty()) |
| 89 | |
| 90 | mock_choice.return_value = 'y' |
| 91 | KeeperApiHelper.communicate_expect([is_shared_folder]) |
| 92 | cmd.execute(params, folder='New Shared Folder') |
| 93 | self.assertTrue(KeeperApiHelper.is_expect_empty()) |
| 94 | |
| 95 | with mock.patch('builtins.input') as mock_input: |
| 96 | mock_choice.return_value = 'n' |
| 97 | mock_input.return_value = 'New Personal Folder' |
| 98 | KeeperApiHelper.communicate_expect([is_user_folder]) |
| 99 | cmd.execute(params) |
| 100 | self.assertTrue(KeeperApiHelper.is_expect_empty()) |
| 101 | |
| 102 | shared_folder = next(iter([x for x in params.folder_cache.values() if x.type == 'shared_folder'])) |
| 103 | with self.assertLogs(level=logging.WARNING): |
| 104 | cmd.execute(params, folder=shared_folder.name) |
| 105 | |
| 106 | params.current_folder = shared_folder.uid |
| 107 | KeeperApiHelper.communicate_expect([is_shared_folder_folder]) |
| 108 | cmd.execute(params, folder='New SubFolder') |
| 109 | self.assertTrue(KeeperApiHelper.is_expect_empty()) |
| 110 | |
| 111 | def test_remove_non_existing_folder(self): |
| 112 | params = get_synced_params() |
nothing calls this directly
no test coverage detected