Browse Source

tests: reenable basic auth test and add @ in username

On launchpad #1558484 a user reports that @ in the authentication tokens
parsing of sources.list isn't working in an older (precise) version. It
isn't the recommended way of specifying passwords and co (auth.conf is),
but we can at least test for regressions (and in this case test at all…
who was that "clever" boy disabling a test with exit……… oh, nevermind.

Git-Dch: Ignore
tags/debian/1.2.8
David Kalnischkies 5 years ago
parent
commit
28b2efcb19
3 changed files with 17 additions and 7 deletions
  1. +2
    -2
      test/integration/framework
  2. +6
    -4
      test/integration/test-authentication-basic
  3. +9
    -1
      test/libapt/uri_test.cc

+ 2
- 2
test/integration/framework View File

@@ -1156,8 +1156,8 @@ rewritesourceslist() {
local APTARCHIVE2="copy://$(readlink -f "${TMPWORKINGDIRECTORY}/aptarchive" | sed 's# #%20#g')"
for LIST in $(find rootdir/etc/apt/sources.list.d/ -name 'apt-test-*.list'); do
sed -i $LIST -e "s#$APTARCHIVE#${1}#" -e "s#$APTARCHIVE2#${1}#" \
-e "s#http://localhost:${APTHTTPPORT}/#${1}#" \
-e "s#https://localhost:${APTHTTPSPORT}/#${1}#"
-e "s#http://[^@]*@\?localhost:${APTHTTPPORT}/\?#${1}#" \
-e "s#https://[^@]*@\?localhost:${APTHTTPSPORT}/\?#${1}#"
done
}



+ 6
- 4
test/integration/test-authentication-basic View File

@@ -9,9 +9,8 @@ configarchitecture 'i386'

insertpackage 'unstable' 'foo' 'all' '1'
setupaptarchive --no-update
exit

changetohttpswebserver --authorization="$(printf '%s' 'star:hunter2' | base64 )"
changetohttpswebserver --authorization="$(printf '%s' 'star@irc:hunter2' | base64 )"

echo 'See, when YOU type hunter2, it shows to us as *******' > aptarchive/bash

@@ -62,7 +61,7 @@ runtest() {

# good auth
authfile 'machine localhost
login star
login star@irc
password hunter2'
testauthsuccess "$1"

@@ -78,7 +77,7 @@ login debian
password jessie

machine localhost
login star
login star@irc
password hunter2'
testauthsuccess "$1"
}
@@ -86,6 +85,9 @@ password hunter2'
msgmsg 'server basic auth'
rewritesourceslist "http://localhost:${APTHTTPPORT}"
runtest "http://localhost:${APTHTTPPORT}"
rewritesourceslist "http://star%40irc:hunter2@localhost:${APTHTTPPORT}"
authfile ''
testauthsuccess "http://star%40irc:hunter2@localhost:${APTHTTPPORT}"
rewritesourceslist "https://localhost:${APTHTTPSPORT}"
runtest "https://localhost:${APTHTTPSPORT}"
rewritesourceslist "http://localhost:${APTHTTPPORT}"


+ 9
- 1
test/libapt/uri_test.cc View File

@@ -159,7 +159,7 @@ TEST(URITest, RFC2732)
EXPECT_EQ("cdrom://Foo Bar Cow", URI::SiteOnly(U));
EXPECT_EQ("cdrom://Foo Bar Cow/debian", URI::ArchiveOnly(U));
EXPECT_EQ("cdrom://Foo Bar Cow/debian/", URI::NoUserPassword(U));
// percent encoded
// percent encoded password
U = URI("ftp://foo:b%40r@example.org");
EXPECT_EQ("foo", U.User);
EXPECT_EQ("b@r", U.Password);
@@ -167,4 +167,12 @@ TEST(URITest, RFC2732)
EXPECT_EQ("ftp://example.org", URI::SiteOnly(U));
EXPECT_EQ("ftp://example.org", URI::ArchiveOnly(U));
EXPECT_EQ("ftp://example.org/", URI::NoUserPassword(U));
// percent encoded user
U = URI("ftp://f%40o:bar@example.org");
EXPECT_EQ("f@o", U.User);
EXPECT_EQ("bar", U.Password);
EXPECT_EQ("ftp://f%40o:bar@example.org/", (std::string) U);
EXPECT_EQ("ftp://example.org", URI::SiteOnly(U));
EXPECT_EQ("ftp://example.org", URI::ArchiveOnly(U));
EXPECT_EQ("ftp://example.org/", URI::NoUserPassword(U));
}

Loading…
Cancel
Save