Fix case where UID and GID are passed and added a test for that case.

This commit is contained in:
PusMinus0 2018-11-22 10:11:53 +01:00
parent f39eb31253
commit 19f8bd5a41
6 changed files with 58 additions and 25 deletions

3
.gitignore vendored
View file

@ -1,4 +1,5 @@
*\~
.\#*
\#*\#
.config/
.config/
goss.yaml

View file

@ -15,7 +15,12 @@ for image in "${images[@]}"; do
docker build -t $tag -f $image.Dockerfile .
echo "Testing image"
cp goss-default.yaml goss.yaml
dgoss run $tag
echo "Testing again with UID and GID"
cp goss-uid-test.yaml goss.yaml
dgoss run -e UID=1001 -e GID=101 $tag
done

View file

@ -1,8 +1,8 @@
#!/bin/sh
# Set defaults for uid and gid to not be root
if [ -n $GID ]; then GID=100; fi
if [ -n $UID ]; then UID=1000; fi
if [ -z $GID ]; then GID=100; fi
if [ -z $UID ]; then UID=1000; fi
if [ "$GID" -ne "0" ]; then
GROUP=jdownloader

37
goss-default.yaml Normal file
View file

@ -0,0 +1,37 @@
file:
/opt/JDownloader/JDownloader.jar:
exists: true
mode:
or:
- "0664"
- "0644"
filetype: file
contains: []
/opt/JDownloader/sevenzipjbinding1509.jar:
exists: true
mode:
or:
- "0664"
- "0644"
filetype: file
contains: []
/opt/JDownloader/sevenzipjbinding1509Linux.jar:
exists: true
mode:
or:
- "0664"
- "0644"
filetype: file
contains: []
package:
ffmpeg:
installed: true
user:
jdownloader:
exists: true
uid: 1000
gid: 100
groups:
- users
home: []
shell: /bin/false

9
goss-uid-test.yaml Normal file
View file

@ -0,0 +1,9 @@
user:
jdownloader:
exists: true
uid: 1001
gid: 101
groups:
- jdownloader
home: []
shell: /bin/false

View file

@ -1,28 +1,9 @@
file:
/opt/JDownloader/JDownloader.jar:
exists: true
mode: "0644"
filetype: file
contains: []
/opt/JDownloader/sevenzipjbinding1509.jar:
exists: true
mode: "0664"
filetype: file
contains: []
/opt/JDownloader/sevenzipjbinding1509Linux.jar:
exists: true
mode: "0664"
filetype: file
contains: []
package:
ffmpeg:
installed: true
user:
jdownloader:
exists: true
uid: 1000
gid: 100
uid: 1001
gid: 101
groups:
- users
- jdownloader
home: []
shell: /bin/false