@@ -339,6 +339,7 @@ func TestTemplatePush(t *testing.T) {
339339inv ,root := clitest .New (t ,"templates" ,"push" ,
340340"--test.provisioner" ,string (database .ProvisionerTypeEcho ),
341341"--test.workdir" ,source ,
342+ "--force-tty" ,
342343)
343344clitest .SetupConfig (t ,templateAdmin ,root )
344345pty := ptytest .New (t ).Attach (inv )
@@ -1075,6 +1076,45 @@ func TestTemplatePush(t *testing.T) {
10751076require .Equal (t ,templateName ,template .Name )
10761077require .NotEqual (t ,uuid .Nil ,template .ActiveVersionID )
10771078})
1079+
1080+ t .Run ("NoStdinWithCurrentDirectory" ,func (t * testing.T ) {
1081+ t .Parallel ()
1082+ client := coderdtest .New (t ,& coderdtest.Options {IncludeProvisionerDaemon :true })
1083+ owner := coderdtest .CreateFirstUser (t ,client )
1084+ templateAdmin ,_ := coderdtest .CreateAnotherUser (t ,client ,owner .OrganizationID ,rbac .RoleTemplateAdmin ())
1085+ version := coderdtest .CreateTemplateVersion (t ,client ,owner .OrganizationID ,nil )
1086+ _ = coderdtest .AwaitTemplateVersionJobCompleted (t ,client ,version .ID )
1087+
1088+ template := coderdtest .CreateTemplate (t ,client ,owner .OrganizationID ,version .ID )
1089+
1090+ source := clitest .CreateTemplateVersionSource (t ,& echo.Responses {
1091+ Parse :echo .ParseComplete ,
1092+ ProvisionApply :echo .ApplyComplete ,
1093+ })
1094+
1095+ inv ,root := clitest .New (t ,"templates" ,"push" ,template .Name ,
1096+ "--directory" ,"." ,
1097+ "--test.provisioner" ,string (database .ProvisionerTypeEcho ),
1098+ "--test.workdir" ,source ,
1099+ "--name" ,"example" ,
1100+ "--yes" )
1101+ clitest .SetupConfig (t ,templateAdmin ,root )
1102+
1103+ inv .Stdin = strings .NewReader ("invalid tar content that would cause failure" )
1104+
1105+ ctx ,cancel := context .WithTimeout (context .Background (),testutil .WaitMedium )
1106+ defer cancel ()
1107+
1108+ err := inv .WithContext (ctx ).Run ()
1109+ require .NoError (t ,err ,"Should succeed without reading from stdin" )
1110+
1111+ templateVersions ,err := client .TemplateVersionsByTemplate (ctx , codersdk.TemplateVersionsByTemplateRequest {
1112+ TemplateID :template .ID ,
1113+ })
1114+ require .NoError (t ,err )
1115+ require .Len (t ,templateVersions ,2 )
1116+ require .Equal (t ,"example" ,templateVersions [1 ].Name )
1117+ })
10781118})
10791119}
10801120