@@ -1059,9 +1059,7 @@ def test_make_tensorflow_manifest_empty(self):
10591059 manifest ,
10601060 {
10611061 "version" : 1 ,
1062- "metadata" : {
1063- "appmode" : "tensorflow-saved-model"
1064- },
1062+ "metadata" : {"appmode" : "tensorflow-saved-model" },
10651063 "files" : {},
10661064 },
10671065 )
@@ -1082,9 +1080,7 @@ def test_make_tensorflow_manifest(self):
10821080 manifest ,
10831081 {
10841082 "version" : 1 ,
1085- "metadata" : {
1086- "appmode" : "tensorflow-saved-model"
1087- },
1083+ "metadata" : {"appmode" : "tensorflow-saved-model" },
10881084 "files" : {
10891085 "1/saved_model.pb" : {"checksum" : mock .ANY },
10901086 },
@@ -1105,17 +1101,15 @@ def test_make_tensorflow_bundle(self):
11051101 [
11061102 "1/saved_model.pb" ,
11071103 "manifest.json" ,
1108- ],
1109- )
1104+ ],
1105+ )
11101106 manifest_data = tar .extractfile ("manifest.json" ).read ().decode ("utf-8" )
11111107 manifest = json .loads (manifest_data )
11121108 self .assertEqual (
11131109 manifest ,
11141110 {
11151111 "version" : 1 ,
1116- "metadata" : {
1117- "appmode" : "tensorflow-saved-model"
1118- },
1112+ "metadata" : {"appmode" : "tensorflow-saved-model" },
11191113 "files" : {
11201114 "1/saved_model.pb" : {"checksum" : mock .ANY },
11211115 },
@@ -2909,6 +2903,76 @@ def test_make_manifest_bundle():
29092903 assert manifest ["files" ].keys () == bundle_json ["files" ].keys ()
29102904
29112905
2906+ gradio_dir = os .path .join (cur_dir , "./testdata/gradio" )
2907+ gradio_file = os .path .join (cur_dir , "./testdata/gradio/app.py" )
2908+
2909+
2910+ def test_make_api_manifest_gradio ():
2911+ gradio_dir_ans = {
2912+ "version" : 1 ,
2913+ "locale" : "en_US.UTF-8" ,
2914+ "metadata" : {"appmode" : "python-gradio" },
2915+ "python" : {
2916+ "version" : "3.8.12" ,
2917+ "package_manager" : {"name" : "pip" , "version" : "23.0.1" , "package_file" : "requirements.txt" },
2918+ },
2919+ "files" : {
2920+ "requirements.txt" : {"checksum" : "381ccadfb8d4848add470e33033b198f" },
2921+ "app.py" : {"checksum" : "22feec76e9c02ac6b5a34a083e2983b6" },
2922+ },
2923+ }
2924+ environment = create_python_environment (
2925+ gradio_dir ,
2926+ )
2927+ manifest , _ = make_api_manifest (
2928+ gradio_dir ,
2929+ None ,
2930+ AppModes .PYTHON_GRADIO ,
2931+ environment ,
2932+ None ,
2933+ None ,
2934+ )
2935+
2936+ assert gradio_dir_ans ["metadata" ] == manifest ["metadata" ]
2937+ assert gradio_dir_ans ["files" ].keys () == manifest ["files" ].keys ()
2938+
2939+
2940+ def test_make_api_bundle_gradio ():
2941+ gradio_dir_ans = {
2942+ "version" : 1 ,
2943+ "locale" : "en_US.UTF-8" ,
2944+ "metadata" : {"appmode" : "python-gradio" },
2945+ "python" : {
2946+ "version" : "3.8.12" ,
2947+ "package_manager" : {"name" : "pip" , "version" : "23.0.1" , "package_file" : "requirements.txt" },
2948+ },
2949+ "files" : {
2950+ "requirements.txt" : {"checksum" : "381ccadfb8d4848add470e33033b198f" },
2951+ "app.py" : {"checksum" : "22feec76e9c02ac6b5a34a083e2983b6" },
2952+ },
2953+ }
2954+ environment = create_python_environment (
2955+ gradio_dir ,
2956+ )
2957+ with make_api_bundle (
2958+ gradio_dir ,
2959+ None ,
2960+ AppModes .PYTHON_GRADIO ,
2961+ environment ,
2962+ None ,
2963+ None ,
2964+ ) as bundle , tarfile .open (mode = "r:gz" , fileobj = bundle ) as tar :
2965+ names = sorted (tar .getnames ())
2966+ assert names == [
2967+ "app.py" ,
2968+ "manifest.json" ,
2969+ "requirements.txt" ,
2970+ ]
2971+ bundle_json = json .loads (tar .extractfile ("manifest.json" ).read ().decode ("utf-8" ))
2972+ assert gradio_dir_ans ["metadata" ] == bundle_json ["metadata" ]
2973+ assert gradio_dir_ans ["files" ].keys () == bundle_json ["files" ].keys ()
2974+
2975+
29122976empty_manifest_file = os .path .join (cur_dir , "./testdata/Manifest_data/empty_manifest.json" )
29132977missing_file_manifest = os .path .join (cur_dir , "./testdata/Manifest_data/missing_file_manifest.json" )
29142978
0 commit comments