| 14 | |
| 15 | |
| 16 | class TestRecord(TestCase): |
| 17 | vault_env = VaultEnvironment() |
| 18 | expected_commands = [] |
| 19 | |
| 20 | def setUp(self): |
| 21 | self.communicate_mock = mock.patch('keepercommander.api.communicate').start() |
| 22 | self.communicate_mock.side_effect = KeeperApiHelper.communicate_command |
| 23 | self.communicate_mock = mock.patch('keepercommander.api.communicate_rest').start() |
| 24 | self.communicate_mock.side_effect = TestRecord.communicate_rest_success |
| 25 | TestRecord.expected_commands.clear() |
| 26 | |
| 27 | def tearDown(self): |
| 28 | mock.patch.stopall() |
| 29 | |
| 30 | def test_parse_field(self): |
| 31 | prf = record_edit.RecordEditMixin.parse_field('text.aaa==bbb=ccc') |
| 32 | self.assertEqual(prf.type, 'text') |
| 33 | self.assertEqual(prf.label, 'aaa=bbb') |
| 34 | self.assertEqual(prf.value, 'ccc') |
| 35 | |
| 36 | prf = record_edit.RecordEditMixin.parse_field('aaa==bbb==ccc=') |
| 37 | self.assertEqual(prf.type, '') |
| 38 | self.assertEqual(prf.label, 'aaa=bbb=ccc') |
| 39 | self.assertEqual(prf.value, '') |
| 40 | |
| 41 | prf = record_edit.RecordEditMixin.parse_field('aaa====bbb= =ccc=') |
| 42 | self.assertEqual(prf.type, '') |
| 43 | self.assertEqual(prf.label, 'aaa==bbb') |
| 44 | self.assertEqual(prf.value, '=ccc=') |
| 45 | |
| 46 | def test_create_record(self): |
| 47 | params = get_synced_params() |
| 48 | r = vault.KeeperRecord.create(params, 'login') |
| 49 | |
| 50 | def test_add_command(self): |
| 51 | params = get_synced_params() |
| 52 | cmd = record_edit.RecordAddCommand() |
| 53 | |
| 54 | with mock.patch('keepercommander.api.sync_down'), \ |
| 55 | mock.patch('keepercommander.record_management.add_record_to_folder') as ar: |
| 56 | |
| 57 | added_record = None # type: Union[vault.PasswordRecord, vault.TypedRecord, None] |
| 58 | def artf(p, r, f): |
| 59 | nonlocal added_record |
| 60 | added_record = r |
| 61 | added_record.record_uid = utils.generate_uid() |
| 62 | ar.side_effect = artf |
| 63 | |
| 64 | with self.assertRaises(CommandError): |
| 65 | cmd.execute(params, force=True, title='New Record') |
| 66 | |
| 67 | added_record = None |
| 68 | self.assertRaises(CommandError, cmd.execute, params, force=True, title='New Record') |
| 69 | # cmd.execute(params, force=True, title='New Record', record_type='legacy', |
| 70 | # fields=['login=user@company.com', 'password=password', 'url=https://google.com/', 'AAA=BBB']) |
| 71 | # self.assertIsNotNone(added_record) |
| 72 | # self.assertEqual('New Record', added_record.title) |
| 73 | # self.assertIsInstance(added_record, vault.PasswordRecord) |
nothing calls this directly
no test coverage detected