import unittest import os import DataBase.mongoDB as db import json from pymongo import MongoClient from dotenv import load_dotenv class DataBaseTests(unittest.TestCase): def setUp(self): file_path = os.path.dirname(__file__) + r"\testData.json" with open(file_path) as file: self.test_data = json.load(file) self.test_data1 = self.test_data["test_data1"] def tearDown(self): data_base = db.get_db() record = data_base.test_books record.delete_many({}) def test_upload(self): data_base = db.get_db() record = data_base.test_books db.insert_document(self.test_data1, 0) self.assertEqual(record.count_documents({}), 1) def test_download(self): db.insert_document(self.test_data1, 0) json_file = json.loads(db.get_documents_json(0, {"title": "Becoming"})) no_id_test_data1 = self.test_data1 no_id_test_data1.pop("_id") self.assertEqual(json_file["books"][0], no_id_test_data1) def test_update(self): data_base = db.get_db() record = data_base.test_books db.insert_document(self.test_data1, 0) db.update_dicts(0, {"title": "Becoming"}, {"rating_count": 1000000}) self.assertEqual(record.count_documents({"rating_count": self.test_data1["rating_count"]}), 0) self.assertEqual(record.count_documents({"rating_count": 1000000}), 1) def test_delete(self): data_base = db.get_db() record = data_base.test_books db.insert_document(self.test_data1, 0) db.clean(0, {}) self.assertEqual(record.count_documents({}), 0) if __name__ == '__main__': unittest.main() # db.clean(0, {})