Ejemplo n.º 1
0
    def test_save_document(self):
        """Test that only the five most recent uploaded items per user
        are saved in the database.
        """
        with app.app_context():
            fs = gridfs.GridFS(mongo.db, 'document_fs')
            documents = fs.find( {'email': self._email } )
            for document in documents:
                fs.delete(document._id)

            count = 0
            documents = fs.find( {'email': self._email } )
            for doc in documents:
                count += 1
            self.assertEqual(count, 0)

            file_name = 'a.txt'
            path = os.path.join(self._path, 'docs', file_name)
            doc_ids = []
            for i in range(7):
                with open(path, 'rb') as test_file:
                    _id = save_document(file_handle=test_file, 
                                        document_name=file_name, email=self._email)
                    self.assertIsNotNone(_id)
                    doc_ids.append(_id)

            count = 0
            documents = fs.find( {'email': self._email } )
            for doc in documents:
                count += 1
            self.assertEqual(count, 3)

            for i in range(2):
                self.assertFalse(fs.exists(_id=ObjectId(doc_ids[i]), email=self._email))
Ejemplo n.º 2
0
    def test_delete_document(self):
        with app.app_context():
            file_name = 'test.docx'
            path = os.path.join(self._path, 'docs', file_name)
            with open(path, 'rb') as test_file:
                _id = save_document(file_handle=test_file,
                                    document_name=file_name, email=self._email)
            self.assertIsNotNone(_id)
            delete_document(_id, self._email)

            retrieved_file = get_document(document_id=_id, email=self._email)
            self.assertIsNone(retrieved_file)
Ejemplo n.º 3
0
    def test_delete_document(self):
        with app.app_context():
            file_name = 'test.docx'
            path = os.path.join(self._path, 'docs', file_name)
            with open(path, 'rb') as test_file:
                _id = save_document(file_handle=test_file,
                                    document_name=file_name,
                                    email=self._email)
            self.assertIsNotNone(_id)
            delete_document(_id, self._email)

            retrieved_file = get_document(document_id=_id, email=self._email)
            self.assertIsNone(retrieved_file)
Ejemplo n.º 4
0
    def test_get_and_save_document(self):
        with app.app_context():
            file_name = 'test.docx'
            path = os.path.join(self._path, 'docs', file_name)
            with open(path, 'rb') as test_file:
                _id = save_document(file_handle=test_file, 
                                    document_name=file_name, email=self._email)

            self.assertIsNotNone(_id)
            retrieved_file = get_document(document_id=_id, email=self._email)
            retrieved_data = retrieved_file.read()

            with open(path, 'rb') as test_file:
                expected_data = test_file.read()
                self.assertEqual(len(expected_data), len(retrieved_data))
                self.assertTrue(expected_data == retrieved_data)
Ejemplo n.º 5
0
    def test_get_and_save_document(self):
        with app.app_context():
            file_name = 'test.docx'
            path = os.path.join(self._path, 'docs', file_name)
            with open(path, 'rb') as test_file:
                _id = save_document(file_handle=test_file,
                                    document_name=file_name,
                                    email=self._email)

            self.assertIsNotNone(_id)
            retrieved_file = get_document(document_id=_id, email=self._email)
            retrieved_data = retrieved_file.read()

            with open(path, 'rb') as test_file:
                expected_data = test_file.read()
                self.assertEqual(len(expected_data), len(retrieved_data))
                self.assertTrue(expected_data == retrieved_data)
Ejemplo n.º 6
0
    def test_save_document(self):
        """Test that only the five most recent uploaded items per user
        are saved in the database.
        """
        with app.app_context():
            fs = gridfs.GridFS(mongo.db, 'document_fs')
            documents = fs.find({'email': self._email})
            for document in documents:
                fs.delete(document._id)

            count = 0
            documents = fs.find({'email': self._email})
            for doc in documents:
                count += 1
            self.assertEqual(count, 0)

            file_name = 'a.txt'
            path = os.path.join(self._path, 'docs', file_name)
            doc_ids = []
            for i in range(7):
                with open(path, 'rb') as test_file:
                    _id = save_document(file_handle=test_file,
                                        document_name=file_name,
                                        email=self._email)
                    self.assertIsNotNone(_id)
                    doc_ids.append(_id)

            count = 0
            documents = fs.find({'email': self._email})
            for doc in documents:
                count += 1
            self.assertEqual(count, 3)

            for i in range(2):
                self.assertFalse(
                    fs.exists(_id=ObjectId(doc_ids[i]), email=self._email))