@@ -169,18 +169,26 @@ def test_11_execute_with_defaults(self):
169169 result = self .stackql .execute (google_query )
170170 is_valid_dict = isinstance (result , list ) and all (isinstance (item , dict ) for item in result )
171171 self .assertTrue (is_valid_dict , f"Result is not a valid dict: { result } " )
172- print_test_result (f"Test execute with defaults\n RESULT_COUNT : { len ( result ) } " , is_valid_dict )
172+ print_test_result (f"Test execute with defaults\n RESULT : { result } " , is_valid_dict )
173173
174174 @pystackql_test_setup (output = 'pandas' )
175175 def test_12_execute_with_pandas_output (self ):
176- result = self .stackql .execute (google_query )
176+ result = self .stackql .execute (aws_query )
177177 is_valid_dataframe = isinstance (result , pd .DataFrame )
178178 self .assertTrue (is_valid_dataframe , f"Result is not a valid DataFrame: { result } " )
179- print_test_result (f"Test execute with pandas output\n RESULT_COUNT: { len (result )} " , is_valid_dataframe )
179+ # Check datatypes of the columns
180+ expected_dtypes = {
181+ 'instance_state' : 'object' , # This should be 'object' for older Pandas versions
182+ 'num_instances' : 'int64'
183+ }
184+ for col , expected_dtype in expected_dtypes .items ():
185+ actual_dtype = result [col ].dtype
186+ self .assertEqual (actual_dtype , expected_dtype , f"Column '{ col } ' has dtype '{ actual_dtype } ' but expected '{ expected_dtype } '" )
187+ print_test_result (f"Test execute with pandas output\n RESULT COUNT: { len (result )} " , is_valid_dataframe )
180188
181189 @pystackql_test_setup (output = 'csv' )
182190 def test_13_execute_with_csv_output (self ):
183- result = self .stackql .execute (google_query )
191+ result = self .stackql .execute (aws_query )
184192 is_valid_csv = isinstance (result , str ) and result .count ("\n " ) >= 1 and result .count ("," ) >= 1
185193 self .assertTrue (is_valid_csv , f"Result is not a valid CSV: { result } " )
186194 print_test_result (f"Test execute with csv output\n RESULT_COUNT: { len (result .splitlines ())} " , is_valid_csv )
@@ -241,9 +249,18 @@ def test_21_execute_server_mode_default_output(self):
241249
242250 @pystackql_test_setup (server_mode = True , output = 'pandas' )
243251 def test_22_execute_server_mode_pandas_output (self ):
244- result = self .stackql .execute (google_query )
245- is_valid_pandas_output = isinstance (result , pd .DataFrame )
246- print_test_result (f"""Test execute in server_mode with pandas output\n RESULT_COUNT: { len (result )} """ , is_valid_pandas_output , True )
252+ result = self .stackql .execute (aws_query )
253+ is_valid_dataframe = isinstance (result , pd .DataFrame )
254+ self .assertTrue (is_valid_dataframe , f"Result is not a valid DataFrame: { result } " )
255+ # Check datatypes of the columns
256+ expected_dtypes = {
257+ 'instance_state' : 'object' , # This should be 'object' for older Pandas versions
258+ 'num_instances' : 'int64'
259+ }
260+ for col , expected_dtype in expected_dtypes .items ():
261+ actual_dtype = result [col ].dtype
262+ self .assertEqual (actual_dtype , expected_dtype , f"Column '{ col } ' has dtype '{ actual_dtype } ' but expected '{ expected_dtype } '" )
263+ print_test_result (f"Test execute in server_mode with pandas output\n RESULT COUNT: { len (result )} " , is_valid_dataframe )
247264
248265class MockInteractiveShell :
249266 """A mock class for IPython's InteractiveShell."""
0 commit comments