You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
langchain/libs/community/tests/integration_tests/document_loaders/test_couchbase.py

45 lines
1.6 KiB
Python

import unittest
community[major], core[patch], langchain[patch], experimental[patch]: Create langchain-community (#14463) Moved the following modules to new package langchain-community in a backwards compatible fashion: ``` mv langchain/langchain/adapters community/langchain_community mv langchain/langchain/callbacks community/langchain_community/callbacks mv langchain/langchain/chat_loaders community/langchain_community mv langchain/langchain/chat_models community/langchain_community mv langchain/langchain/document_loaders community/langchain_community mv langchain/langchain/docstore community/langchain_community mv langchain/langchain/document_transformers community/langchain_community mv langchain/langchain/embeddings community/langchain_community mv langchain/langchain/graphs community/langchain_community mv langchain/langchain/llms community/langchain_community mv langchain/langchain/memory/chat_message_histories community/langchain_community mv langchain/langchain/retrievers community/langchain_community mv langchain/langchain/storage community/langchain_community mv langchain/langchain/tools community/langchain_community mv langchain/langchain/utilities community/langchain_community mv langchain/langchain/vectorstores community/langchain_community mv langchain/langchain/agents/agent_toolkits community/langchain_community mv langchain/langchain/cache.py community/langchain_community mv langchain/langchain/adapters community/langchain_community mv langchain/langchain/callbacks community/langchain_community/callbacks mv langchain/langchain/chat_loaders community/langchain_community mv langchain/langchain/chat_models community/langchain_community mv langchain/langchain/document_loaders community/langchain_community mv langchain/langchain/docstore community/langchain_community mv langchain/langchain/document_transformers community/langchain_community mv langchain/langchain/embeddings community/langchain_community mv langchain/langchain/graphs community/langchain_community mv langchain/langchain/llms community/langchain_community mv langchain/langchain/memory/chat_message_histories community/langchain_community mv langchain/langchain/retrievers community/langchain_community mv langchain/langchain/storage community/langchain_community mv langchain/langchain/tools community/langchain_community mv langchain/langchain/utilities community/langchain_community mv langchain/langchain/vectorstores community/langchain_community mv langchain/langchain/agents/agent_toolkits community/langchain_community mv langchain/langchain/cache.py community/langchain_community ``` Moved the following to core ``` mv langchain/langchain/utils/json_schema.py core/langchain_core/utils mv langchain/langchain/utils/html.py core/langchain_core/utils mv langchain/langchain/utils/strings.py core/langchain_core/utils cat langchain/langchain/utils/env.py >> core/langchain_core/utils/env.py rm langchain/langchain/utils/env.py ``` See .scripts/community_split/script_integrations.sh for all changes
10 months ago
from langchain_community.document_loaders.couchbase import CouchbaseLoader
try:
import couchbase # noqa: F401
couchbase_installed = True
except ImportError:
couchbase_installed = False
@unittest.skipIf(not couchbase_installed, "couchbase not installed")
class TestCouchbaseLoader(unittest.TestCase):
def setUp(self) -> None:
self.conn_string = "<enter-valid-couchbase-connection-string>"
self.database_user = "<enter-valid-couchbase-user>"
self.database_password = "<enter-valid-couchbase-password>"
self.valid_query = "select h.* from `travel-sample`.inventory.hotel h limit 10"
self.valid_page_content_fields = ["country", "name", "description"]
self.valid_metadata_fields = ["id"]
def test_couchbase_loader(self) -> None:
"""Test Couchbase loader."""
loader = CouchbaseLoader(
connection_string=self.conn_string,
db_username=self.database_user,
db_password=self.database_password,
query=self.valid_query,
page_content_fields=self.valid_page_content_fields,
metadata_fields=self.valid_metadata_fields,
)
docs = loader.load()
print(docs)
assert len(docs) > 0 # assuming the query returns at least one document
for doc in docs:
print(doc)
assert (
doc.page_content != ""
) # assuming that every document has page_content
assert (
"id" in doc.metadata and doc.metadata["id"] != ""
) # assuming that every document has 'id'