@@ -811,6 +811,135 @@ describe("Replicate client", () => {
811811 // Add more tests for error handling, edge cases, etc.
812812 } ) ;
813813
814+ describe ( "deployments.create" , ( ) => {
815+ test ( "Calls the correct API route with the correct payload" , async ( ) => {
816+ nock ( BASE_URL )
817+ . post ( "/deployments" )
818+ . reply ( 200 , {
819+ owner : "acme" ,
820+ name : "my-app-image-generator" ,
821+ current_release : {
822+ number : 1 ,
823+ model : "stability-ai/sdxl" ,
824+ version :
825+ "da77bc59ee60423279fd632efb4795ab731d9e3ca9705ef3341091fb989b7eaf" ,
826+ created_at : "2024-02-15T16:32:57.018467Z" ,
827+ created_by : {
828+ type : "organization" ,
829+ username : "acme" ,
830+ name : "Acme Corp, Inc." ,
831+ github_url : "https://github.com/acme" ,
832+ } ,
833+ configuration : {
834+ hardware : "gpu-t4" ,
835+ scaling : {
836+ min_instances : 1 ,
837+ max_instances : 5 ,
838+ } ,
839+ } ,
840+ } ,
841+ } ) ;
842+
843+ const deployment = await client . deployments . create ( {
844+ name : "my-app-image-generator" ,
845+ model : "stability-ai/sdxl" ,
846+ version :
847+ "da77bc59ee60423279fd632efb4795ab731d9e3ca9705ef3341091fb989b7eaf" ,
848+ hardware : "gpu-t4" ,
849+ min_instances : 1 ,
850+ max_instances : 5 ,
851+ } ) ;
852+
853+ expect ( deployment . owner ) . toBe ( "acme" ) ;
854+ expect ( deployment . name ) . toBe ( "my-app-image-generator" ) ;
855+ expect ( deployment . current_release . model ) . toBe ( "stability-ai/sdxl" ) ;
856+ } ) ;
857+ // Add more tests for error handling, edge cases, etc.
858+ } ) ;
859+
860+ describe ( "deployments.update" , ( ) => {
861+ test ( "Calls the correct API route with the correct payload" , async ( ) => {
862+ nock ( BASE_URL )
863+ . patch ( "/deployments/acme/my-app-image-generator" )
864+ . reply ( 200 , {
865+ owner : "acme" ,
866+ name : "my-app-image-generator" ,
867+ current_release : {
868+ number : 2 ,
869+ model : "stability-ai/sdxl" ,
870+ version :
871+ "632231d0d49d34d5c4633bd838aee3d81d936e59a886fbf28524702003b4c532" ,
872+ created_at : "2024-02-16T08:14:22.345678Z" ,
873+ created_by : {
874+ type : "organization" ,
875+ username : "acme" ,
876+ name : "Acme Corp, Inc." ,
877+ github_url : "https://github.com/acme" ,
878+ } ,
879+ configuration : {
880+ hardware : "gpu-a40-large" ,
881+ scaling : {
882+ min_instances : 3 ,
883+ max_instances : 10 ,
884+ } ,
885+ } ,
886+ } ,
887+ } ) ;
888+
889+ const deployment = await client . deployments . update (
890+ "acme" ,
891+ "my-app-image-generator" ,
892+ {
893+ version :
894+ "632231d0d49d34d5c4633bd838aee3d81d936e59a886fbf28524702003b4c532" ,
895+ hardware : "gpu-a40-large" ,
896+ min_instances : 3 ,
897+ max_instances : 10 ,
898+ }
899+ ) ;
900+
901+ expect ( deployment . current_release . number ) . toBe ( 2 ) ;
902+ expect ( deployment . current_release . version ) . toBe (
903+ "632231d0d49d34d5c4633bd838aee3d81d936e59a886fbf28524702003b4c532"
904+ ) ;
905+ expect ( deployment . current_release . configuration . hardware ) . toBe (
906+ "gpu-a40-large"
907+ ) ;
908+ expect (
909+ deployment . current_release . configuration . scaling ?. min_instances
910+ ) . toBe ( 3 ) ;
911+ expect (
912+ deployment . current_release . configuration . scaling ?. max_instances
913+ ) . toBe ( 10 ) ;
914+ } ) ;
915+ // Add more tests for error handling, edge cases, etc.
916+ } ) ;
917+
918+ describe ( "deployments.list" , ( ) => {
919+ test ( "Calls the correct API route" , async ( ) => {
920+ nock ( BASE_URL )
921+ . get ( "/deployments" )
922+ . reply ( 200 , {
923+ next : null ,
924+ previous : null ,
925+ results : [
926+ {
927+ owner : "acme" ,
928+ name : "my-app-image-generator" ,
929+ current_release : {
930+ // ...
931+ } ,
932+ } ,
933+ // ...
934+ ] ,
935+ } ) ;
936+
937+ const deployments = await client . deployments . list ( ) ;
938+ expect ( deployments . results . length ) . toBe ( 1 )
939+ } ) ;
940+ // Add more tests for pagination, error handling, edge cases, etc.
941+ } ) ;
942+
814943 describe ( "predictions.create with model" , ( ) => {
815944 test ( "Calls the correct API route with the correct payload" , async ( ) => {
816945 nock ( BASE_URL )
0 commit comments