@@ -811,6 +811,135 @@ describe("Replicate client", () => {
811
811
// Add more tests for error handling, edge cases, etc.
812
812
} ) ;
813
813
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
+
814
943
describe ( "predictions.create with model" , ( ) => {
815
944
test ( "Calls the correct API route with the correct payload" , async ( ) => {
816
945
nock ( BASE_URL )
0 commit comments