Пример #1
0
 def test_remove_relations_with_document(self):
     context = Context()
     context.create_document(1, 'python.pdf', 'pdf', '/tmp/python.pdf')
     context.create_document(2, 'rust.pdf', 'pdf', '/tmp/rust.pdf')
     context.create_document(3, 'lua.pdf', 'pdf', '/tmp/lua.pdf')
     context.create_tag(1, 'book')
     context.create_relation(1, 1)
     context.create_relation(2, 1)
     context.create_relation(3, 1)
     context.destroy_document(1)
     self.assertEqual(context.count_relations(), 2)
     context.destroy_document(3)
     self.assertEqual(context.count_relations(), 1)
     context.destroy_document(2)
     self.assertEqual(context.count_relations(), 0)
Пример #2
0
 def test_relation_creation(self):
     logger = Logger(path=TEST_LOG_PATH)
     operation = {
         'method': 'create_document',
         'id': 456,
         'name': 'first.txt',
         'type': 'txt',
         'path': '/tmp/first.txt'
     }
     logger.save_operation(operation)
     operation = {'method': 'create_tag', 'id': 123, 'name': 'python'}
     logger.save_operation(operation)
     operation = {
         'method': 'create_relation',
         'document_id': 456,
         'tag_id': 123
     }
     logger.save_operation(operation)
     context = Context()
     logger.restore_context(context)
     self.assertEqual(context.count_documents(), 1)
     self.assertEqual(context.count_tags(), 1)
     self.assertEqual(context.count_relations(), 1)
     self.assertEqual(context.find_document_ids([123]), [456])
     self.assertEqual(context.find_tag_ids([456]), [123])
Пример #3
0
 def test_empty_context(self):
     logger = Logger(path=TEST_LOG_PATH)
     context = Context()
     logger.restore_context(context)
     self.assertEqual(context.count_documents(), 0)
     self.assertEqual(context.count_tags(), 0)
     self.assertEqual(context.count_relations(), 0)
Пример #4
0
 def test_multiple_tags_and_documents(self):
     context = Context()
     context.create_document(1, 'python.pdf', 'pdf', '/tmp/python.pdf')
     context.create_document(2, 'tkinter.pdf', 'pdf', '/tmp/tkinter.pdf')
     context.create_document(3, 'lua.pdf', 'pdf', '/tmp/lua.pdf')
     context.create_document(4, 'index.py', 'py', '/tmp/index.py')
     context.create_tag(5, 'book')
     context.create_tag(6, 'python')
     context.create_relation(1, 5)
     context.create_relation(2, 5)
     context.create_relation(3, 5)
     context.create_relation(1, 6)
     context.create_relation(2, 6)
     context.create_relation(4, 6)
     self.assertEqual(context.count_relations(), 6)
     book_ids = context.find_document_ids([5])
     self.assertEqual(book_ids, [1, 2, 3])
     python_ids = context.find_document_ids([6])
     self.assertEqual(python_ids, [1, 2, 4])
     python_book_ids = context.find_document_ids([5, 6])
     self.assertEqual(python_book_ids, [1, 2])
     document_ids = context.find_document_ids([])
     self.assertEqual(document_ids, [1, 2, 3, 4])
     tag_ids = context.find_tag_ids([1, 2])
     self.assertEqual(tag_ids, [5, 6])
     tag_ids = context.find_tag_ids([1, 3])
     self.assertEqual(tag_ids, [5])
     tag_ids = context.find_tag_ids([3, 4])
     self.assertEqual(tag_ids, [])
Пример #5
0
 def test_empty_database(self):
     context = Context()
     self.assertEqual(context.count_documents(), 0)
     self.assertEqual(context.count_tags(), 0)
     self.assertEqual(context.count_relations(), 0)