Skip to content

Commit

Permalink
fix find_emb_pr docstring; adjust nonastra admin tests to manage asyn…
Browse files Browse the repository at this point in the history
…c fixtures
  • Loading branch information
hemidactylus committed Jul 9, 2024
1 parent 5e6b3f9 commit 58fc337
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 31 deletions.
16 changes: 12 additions & 4 deletions astrapy/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -2529,7 +2529,9 @@ def find_embedding_providers(
returned by the API about available embedding providers
Example (output abridged and indented for clarity):
>>> admin_for_my_db.list_embedding_providers()
>>> admin_for_my_db.find_embedding_providers()
FindEmbeddingProvidersResult(embedding_providers=..., openai, ...)
>>> admin_for_my_db.find_embedding_providers().embedding_providers
{
'openai': EmbeddingProvider(
display_name='OpenAI',
Expand Down Expand Up @@ -2571,7 +2573,9 @@ async def async_find_embedding_providers(
returned by the API about available embedding providers
Example (output abridged and indented for clarity):
>>> admin_for_my_db.list_embedding_providers()
>>> admin_for_my_db.find_embedding_providers()
FindEmbeddingProvidersResult(embedding_providers=..., openai, ...)
>>> admin_for_my_db.find_embedding_providers().embedding_providers
{
'openai': EmbeddingProvider(
display_name='OpenAI',
Expand Down Expand Up @@ -3192,7 +3196,9 @@ def find_embedding_providers(
returned by the API about available embedding providers
Example (output abridged and indented for clarity):
>>> admin_for_my_db.list_embedding_providers()
>>> admin_for_my_db.find_embedding_providers()
FindEmbeddingProvidersResult(embedding_providers=..., openai, ...)
>>> admin_for_my_db.find_embedding_providers().embedding_providers
{
'openai': EmbeddingProvider(
display_name='OpenAI',
Expand Down Expand Up @@ -3234,7 +3240,9 @@ async def async_find_embedding_providers(
returned by the API about available embedding providers
Example (output abridged and indented for clarity):
>>> admin_for_my_db.list_embedding_providers()
>>> admin_for_my_db.find_embedding_providers()
FindEmbeddingProvidersResult(embedding_providers=..., openai, ...)
>>> admin_for_my_db.find_embedding_providers().embedding_providers
{
'openai': EmbeddingProvider(
display_name='OpenAI',
Expand Down
52 changes: 25 additions & 27 deletions tests/idiomatic/integration/test_nonastra_admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ def test_nonastra_database_admin_sync(self, sync_database: Database) -> None:
- database -> create_collection/list_collection_names
- drop namespace
- list namespaces, check
- ALSO: test the update_db_namespace flag when creating from db->dbadmin
"""
NEW_NS_NAME = "tnaa_test_ns_s"
NEW_COLL_NAME = "tnaa_test_coll"
Expand All @@ -61,6 +62,23 @@ def test_nonastra_database_admin_sync(self, sync_database: Database) -> None:
namespaces3 = set(database_admin.list_namespaces())
assert namespaces3 == namespaces1

# update_db_namespace:
NEW_NS_NAME_NOT_UPDATED = "tnudn_notupd"
NEW_NS_NAME_UPDATED = "tnudn_upd"

database = sync_database._copy()

namespace0 = database.namespace
database_admin = database.get_database_admin()
database_admin.create_namespace(NEW_NS_NAME_NOT_UPDATED)
assert database.namespace == namespace0

database_admin.create_namespace(NEW_NS_NAME_UPDATED, update_db_namespace=True)
assert database.namespace == NEW_NS_NAME_UPDATED

database_admin.drop_namespace(NEW_NS_NAME_NOT_UPDATED)
database_admin.drop_namespace(NEW_NS_NAME_UPDATED)

@pytest.mark.describe(
"test of the namespace crud with non-Astra DataAPIDatabaseAdmin, async"
)
Expand All @@ -76,6 +94,7 @@ async def test_nonastra_database_admin_async(
- database -> create_collection/list_collection_names
- drop namespace
- list namespaces, check
- ALSO: test the update_db_namespace flag when creating from db->dbadmin
"""
NEW_NS_NAME = "tnaa_test_ns_a"
NEW_COLL_NAME = "tnaa_test_coll"
Expand All @@ -100,42 +119,21 @@ async def test_nonastra_database_admin_async(
namespaces3 = set(await database_admin.async_list_namespaces())
assert namespaces3 == namespaces1

@pytest.mark.describe(
"test of the update_db_namespace flag for DataAPIDatabaseAdmin, sync"
)
def test_nonastra_updatedbnamespace_sync(self, sync_database: Database) -> None:
# update_db_namespace:
NEW_NS_NAME_NOT_UPDATED = "tnudn_notupd"
NEW_NS_NAME_UPDATED = "tnudn_upd"

namespace0 = sync_database.namespace
database_admin = sync_database.get_database_admin()
database_admin.create_namespace(NEW_NS_NAME_NOT_UPDATED)
assert sync_database.namespace == namespace0

database_admin.create_namespace(NEW_NS_NAME_UPDATED, update_db_namespace=True)
assert sync_database.namespace == NEW_NS_NAME_UPDATED

database_admin.drop_namespace(NEW_NS_NAME_NOT_UPDATED)
database_admin.drop_namespace(NEW_NS_NAME_UPDATED)

@pytest.mark.describe(
"test of the update_db_namespace flag for DataAPIDatabaseAdmin, async"
)
async def test_nonastra_updatedbnamespace_async(
self, async_database: AsyncDatabase
) -> None:
NEW_NS_NAME_NOT_UPDATED = "tnudn_notupd"
NEW_NS_NAME_UPDATED = "tnudn_upd"
adatabase = async_database._copy()

namespace0 = async_database.namespace
database_admin = async_database.get_database_admin()
namespace0 = adatabase.namespace
database_admin = adatabase.get_database_admin()
await database_admin.async_create_namespace(NEW_NS_NAME_NOT_UPDATED)
assert async_database.namespace == namespace0
assert adatabase.namespace == namespace0

await database_admin.async_create_namespace(
NEW_NS_NAME_UPDATED, update_db_namespace=True
)
assert async_database.namespace == NEW_NS_NAME_UPDATED
assert adatabase.namespace == NEW_NS_NAME_UPDATED

await database_admin.async_drop_namespace(NEW_NS_NAME_NOT_UPDATED)
await database_admin.async_drop_namespace(NEW_NS_NAME_UPDATED)

0 comments on commit 58fc337

Please sign in to comment.