1
- import pytest
2
1
from typing import Optional
3
2
from labelbox import Client , CatalogSlice
4
3
5
4
6
- def _create_catalog_slice (client : Client , name : str , description : Optional [str ] = None ) -> str :
7
- """Creates a catalog slice for testing purposes.
5
+ def _create_catalog_slice (
6
+ client : Client , name : str , description : Optional [str ] = None
7
+ ) -> str :
8
+ """Creates a catalog slice for testing purposes.
8
9
9
- Args:
10
- client (Client): Labelbox client instance
11
- name (str): Name of the catalog slice
12
- description (str): Description of the catalog slice
10
+ Args:
11
+ client (Client): Labelbox client instance
12
+ name (str): Name of the catalog slice
13
+ description (str): Description of the catalog slice
13
14
14
- Returns:
15
- str: ID of the created catalog slice
16
- """
15
+ Returns:
16
+ str: ID of the created catalog slice
17
+ """
17
18
18
- mutation = """mutation CreateCatalogSlicePyApi($name: String!, $description: String, $query: SearchServiceQuery!, $sorting: [SearchServiceSorting!]) {
19
+ mutation = """mutation CreateCatalogSlicePyApi($name: String!, $description: String, $query: SearchServiceQuery!, $sorting: [SearchServiceSorting!]) {
19
20
createCatalogSavedQuery(
20
21
args: {name: $name, description: $description, filter: $query, sorting: $sorting}
21
22
) {
@@ -31,72 +32,72 @@ def _create_catalog_slice(client: Client, name: str, description: Optional[str]
31
32
}
32
33
"""
33
34
34
- params = {
35
- "description" : description ,
36
- "name" : name ,
37
- "query" : [
38
- {
39
- "type" : "media_attribute_asset_type" ,
40
- "assetType" : {
41
- "type" : "asset_type" ,
42
- "assetTypes" : [
43
- "image"
44
- ]
45
- }
46
- }
47
- ],
48
- "sorting" : [
49
- {
50
- "field" : {
51
- "field" : "dataRowCreatedAt" ,
52
- "verboseName" : "Created At"
53
- },
54
- "direction" : "DESC" ,
55
- "metadataSchemaId" : None
56
- }
57
- ]
58
- }
35
+ params = {
36
+ "description" : description ,
37
+ "name" : name ,
38
+ "query" : [
39
+ {
40
+ "type" : "media_attribute_asset_type" ,
41
+ "assetType" : {"type" : "asset_type" , "assetTypes" : ["image" ]},
42
+ }
43
+ ],
44
+ "sorting" : [
45
+ {
46
+ "field" : {
47
+ "field" : "dataRowCreatedAt" ,
48
+ "verboseName" : "Created At" ,
49
+ },
50
+ "direction" : "DESC" ,
51
+ "metadataSchemaId" : None ,
52
+ }
53
+ ],
54
+ }
59
55
60
- result = client .execute (mutation , params , experimental = True )
56
+ result = client .execute (mutation , params , experimental = True )
61
57
62
- return result ["createCatalogSavedQuery" ].get ("id" )
58
+ return result ["createCatalogSavedQuery" ].get ("id" )
63
59
64
60
65
61
def _delete_catalog_slice (client , slice_id : str ) -> bool :
66
-
67
- mutation = """mutation DeleteCatalogSlicePyApi($id: ID!) {
62
+ mutation = """mutation DeleteCatalogSlicePyApi($id: ID!) {
68
63
deleteSavedQuery(args: { id: $id }) {
69
64
success
70
65
}
71
66
}
72
67
"""
73
68
74
- params = {
75
- "id" : slice_id
76
- }
69
+ params = {"id" : slice_id }
77
70
78
- operation_done = True
79
- try :
80
- client .execute (mutation , params , experimental = True )
81
- except Exception as ex :
82
- operation_done = False
71
+ operation_done = True
72
+ try :
73
+ client .execute (mutation , params , experimental = True )
74
+ except Exception as ex :
75
+ operation_done = False
83
76
84
- return operation_done
77
+ return operation_done
85
78
86
79
87
80
def test_get_slice (client ):
88
-
89
81
# Pre-cleaning
90
- slices = ( s for s in client .get_catalog_slices ()
91
- if s .name in ["Test Slice 1" , "Test Slice 2" ])
82
+ slices = (
83
+ s
84
+ for s in client .get_catalog_slices ()
85
+ if s .name in ["Test Slice 1" , "Test Slice 2" ]
86
+ )
92
87
for slice in slices :
93
88
_delete_catalog_slice (client , slice .id )
94
-
89
+
95
90
# Create slices
96
- slice_id_1 = _create_catalog_slice (client , "Test Slice 1" , "Slice created for SDK test." )
97
- slice_id_2 = _create_catalog_slice (client , "Test Slice 2" , "Slice created for SDK test." )
91
+ slice_id_1 = _create_catalog_slice (
92
+ client , "Test Slice 1" , "Slice created for SDK test."
93
+ )
94
+ slice_id_2 = _create_catalog_slice (
95
+ client , "Test Slice 2" , "Slice created for SDK test."
96
+ )
98
97
# Create slice 2b - with the same name as slice 2
99
- slice_id_2b = _create_catalog_slice (client , "Test Slice 2" , "Slice created for SDK test." )
98
+ slice_id_2b = _create_catalog_slice (
99
+ client , "Test Slice 2" , "Slice created for SDK test."
100
+ )
100
101
101
102
# Assert get slice 1 by ID
102
103
slice_1 = client .get_catalog_slice (slice_id_1 )
@@ -107,7 +108,9 @@ def test_get_slice(client):
107
108
108
109
slices_2 = client .get_catalog_slice (slice_name = "Test Slice 2" )
109
110
assert len (slices_2 ) == 2
110
- assert isinstance (slices_2 , list ) and all ([isinstance (item , CatalogSlice ) for item in slices_2 ])
111
+ assert isinstance (slices_2 , list ) and all (
112
+ [isinstance (item , CatalogSlice ) for item in slices_2 ]
113
+ )
111
114
112
115
# Cleaning - Delete slices
113
116
_delete_catalog_slice (client , slice_id_1 )
0 commit comments