diff --git a/src/compose/service.coffee b/src/compose/service.coffee index 22783e0e..39f9d78d 100644 --- a/src/compose/service.coffee +++ b/src/compose/service.coffee @@ -62,7 +62,7 @@ getUser = (service, imageInfo) -> return service.user ? imageInfo?.Config?.User ? '' getWorkingDir = (service, imageInfo) -> - return service.workingDir ? imageInfo?.Config?.WorkingDir ? '' + return (service.workingDir ? imageInfo?.Config?.WorkingDir ? '').replace(/(^.+)\/$/, '$1') buildHealthcheckTest = (test) -> if _.isString(test) diff --git a/test/compose/service.spec.coffee b/test/compose/service.spec.coffee index 22d6362c..8af9450c 100644 --- a/test/compose/service.spec.coffee +++ b/test/compose/service.spec.coffee @@ -147,3 +147,17 @@ describe 'compose/service.cofee', -> expect(makeComposeServiceWithLimit('64gb').memLimit).to.equal(68719476736) expect(makeComposeServiceWithLimit('64Gb').memLimit).to.equal(68719476736) + describe 'getWorkingDir', -> + makeComposeServiceWithWorkdir = (workdir) -> + new Service( + appId: 123456, + serviceId: 123456, + serviceName: 'foobar' + workingDir: workdir + ) + + it 'should remove a trailing slash', -> + expect(makeComposeServiceWithWorkdir('/usr/src/app/').workingDir).to.equal('/usr/src/app') + expect(makeComposeServiceWithWorkdir('/').workingDir).to.equal('/') + expect(makeComposeServiceWithWorkdir('/usr/src/app').workingDir).to.equal('/usr/src/app') + expect(makeComposeServiceWithWorkdir('').workingDir).to.equal('')