@@ -651,6 +651,50 @@ def resp_mark_all_as_done(url, request):
651651 with HTTMock (resp_mark_all_as_done ):
652652 self .gl .todos .mark_all_as_done ()
653653
654+ def test_deployment (self ):
655+ content = '{"id": 42, "status": "success", "ref": "master"}'
656+ json_content = json .loads (content )
657+
658+ @urlmatch (
659+ scheme = "http" ,
660+ netloc = "localhost" ,
661+ path = "/api/v4/projects/1/deployments" ,
662+ method = "post" ,
663+ )
664+ def resp_deployment_create (url , request ):
665+ headers = {"content-type" : "application/json" }
666+ return response (200 , json_content , headers , None , 5 , request )
667+
668+ @urlmatch (
669+ scheme = "http" ,
670+ netloc = "localhost" ,
671+ path = "/api/v4/projects/1/deployments/42" ,
672+ method = "put" ,
673+ )
674+ def resp_deployment_update (url , request ):
675+ headers = {"content-type" : "application/json" }
676+ return response (200 , json_content , headers , None , 5 , request )
677+
678+ with HTTMock (resp_deployment_create ):
679+ deployment = self .gl .projects .get (1 , lazy = True ).deployments .create (
680+ {
681+ "environment" : "Test" ,
682+ "sha" : "1agf4gs" ,
683+ "ref" : "master" ,
684+ "tag" : False ,
685+ "status" : "created" ,
686+ }
687+ )
688+ self .assertEqual (deployment .id , 42 )
689+ self .assertEqual (deployment .status , "success" )
690+ self .assertEqual (deployment .ref , "master" )
691+
692+ with HTTMock (resp_deployment_update ):
693+ json_content ["status" ] = "failed"
694+ deployment .status = "failed"
695+ deployment .save ()
696+ self .assertEqual (deployment .status , "failed" )
697+
654698 def test_update_submodule (self ):
655699 @urlmatch (
656700 scheme = "http" , netloc = "localhost" , path = "/api/v4/projects/1$" , method = "get"
0 commit comments