@@ -468,3 +468,44 @@ def test_command_good(self):
468468 self .assertEqual (c ._command , 'start worker' )
469469 c .type = 'cmd'
470470 self .assertEqual (c ._command , '' )
471+
472+ def test_run_command_good (self ):
473+ """Test the run command for each container workflow"""
474+ url = '/v1/apps'
475+ response = self .client .post (url , HTTP_AUTHORIZATION = 'token {}' .format (self .token ))
476+ self .assertEqual (response .status_code , 201 )
477+ app_id = response .data ['id' ]
478+ app = App .objects .get (id = app_id )
479+ user = User .objects .get (username = 'autotest' )
480+ # dockerfile + procfile worflow
481+ build = Build .objects .create (owner = user ,
482+ app = app ,
483+ image = "qwerty" ,
484+ procfile = {'web' : 'node server.js' ,
485+ 'worker' : 'node worker.js' },
486+ dockerfile = 'foo' ,
487+ sha = 'somereallylongsha' )
488+ # create an initial release
489+ release = Release .objects .create (version = 2 ,
490+ owner = user ,
491+ app = app ,
492+ config = app .config_set .latest (),
493+ build = build )
494+ # create a container
495+ c = Container .objects .create (owner = user ,
496+ app = app ,
497+ release = release ,
498+ type = 'web' ,
499+ num = 1 )
500+ rc , output = c .run ('echo hi' )
501+ self .assertEqual (rc , 0 )
502+ self .assertEqual (json .loads (output )['entrypoint' ], '/bin/sh' )
503+ # docker image workflow
504+ build .dockerfile = None
505+ build .sha = None
506+ rc , output = c .run ('echo hi' )
507+ self .assertEqual (json .loads (output )['entrypoint' ], '/bin/sh' )
508+ # procfile workflow
509+ build .sha = 'somereallylongsha'
510+ rc , output = c .run ('echo hi' )
511+ self .assertEqual (json .loads (output )['entrypoint' ], '/runner/init' )
0 commit comments