8080def mock_retriever ():
8181 """Create a mock retriever that returns sample records."""
8282 retriever = MagicMock ()
83- retriever .read_records .return_value = iter ([
84- {"id" : 1 , "name" : "Alice" , "age" : 30 , "active" : True },
85- {"id" : 2 , "name" : "Bob" , "age" : 25 , "active" : False },
86- {"id" : 3 , "name" : "Charlie" , "age" : 35 , "active" : True },
87- ])
83+ retriever .read_records .return_value = iter (
84+ [
85+ {"id" : 1 , "name" : "Alice" , "age" : 30 , "active" : True },
86+ {"id" : 2 , "name" : "Bob" , "age" : 25 , "active" : False },
87+ {"id" : 3 , "name" : "Charlie" , "age" : 35 , "active" : True },
88+ ]
89+ )
8890 return retriever
8991
9092
@@ -109,12 +111,12 @@ def test_inferred_schema_loader_basic(inferred_schema_loader):
109111 assert "$schema" in schema
110112 assert schema ["type" ] == "object"
111113 assert "properties" in schema
112-
114+
113115 assert "id" in schema ["properties" ]
114116 assert "name" in schema ["properties" ]
115117 assert "age" in schema ["properties" ]
116118 assert "active" in schema ["properties" ]
117-
119+
118120 assert "number" in schema ["properties" ]["id" ]["type" ]
119121 assert "string" in schema ["properties" ]["name" ]["type" ]
120122 assert "number" in schema ["properties" ]["age" ]["type" ]
@@ -125,7 +127,7 @@ def test_inferred_schema_loader_empty_records():
125127 """Test that InferredSchemaLoader returns empty schema when no records are available."""
126128 retriever = MagicMock ()
127129 retriever .read_records .return_value = iter ([])
128-
130+
129131 config = MagicMock ()
130132 parameters = {"name" : "users" }
131133 loader = InferredSchemaLoader (
@@ -135,21 +137,18 @@ def test_inferred_schema_loader_empty_records():
135137 record_sample_size = 100 ,
136138 stream_name = "users" ,
137139 )
138-
140+
139141 schema = loader .get_json_schema ()
140-
142+
141143 assert schema == {}
142144
143145
144146def test_inferred_schema_loader_respects_sample_size ():
145147 """Test that InferredSchemaLoader respects the record_sample_size parameter."""
146148 retriever = MagicMock ()
147- records = [
148- {"id" : i , "name" : f"User{ i } " }
149- for i in range (10 )
150- ]
149+ records = [{"id" : i , "name" : f"User{ i } " } for i in range (10 )]
151150 retriever .read_records .return_value = iter (records )
152-
151+
153152 config = MagicMock ()
154153 parameters = {"name" : "users" }
155154 loader = InferredSchemaLoader (
@@ -159,9 +158,9 @@ def test_inferred_schema_loader_respects_sample_size():
159158 record_sample_size = 5 ,
160159 stream_name = "users" ,
161160 )
162-
161+
163162 schema = loader .get_json_schema ()
164-
163+
165164 assert "properties" in schema
166165 assert "id" in schema ["properties" ]
167166 assert "name" in schema ["properties" ]
@@ -171,7 +170,7 @@ def test_inferred_schema_loader_handles_errors():
171170 """Test that InferredSchemaLoader handles errors gracefully."""
172171 retriever = MagicMock ()
173172 retriever .read_records .side_effect = Exception ("API Error" )
174-
173+
175174 config = MagicMock ()
176175 parameters = {"name" : "users" }
177176 loader = InferredSchemaLoader (
@@ -181,36 +180,30 @@ def test_inferred_schema_loader_handles_errors():
181180 record_sample_size = 100 ,
182181 stream_name = "users" ,
183182 )
184-
183+
185184 schema = loader .get_json_schema ()
186-
185+
187186 assert schema == {}
188187
189188
190189def test_inferred_schema_loader_with_nested_objects ():
191190 """Test that InferredSchemaLoader handles nested objects correctly."""
192191 retriever = MagicMock ()
193- retriever .read_records .return_value = iter ([
194- {
195- "id" : 1 ,
196- "name" : "Alice" ,
197- "address" : {
198- "street" : "123 Main St" ,
199- "city" : "Springfield" ,
200- "zip" : "12345"
201- }
202- },
203- {
204- "id" : 2 ,
205- "name" : "Bob" ,
206- "address" : {
207- "street" : "456 Oak Ave" ,
208- "city" : "Shelbyville" ,
209- "zip" : "67890"
210- }
211- },
212- ])
213-
192+ retriever .read_records .return_value = iter (
193+ [
194+ {
195+ "id" : 1 ,
196+ "name" : "Alice" ,
197+ "address" : {"street" : "123 Main St" , "city" : "Springfield" , "zip" : "12345" },
198+ },
199+ {
200+ "id" : 2 ,
201+ "name" : "Bob" ,
202+ "address" : {"street" : "456 Oak Ave" , "city" : "Shelbyville" , "zip" : "67890" },
203+ },
204+ ]
205+ )
206+
214207 config = MagicMock ()
215208 parameters = {"name" : "users" }
216209 loader = InferredSchemaLoader (
@@ -220,9 +213,9 @@ def test_inferred_schema_loader_with_nested_objects():
220213 record_sample_size = 2 ,
221214 stream_name = "users" ,
222215 )
223-
216+
224217 schema = loader .get_json_schema ()
225-
218+
226219 assert "properties" in schema
227220 assert "address" in schema ["properties" ]
228221 assert "object" in schema ["properties" ]["address" ]["type" ]
@@ -231,11 +224,13 @@ def test_inferred_schema_loader_with_nested_objects():
231224def test_inferred_schema_loader_with_arrays ():
232225 """Test that InferredSchemaLoader handles arrays correctly."""
233226 retriever = MagicMock ()
234- retriever .read_records .return_value = iter ([
235- {"id" : 1 , "name" : "Alice" , "tags" : ["admin" , "user" ]},
236- {"id" : 2 , "name" : "Bob" , "tags" : ["user" , "guest" ]},
237- ])
238-
227+ retriever .read_records .return_value = iter (
228+ [
229+ {"id" : 1 , "name" : "Alice" , "tags" : ["admin" , "user" ]},
230+ {"id" : 2 , "name" : "Bob" , "tags" : ["user" , "guest" ]},
231+ ]
232+ )
233+
239234 config = MagicMock ()
240235 parameters = {"name" : "users" }
241236 loader = InferredSchemaLoader (
@@ -245,9 +240,9 @@ def test_inferred_schema_loader_with_arrays():
245240 record_sample_size = 2 ,
246241 stream_name = "users" ,
247242 )
248-
243+
249244 schema = loader .get_json_schema ()
250-
245+
251246 assert "properties" in schema
252247 assert "tags" in schema ["properties" ]
253248 assert "array" in schema ["properties" ]["tags" ]["type" ]
0 commit comments