-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathconftest.py
More file actions
59 lines (46 loc) · 1.91 KB
/
conftest.py
File metadata and controls
59 lines (46 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import os
import random
import sys
from typing import TYPE_CHECKING
import pytest
import nucleus
from tests.helpers import TEST_DATASET_ITEMS, TEST_DATASET_NAME
if TYPE_CHECKING:
from nucleus import NucleusClient
assert "NUCLEUS_PYTEST_API_KEY" in os.environ or "NUCLEUS_PYTEST_LIMITED_ACCESS_KEY" in os.environ, (
"You must set at least one of 'NUCLEUS_PYTEST_API_KEY' or "
"'NUCLEUS_PYTEST_LIMITED_ACCESS_KEY' environment variables to run the test suite"
)
API_KEY = os.environ.get("NUCLEUS_PYTEST_API_KEY") if "NUCLEUS_PYTEST_API_KEY" in os.environ else None
LIMITED_ACCESS_KEY = os.environ.get("NUCLEUS_PYTEST_LIMITED_ACCESS_KEY") if "NUCLEUS_PYTEST_LIMITED_ACCESS_KEY" in os.environ else None
@pytest.fixture(scope="session")
def CLIENT():
if API_KEY and LIMITED_ACCESS_KEY:
return nucleus.NucleusClient(api_key=API_KEY, limited_access_key=LIMITED_ACCESS_KEY)
if API_KEY:
return nucleus.NucleusClient(api_key=API_KEY)
# LIMITED_ACCESS_KEY only
return nucleus.NucleusClient(limited_access_key=LIMITED_ACCESS_KEY)
@pytest.fixture()
def dataset(CLIENT: "NucleusClient"):
test_dataset = CLIENT.create_dataset(TEST_DATASET_NAME, is_scene=False)
test_dataset.append(TEST_DATASET_ITEMS)
yield test_dataset
@pytest.fixture()
def model(CLIENT):
# Randomly generate an integer between 0 and maximum integer so reference ids
# do not collide during parallel test rusn.
random_postfix = str(random.randint(0, sys.maxsize))
model = CLIENT.create_model(
TEST_DATASET_NAME, "fake_reference_id_" + random_postfix
)
yield model
CLIENT.delete_model(model.id)
if __name__ == "__main__":
client = nucleus.NucleusClient(API_KEY)
# ds = client.create_dataset("Test Dataset With Autotags")
# ds.append(TEST_DATASET_ITEMS)
ds = client.get_dataset("ds_c5jwptkgfsqg0cs503z0")
job = ds.create_image_index()
job.sleep_until_complete()
print(ds.id)