#!/bin/sh
#
# ensure we print warnings for unauthenticated repositories
# 
set -e

TESTDIR=$(readlink -f $(dirname $0))
. $TESTDIR/framework

setupenvironment
configarchitecture "i386"
configcompression '.' 'gz'

# a "normal" package with source and binary
buildsimplenativepackage 'foo' 'all' '2.0'

setupaptarchive --no-update

APTARCHIVE="$(readlink -f ./aptarchive)"
find "$APTARCHIVE/dists/unstable" -name '*Release*' -delete

# update without authenticated files leads to warning
testfailureequal "Get:1 file:$APTARCHIVE unstable InRelease
Ign:1 file:$APTARCHIVE unstable InRelease
  File not found
Get:2 file:$APTARCHIVE unstable Release
Err:2 file:$APTARCHIVE unstable Release
  File not found
Reading package lists...
E: The repository 'file:$APTARCHIVE unstable Release' does not have a Release file.
N: Updating such a repository securily is impossible and therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details." aptget update --no-allow-insecure-repositories -q=0

# no package foo
testsuccessequal 'Listing...' apt list foo
testequal 'lock
partial' ls rootdir/var/lib/apt/lists

filesize() {
	stat -c%s "$(aptget indextargets --no-release-info --format '$(URI)' "Created-By: $1" | cut -d'/' -f 3- ).gz"
}
# allow override
#aptget update --allow-insecure-repositories -o Debug::pkgAcquire::worker=1
#exit
testwarningequal "Get:1 file:$APTARCHIVE unstable InRelease
Ign:1 file:$APTARCHIVE unstable InRelease
  File not found
Get:2 file:$APTARCHIVE unstable Release
Ign:2 file:$APTARCHIVE unstable Release
  File not found
Get:3 file:$APTARCHIVE unstable/main Sources
Ign:3 file:$APTARCHIVE unstable/main Sources
  File not found
Get:4 file:$APTARCHIVE unstable/main i386 Packages
Ign:4 file:$APTARCHIVE unstable/main i386 Packages
  File not found
Get:5 file:$APTARCHIVE unstable/main Translation-en
Ign:5 file:$APTARCHIVE unstable/main Translation-en
  File not found
Get:3 file:$APTARCHIVE unstable/main Sources
Ign:3 file:$APTARCHIVE unstable/main Sources
  File not found
Get:4 file:$APTARCHIVE unstable/main i386 Packages
Ign:4 file:$APTARCHIVE unstable/main i386 Packages
  File not found
Get:5 file:$APTARCHIVE unstable/main Translation-en
Ign:5 file:$APTARCHIVE unstable/main Translation-en
  File not found
Get:3 file:$APTARCHIVE unstable/main Sources
Ign:3 file:$APTARCHIVE unstable/main Sources
  File not found
Get:4 file:$APTARCHIVE unstable/main i386 Packages
Ign:4 file:$APTARCHIVE unstable/main i386 Packages
  File not found
Get:5 file:$APTARCHIVE unstable/main Translation-en
Ign:5 file:$APTARCHIVE unstable/main Translation-en
  File not found
Get:3 file:$APTARCHIVE unstable/main Sources [$(filesize 'Sources') B]
Get:4 file:$APTARCHIVE unstable/main i386 Packages [$(filesize 'Packages') B]
Get:5 file:$APTARCHIVE unstable/main Translation-en [$(filesize 'Translations') B]
Reading package lists...
W: The repository 'file:$APTARCHIVE unstable Release' does not have a Release file.
N: Data from such a repository can not be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details." aptget update --allow-insecure-repositories -q=0
# ensure we can not install the package
testfailureequal "WARNING: The following packages cannot be authenticated!
  foo
E: There were unauthenticated packages and -y was used without --allow-unauthenticated" aptget install -qq -y foo