mirror of
https://github.com/mudler/luet.git
synced 2025-07-02 18:21:52 +00:00
This changeset allows to have shared templates in a static folder "templates" present in each luet tree. If the directory is present, it gets scanned and templated accordingly on top of each package. This allows to use such folder to store custom blocks to share between packages. This is still experimental and subject to change, this is just a first pass version to provide the feature. It needs to be refined still as it would be more elegant to use the helm engine properly and map our structure to the engine instead of adapting it roughly. Fixes #224
70 lines
1.8 KiB
Bash
Executable File
70 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
export LUET_NOLOCK=true
|
|
|
|
oneTimeSetUp() {
|
|
export tmpdir="$(mktemp -d)"
|
|
}
|
|
|
|
oneTimeTearDown() {
|
|
rm -rf "$tmpdir"
|
|
}
|
|
|
|
testBuild() {
|
|
mkdir $tmpdir/testbuild
|
|
luet build --tree "$ROOT_DIR/tests/fixtures/shared_templates" --destination $tmpdir/testbuild --compression gzip --all
|
|
buildst=$?
|
|
assertEquals 'builds successfully' "$buildst" "0"
|
|
assertTrue 'create packages' "[ -e '$tmpdir/testbuild/foo-test-1.0.package.tar.gz' ]"
|
|
assertTrue 'create packages' "[ -e '$tmpdir/testbuild/bar-test-1.0.package.tar.gz' ]"
|
|
}
|
|
|
|
testRepo() {
|
|
assertTrue 'no repository' "[ ! -e '$tmpdir/testbuild/repository.yaml' ]"
|
|
luet create-repo --tree "$ROOT_DIR/tests/fixtures/shared_templates" \
|
|
--output $tmpdir/testbuild \
|
|
--packages $tmpdir/testbuild \
|
|
--name "test" \
|
|
--descr "Test Repo" \
|
|
--urls $tmpdir/testrootfs \
|
|
--type disk > /dev/null
|
|
|
|
createst=$?
|
|
assertEquals 'create repo successfully' "$createst" "0"
|
|
assertTrue 'create repository' "[ -e '$tmpdir/testbuild/repository.yaml' ]"
|
|
}
|
|
|
|
testConfig() {
|
|
mkdir $tmpdir/testrootfs
|
|
cat <<EOF > $tmpdir/luet.yaml
|
|
general:
|
|
debug: true
|
|
system:
|
|
rootfs: $tmpdir/testrootfs
|
|
database_path: "/"
|
|
database_engine: "boltdb"
|
|
config_from_host: true
|
|
repositories:
|
|
- name: "main"
|
|
type: "disk"
|
|
enable: true
|
|
urls:
|
|
- "$tmpdir/testbuild"
|
|
EOF
|
|
luet config --config $tmpdir/luet.yaml
|
|
res=$?
|
|
assertEquals 'config test successfully' "$res" "0"
|
|
}
|
|
|
|
testInstall() {
|
|
luet install -y --config $tmpdir/luet.yaml test/foo test/bar
|
|
installst=$?
|
|
assertEquals 'install test failed' "$installst" "0"
|
|
assertTrue 'package bar installed' "[ -e '$tmpdir/testrootfs/bar' ]"
|
|
assertTrue 'package foo installed' "[ -e '$tmpdir/testrootfs/foo' ]"
|
|
}
|
|
|
|
# Load shUnit2.
|
|
. "$ROOT_DIR/tests/integration/shunit2"/shunit2
|
|
|