Skip to content

Commit 0713db1

Browse files
committed
Fix tests
1 parent 1adcbe9 commit 0713db1

File tree

2 files changed

+45
-28
lines changed

2 files changed

+45
-28
lines changed

tests/integration/control_asyncio/resources/index/test_create.py

Lines changed: 39 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,13 @@ async def test_create_infinite_wait(self, index_name, spec1):
4949
assert resp.metric == "cosine"
5050

5151
@pytest.mark.parametrize("metric", ["cosine", "euclidean", "dotproduct"])
52-
async def test_create_default_index_with_metric(self, index_name, metric, spec1):
52+
async def test_create_default_index_with_metric(self, index_name, metric, spec1, index_tags):
5353
pc = PineconeAsyncio()
5454

55-
await pc.db.index.create(name=index_name, dimension=10, spec=spec1, metric=metric)
56-
desc = await pc.db.index.describe(index_name)
55+
await pc.db.index.create(
56+
name=index_name, dimension=10, spec=spec1, metric=metric, tags=index_tags
57+
)
58+
desc = await pc.db.index.describe(name=index_name)
5759
if isinstance(metric, str):
5860
assert desc.metric == metric
5961
else:
@@ -62,15 +64,15 @@ async def test_create_default_index_with_metric(self, index_name, metric, spec1)
6264
await pc.close()
6365

6466
@pytest.mark.parametrize(
65-
"metric_enum,vector_type_enum,dim,tags",
67+
"metric_enum,vector_type_enum,dim",
6668
[
67-
(Metric.COSINE, VectorType.DENSE, 10, None),
68-
(Metric.EUCLIDEAN, VectorType.DENSE, 10, {"env": "prod"}),
69-
(Metric.DOTPRODUCT, VectorType.SPARSE, None, {"env": "dev"}),
69+
(Metric.COSINE, VectorType.DENSE, 10),
70+
(Metric.EUCLIDEAN, VectorType.DENSE, 10),
71+
(Metric.DOTPRODUCT, VectorType.SPARSE, None),
7072
],
7173
)
7274
async def test_create_with_enum_values_and_tags(
73-
self, index_name, metric_enum, vector_type_enum, dim, tags
75+
self, index_name, metric_enum, vector_type_enum, dim, index_tags
7476
):
7577
pc = PineconeAsyncio()
7678
args = {
@@ -79,63 +81,72 @@ async def test_create_with_enum_values_and_tags(
7981
"vector_type": vector_type_enum,
8082
"deletion_protection": DeletionProtection.DISABLED,
8183
"spec": ServerlessSpec(cloud=CloudProvider.AWS, region=AwsRegion.US_EAST_1),
82-
"tags": tags,
84+
"tags": index_tags,
8385
}
8486
if dim is not None:
8587
args["dimension"] = dim
8688

8789
await pc.db.index.create(**args)
8890

89-
desc = await pc.db.index.describe(index_name)
91+
desc = await pc.db.index.describe(name=index_name)
9092
assert desc.metric == metric_enum.value
9193
assert desc.vector_type == vector_type_enum.value
9294
assert desc.dimension == dim
9395
assert desc.deletion_protection == DeletionProtection.DISABLED.value
9496
assert desc.name == index_name
9597
assert desc.spec.serverless.cloud == "aws"
9698
assert desc.spec.serverless.region == "us-east-1"
97-
if tags:
98-
assert desc.tags.to_dict() == tags
99+
assert desc.tags.to_dict() == index_tags
100+
await pc.db.index.delete(name=index_name)
99101
await pc.close()
100102

101103
@pytest.mark.parametrize("metric", ["cosine", "euclidean", "dotproduct"])
102-
async def test_create_dense_index_with_metric(self, index_name, spec1, metric):
104+
async def test_create_dense_index_with_metric(self, index_name, spec1, metric, index_tags):
103105
pc = PineconeAsyncio()
104106

105107
await pc.create_index(
106-
name=index_name, dimension=10, spec=spec1, metric=metric, vector_type=VectorType.DENSE
108+
name=index_name,
109+
dimension=10,
110+
spec=spec1,
111+
metric=metric,
112+
vector_type=VectorType.DENSE,
113+
tags=index_tags,
107114
)
108115

109-
desc = await pc.db.index.describe(index_name)
116+
desc = await pc.db.index.describe(name=index_name)
110117
assert desc.metric == metric
111118
assert desc.vector_type == "dense"
112119
await pc.close()
113120

114-
async def test_create_with_optional_tags(self, index_name, spec1):
121+
async def test_create_with_optional_tags(self, index_name, spec1, index_tags):
115122
pc = PineconeAsyncio()
116-
tags = {"foo": "FOO", "bar": "BAR"}
117123

118-
await pc.create_index(name=index_name, dimension=10, spec=spec1, tags=tags)
124+
await pc.create_index(name=index_name, dimension=10, spec=spec1, tags=index_tags)
119125

120-
desc = await pc.db.index.describe(index_name)
121-
assert desc.tags.to_dict() == tags
126+
desc = await pc.db.index.describe(name=index_name)
127+
assert desc.tags.to_dict() == index_tags
128+
await pc.db.index.delete(name=index_name)
122129
await pc.close()
123130

124-
async def test_create_sparse_index(self, index_name, spec1):
131+
async def test_create_sparse_index(self, index_name, spec1, index_tags):
125132
pc = PineconeAsyncio()
126133

127134
await pc.create_index(
128-
name=index_name, spec=spec1, metric=Metric.DOTPRODUCT, vector_type=VectorType.SPARSE
135+
name=index_name,
136+
spec=spec1,
137+
metric=Metric.DOTPRODUCT,
138+
vector_type=VectorType.SPARSE,
139+
tags=index_tags,
129140
)
130141

131-
desc = await pc.db.index.describe(index_name)
142+
desc = await pc.db.index.describe(name=index_name)
132143
assert desc.vector_type == "sparse"
133144
assert desc.dimension is None
134-
assert desc.vector_type == "sparse"
135145
assert desc.metric == "dotproduct"
146+
await pc.db.index.delete(name=index_name)
136147
await pc.close()
137148

138-
async def test_create_with_deletion_protection(self, index_name, spec1):
149+
async def test_create_with_deletion_protection(self, index_name, spec1, index_tags):
139150
pc = PineconeAsyncio()
140151

141152
await pc.create_index(
@@ -144,9 +155,10 @@ async def test_create_with_deletion_protection(self, index_name, spec1):
144155
metric=Metric.DOTPRODUCT,
145156
vector_type=VectorType.SPARSE,
146157
deletion_protection=DeletionProtection.ENABLED,
158+
tags=index_tags,
147159
)
148160

149-
desc = await pc.db.index.describe(index_name)
161+
desc = await pc.db.index.describe(name=index_name)
150162
assert desc.deletion_protection == "enabled"
151163
assert desc.metric == "dotproduct"
152164
assert desc.vector_type == "sparse"
@@ -157,6 +169,6 @@ async def test_create_with_deletion_protection(self, index_name, spec1):
157169

158170
await pc.configure_index(index_name, deletion_protection=DeletionProtection.DISABLED)
159171

160-
desc2 = await pc.db.index.describe(index_name)
172+
desc2 = await pc.db.index.describe(name=index_name)
161173
assert desc2.deletion_protection == "disabled"
162174
await pc.close()

tests/integration/helpers/helpers.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import random
55
import string
66
import logging
7+
import uuid
78
import asyncio
89
from typing import Any
910
from datetime import datetime
@@ -279,7 +280,11 @@ async def asyncio_wait_until(
279280

280281

281282
def default_create_index_params(request, run_id):
282-
index_name = generate_index_name(request.node.name)
283+
github_actor = os.getenv("GITHUB_ACTOR", None)
284+
user = os.getenv("USER", None)
285+
index_owner = github_actor or user or "unknown"
286+
287+
index_name = f"{index_owner}-{str(uuid.uuid4())}"
283288
tags = index_tags(request, run_id)
284289
cloud = get_environment_var("SERVERLESS_CLOUD", "aws")
285290
region = get_environment_var("SERVERLESS_REGION", "us-west-2")

0 commit comments

Comments
 (0)