def test_2_doc_exist_create(self): # create database schema_def = { "description": "this is my database", "unique": "r8and0mseEd901", "encoder": "example.com/autoencoder/API", "codelen": 3, "metadata": { "name": "string", "age": "number" } } database_name = router.create_database(schema_def) # add existing document docs = [{ "metadata": { "name": "name1", "age": 20 }, "code": [1, 2, 3] }, { "metadata": { "name": "name2", "age": 30 }, "code": [1, 2, 3] }] cids = router.insert_docs(docs, database_name) self.assertEqual(len(cids), len(docs), "Document creation failed")
def test_1a_doc_incomplete_create(self): # create database schema_def = { "description": "this is my database", "unique": "r8and0mseEd901", "encoder": "example.com/autoencoder/API", "codelen": 3, "metadata": { "name": "string", "age": "number" } } database_name = router.create_database(schema_def) # add document with "code" missing docs = [{ "metadata": { "name": "name1", "age": 20 } }, { "metadata": { "name": "name2", "age": 30 } }] cids = router.insert_docs(docs, database_name) self.assertEqual(cids, [None, None], "Document creation test failed")
def test_3_db_fresh_doc_create(self): # create random DB name database_name = "BRANDOM" # add existing document docs = [{ "metadata": { "name": "name1", "age": 20 }, "code": [1, 2, 3] }, { "metadata": { "name": "name2", "age": 30 }, "code": [1, 2, 3] }] cids = router.insert_docs(docs, database_name) self.assertEqual(len(cids), 0, "Document creation failed")
def doc_insert (): """ insert documents """ # get parameters params = extract_request_params(request)["data"] if not params: # Build error response return { "success": False, "message": "Invalid parameters" }, 400 if "docs" in params and "database_name" in params: cids = router.insert_docs(params.get("docs"), params.get("database_name")) # Build response return { "success": True, "ids": cids }, 200
def test_5b_doc_exist_delete_large(self): # create database schema_def = { "description": "this is my database", "unique": "r8and0mseEd902", "encoder": "example.com/autoencoder/API", "codelen": 100, "metadata": { "name": "string", "age": "number" } } database_name = router.create_database(schema_def) # add small epoch document docs = [] # create special doc matrix_r_spec = np.random.rand(1, 100) docs.append({ "metadata": { "name": "special", "age": 11 }, "code": matrix_r_spec[0].tolist() }) cids_spec = router.insert_docs(docs, database_name) # create other docs for _ in range(120): docs = [] # create random matrix matrix_r = np.random.rand(100, 100) # create documents for item in matrix_r: docs.append({ "metadata": { "name": "generic", "age": 10 }, "code": item.tolist() }) cids = router.insert_docs(docs, database_name) time.sleep(60) # check for doc existance k = 2 docs, dists = router.search([matrix_r_spec[0].tolist()], k, None, database_name) self.assertEqual(docs[0][0]["metadata"]["name"], "special", "Doc doesn't exist") # delete special doc cids = router.delete_docs(cids_spec, database_name) time.sleep(60) # check for doc existance k = 2 docs, dists = router.search([matrix_r_spec[0].tolist()], k, None, database_name) self.assertEqual(len(docs[0]), k, "Doc deletion failed") self.assertEqual(docs[0][0]["metadata"]["name"], "generic", "Doc deletion failed")