|
1 | 1 | #!/usr/bin/env groovy
|
2 | 2 |
|
3 |
| -def command="/usr/src/app/pmd.groovy --codeFolder=/code/test --configFile=/code/test/config.json" |
| 3 | +importgroovy.json.JsonSlurper |
| 4 | +importgroovy.util.FileNameFinder |
4 | 5 |
|
5 |
| -def proc= command.execute() |
6 |
| -def out=newStringBuffer() |
7 |
| -def err=newStringBuffer() |
| 6 | +defsanityCheck() { |
| 7 | +def command="/usr/src/app/pmd.groovy --codeFolder=/code/test --configFile=/code/test/config.json" |
8 | 8 |
|
9 |
| -proc.waitForProcessOutput(out, err) |
| 9 | +def proc= command.execute() |
| 10 | +def out=newStringBuffer() |
| 11 | +def err=newStringBuffer() |
10 | 12 |
|
11 |
| -assert proc.exitValue()==0 |
12 |
| -assert!out.toString().isEmpty() |
13 |
| -assert err.toString().isEmpty() |
| 13 | + proc.waitForProcessOutput(out, err) |
| 14 | + |
| 15 | +assert proc.exitValue()==0 |
| 16 | +assert!out.toString().isEmpty() |
| 17 | +assert err.toString().isEmpty() |
| 18 | +} |
| 19 | + |
| 20 | +defengineCheckList() { |
| 21 | +def engine=newJsonSlurper().parse(newFile("engine.json"),"UTF-8") |
| 22 | +assert engine.name |
| 23 | +assert engine.description |
| 24 | +assert engine.description.size()<=140 |
| 25 | +assert engine.maintainer&& engine.maintainer.name&& engine.maintainer.email |
| 26 | +assert engine.languages.size()>0 |
| 27 | +assert engine.version |
| 28 | +} |
| 29 | + |
| 30 | +defdockerfileCheckList() { |
| 31 | +def dockerfile=newFile("Dockerfile").text |
| 32 | + |
| 33 | +assert dockerfile.contains("MAINTAINER") |
| 34 | +assert dockerfile.contains("VOLUME") |
| 35 | +assert dockerfile.contains("WORKDIR") |
| 36 | +assert dockerfile.contains("USER") |
| 37 | +assert dockerfile.contains("CMD") |
| 38 | + |
| 39 | +assert!dockerfile.toUpperCase().contains("EXPOSE") |
| 40 | +assert!dockerfile.toUpperCase().contains("ONBUILD") |
| 41 | +assert!dockerfile.toUpperCase().contains("ARG") |
| 42 | + |
| 43 | +assert dockerfile.split("\n")[-1].startsWith("CMD") |
| 44 | +} |
| 45 | + |
| 46 | +/** MAIN **/ |
| 47 | + |
| 48 | +sanityCheck() |
| 49 | +engineCheckList() |
| 50 | +dockerfileCheckList() |