ooni-probe-cli/E2E/miniooni.bash
Simone Basso 0fc5d0e904
fix(E2E): ensure miniooni.bash is WAI (#972)
This diff re-enables `E2E/miniooni.bash`. To make it working properly, we
needed to figure out which were the right cloudfronts to use.

I looked into the configuration and determined that both cloudfronts
should be used because they basically map to the same host.

I also determined it was backwards to test a mixture of prod and testing
APIs, and probably also flaky. So, I  choose to only test the prod.

Additionally, I added support for testing all supported tunnels.

Closes https://github.com/ooni/probe/issues/2336
2022-10-08 13:14:11 +02:00

52 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# This script checks whether we're able to submit measurements to
# different backends using miniooni. It fails if we cannot find in
# the specific backend the measurement we submitted.
#
# Note: using --tunnel=psiphon assumes that we have been compiling
# miniooni with builtin support for psiphon.
#
# Note about cloudfront: as of 2022-10-08, dvp6h0xblpcqp.cloudfront.net
# and dkyhjv0wpi2dk.cloudfront.net front distinct aliases of the
# same backend host (backend-fsn.ooni.org). We can use either addr
# and the result should be the same. So, let us test that.
set -euxo pipefail
rm -f E2E/o.jsonl
miniooni="${1:-./miniooni}"
$miniooni --yes -o E2E/o.jsonl \
--probe-services=https://api.ooni.io/ \
--tunnel=none \
web_connectivity -i https://mail.google.com/robots.txt
$miniooni --yes -o E2E/o.jsonl \
--probe-services=https://dvp6h0xblpcqp.cloudfront.net/ \
--tunnel=none \
web_connectivity -i https://mail.google.com/robots.txt
$miniooni --yes -o E2E/o.jsonl \
--probe-services=https://dkyhjv0wpi2dk.cloudfront.net/ \
--tunnel=none \
web_connectivity -i https://mail.google.com/robots.txt
$miniooni --yes -o E2E/o.jsonl \
--probe-services=https://api.ooni.io/ \
--tunnel=tor \
web_connectivity -i https://mail.google.com/robots.txt
$miniooni --yes -o E2E/o.jsonl \
--probe-services=https://api.ooni.io/ \
--tunnel=psiphon \
web_connectivity -i https://mail.google.com/robots.txt
$miniooni --yes -o E2E/o.jsonl \
--probe-services=https://api.ooni.io/ \
--tunnel=torsf \
web_connectivity -i https://mail.google.com/robots.txt
go run ./internal/cmd/e2epostprocess -expected 6 -backend https://api.ooni.io/