Skip to content

Commit

Permalink
test: use modern Squid Proxy with Authentication container image
Browse files Browse the repository at this point in the history
Signed-off-by: Marc Nuri <[email protected]>
  • Loading branch information
manusa committed May 30, 2024
1 parent 57b7d2d commit 7ec7e76
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 4 deletions.
14 changes: 13 additions & 1 deletion src/it/maven.settings.https-auth-proxy/setup.groovy
Original file line number Diff line number Diff line change
@@ -1,2 +1,14 @@
def dockerRun = 'docker run --rm -d --name test-auth-proxy -e SQUID_USERNAME=foo -e SQUID_PASSWORD=bar -p 0.0.0.0:3128:3128 robhaswell/squid-authenticated@sha256:6a99946c96d063981b329c22efc2b9ad1ac4e90d16ddcbb9d0b2d6773a7bea2b'.execute()
def dockerRun = 'docker run --rm -d --name test-auth-proxy -e SQUID_USERNAME=foo -e SQUID_PASSWORD=bar -p 0.0.0.0:3128:3128 marcnuri/squid-simple-auth:latest'.execute()
dockerRun.waitForOrKill(30_000)
def count = 10
def ready = false
while(count-- > 0 && !ready) {
def logOut = new StringBuilder(), logErr = new StringBuilder()
def dockerLogs = 'docker logs test-auth-proxy'.execute()
dockerLogs.consumeProcessOutput(logOut, logErr)
dockerLogs.waitForOrKill(10_000)
if (logOut.contains('Accepting HTTP Socket connections')) {
ready = true
}
Thread.sleep(1000)
}
3 changes: 2 additions & 1 deletion src/it/maven.settings.https-auth-proxy/verify.groovy
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
def logOut = new StringBuilder(), logErr = new StringBuilder()
def dockerLogs = 'docker exec test-auth-proxy cat /var/log/squid3/access.log'.execute()
def dockerLogs = 'docker exec test-auth-proxy cat /opt/squid/access.log'.execute()
dockerLogs.consumeProcessOutput(logOut, logErr)
dockerLogs.waitForOrKill(10_000)
def dockerStop = 'docker stop test-auth-proxy'.execute()
dockerStop.waitForOrKill(30_000)
new FileWriter(new File(basedir, 'access.log')).withWriter { it << logOut }
assert logOut.toString().contains('CONNECT services.gradle.org:443')
def buildLog = new File(basedir, 'build.log').text
assert buildLog.contains('Gradle 8.2.1 download complete')
14 changes: 13 additions & 1 deletion src/it/system.properties.https-auth-proxy/setup.groovy
Original file line number Diff line number Diff line change
@@ -1,2 +1,14 @@
def dockerRun = 'docker run --rm -d --name test-auth-proxy -e SQUID_USERNAME=foo -e SQUID_PASSWORD=bar -p 0.0.0.0:3128:3128 robhaswell/squid-authenticated@sha256:6a99946c96d063981b329c22efc2b9ad1ac4e90d16ddcbb9d0b2d6773a7bea2b'.execute()
def dockerRun = 'docker run --rm -d --name test-auth-proxy -e SQUID_USERNAME=foo -e SQUID_PASSWORD=bar -p 0.0.0.0:3128:3128 marcnuri/squid-simple-auth:latest'.execute()
dockerRun.waitForOrKill(30_000)
def count = 10
def ready = false
while(count-- > 0 && !ready) {
def logOut = new StringBuilder(), logErr = new StringBuilder()
def dockerLogs = 'docker logs test-auth-proxy'.execute()
dockerLogs.consumeProcessOutput(logOut, logErr)
dockerLogs.waitForOrKill(10_000)
if (logOut.contains('Accepting HTTP Socket connections')) {
ready = true
}
Thread.sleep(1000)
}
3 changes: 2 additions & 1 deletion src/it/system.properties.https-auth-proxy/verify.groovy
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
def logOut = new StringBuilder(), logErr = new StringBuilder()
def dockerLogs = 'docker exec test-auth-proxy cat /var/log/squid3/access.log'.execute()
def dockerLogs = 'docker exec test-auth-proxy cat /opt/squid/access.log'.execute()
dockerLogs.consumeProcessOutput(logOut, logErr)
dockerLogs.waitForOrKill(10_000)
def dockerStop = 'docker stop test-auth-proxy'.execute()
dockerStop.waitForOrKill(30_000)
new FileWriter(new File(basedir, 'access.log')).withWriter { it << logOut }
assert logOut.toString().contains('CONNECT services.gradle.org:443')
def buildLog = new File(basedir, 'build.log').text
assert buildLog.contains('Gradle 8.2.1 download complete')
1 change: 1 addition & 0 deletions src/it/system.properties.https-proxy/verify.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ dockerLogs.consumeProcessOutput(logOut, logErr)
dockerLogs.waitForOrKill(10_000)
def dockerStop = 'docker stop test-proxy'.execute()
dockerStop.waitForOrKill(30_000)
new FileWriter(new File(basedir, 'access.log')).withWriter { it << logOut }
assert logOut.toString().contains('CONNECT services.gradle.org:443')
def buildLog = new File(basedir, 'build.log').text
assert buildLog.contains('Gradle 8.2.1 download complete')

0 comments on commit 7ec7e76

Please sign in to comment.