Beispiel #1
0
    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")
Beispiel #2
0
    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")
Beispiel #3
0
    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")
Beispiel #4
0
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
Beispiel #5
0
    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")