11from abc import ABC , abstractmethod
2+ import json
3+ import ast
24from typing import List , Tuple
35from rb .api .models import AppMetadata , TaskSchema
46from typer .testing import CliRunner
@@ -67,6 +69,9 @@ def test_routes_command(self, caplog):
6769 assert any (
6870 route ["short_title" ] in message for message in caplog .messages
6971 )
72+ assert any (
73+ str (route ["order" ]) in message for message in caplog .messages
74+ )
7075
7176 def check_if_str_in_messages (self , str_to_check : str , messages : List [str ]):
7277 """
@@ -81,10 +86,14 @@ def test_metadata_command(self, caplog):
8186 self .cli_app , [f"/{ self .app_name } /api/app_metadata" ]
8287 )
8388 assert result .exit_code == 0
89+ for message in caplog .messages :
90+ out_data = json .loads (json .dumps (message ))
91+ actual_metadata = ast .literal_eval (out_data )
92+ print ("debug" , actual_metadata .keys ())
8493 for key , value in expected_metadata :
8594 print ("debug" , key , value )
86- assert any (str (key ) in message for message in caplog . messages )
87- assert len (str (value )) > 0
95+ assert any (str (key ) in k for k in actual_metadata . keys () )
96+ assert len (json . dumps (value )) == len ( json . dumps ( actual_metadata [ key ]))
8897
8998 def test_schema_command (self , caplog ):
9099 with caplog .at_level ("INFO" ):
@@ -112,9 +121,11 @@ def test_api_metadata(self):
112121 response = self .client .get (f"/{ self .app_name } /api/app_metadata" )
113122 assert response .status_code == 200
114123 body = response .json ()
124+ actual_metadata = json .loads (json .dumps (body ))
115125 expected_metadata = self .get_metadata ().model_dump (mode = "json" )
116- assert len (body ) > 0
117- assert len (expected_metadata ) > 0
126+ for key in expected_metadata .keys ():
127+ assert any (str (key ) in k for k in actual_metadata .keys ())
128+ assert len (expected_metadata [key ]) == len (actual_metadata [key ])
118129
119130 def test_api_task_schema (self ):
120131 ml_services = self .get_all_ml_services ()
0 commit comments