mirror of
https://github.com/bunkerity/bunkerweb
synced 2026-05-24 09:28:37 +00:00
fix country core tests and reflect changes on redis core tests
This commit is contained in:
parent
19a2c08c53
commit
85e0a8292c
5 changed files with 111 additions and 111 deletions
|
|
@ -1,17 +1,17 @@
|
|||
version: "3.5"
|
||||
|
||||
services:
|
||||
tests-fr:
|
||||
tests-gb:
|
||||
build: .
|
||||
environment:
|
||||
PYTHONUNBUFFERED: "1"
|
||||
COUNTRY: "FR"
|
||||
COUNTRY: "GB"
|
||||
BLACKLIST_COUNTRY: ""
|
||||
WHITELIST_COUNTRY: ""
|
||||
extra_hosts:
|
||||
- "www.example.com:2.0.0.2"
|
||||
networks:
|
||||
bw-fr-network:
|
||||
bw-gb-network:
|
||||
ipv4_address: 2.0.0.3
|
||||
|
||||
tests-us:
|
||||
|
|
@ -28,7 +28,7 @@ services:
|
|||
ipv4_address: 8.0.0.3
|
||||
|
||||
networks:
|
||||
bw-fr-network:
|
||||
bw-gb-network:
|
||||
external: true
|
||||
bw-us-network:
|
||||
external: true
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ services:
|
|||
bw-universe:
|
||||
bw-us-network:
|
||||
ipv4_address: 8.0.0.2
|
||||
bw-fr-network:
|
||||
bw-gb-network:
|
||||
ipv4_address: 2.0.0.2
|
||||
|
||||
bw-scheduler:
|
||||
|
|
@ -70,8 +70,8 @@ networks:
|
|||
driver: default
|
||||
config:
|
||||
- subnet: 8.0.0.0/8
|
||||
bw-fr-network:
|
||||
name: bw-fr-network
|
||||
bw-gb-network:
|
||||
name: bw-gb-network
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ try:
|
|||
|
||||
status_code = get(
|
||||
"http://www.example.com",
|
||||
headers={"Host": "www.example.com"} | ({"X-Forwarded-For": "2.0.0.3" if country == "FR" else "8.0.0.3"} if getenv("TEST_TYPE", "docker") == "linux" else {}),
|
||||
headers={"Host": "www.example.com"} | ({"X-Forwarded-For": "2.0.0.3" if country == "GB" else "8.0.0.3"} if getenv("TEST_TYPE", "docker") == "linux" else {}),
|
||||
).status_code
|
||||
|
||||
if status_code == 403:
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@ cleanup_stack () {
|
|||
exit_code=$?
|
||||
if [[ $end -eq 1 || $exit_code = 1 ]] || [[ $end -eq 0 && $exit_code = 0 ]] && [ $manual = 0 ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@BLACKLIST_COUNTRY: "GB"@BLACKLIST_COUNTRY: ""@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@WHITELIST_COUNTRY: "FR"@WHITELIST_COUNTRY: ""@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@BLACKLIST_COUNTRY: "US"@BLACKLIST_COUNTRY: ""@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@WHITELIST_COUNTRY: "GB"@WHITELIST_COUNTRY: ""@' {} \;
|
||||
else
|
||||
sudo sed -i 's@BLACKLIST_COUNTRY=.*$@BLACKLIST_COUNTRY=@' /etc/bunkerweb/variables.env
|
||||
sudo sed -i 's@WHITELIST_COUNTRY=.*$@WHITELIST_COUNTRY=@' /etc/bunkerweb/variables.env
|
||||
|
|
@ -86,21 +86,21 @@ do
|
|||
elif [ "$test" = "blacklist" ] ; then
|
||||
echo "🌍 Running tests when blacklisting United States ..."
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@BLACKLIST_COUNTRY: ""@BLACKLIST_COUNTRY: "GB"@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@BLACKLIST_COUNTRY: ""@BLACKLIST_COUNTRY: "US"@' {} \;
|
||||
else
|
||||
sudo sed -i 's@BLACKLIST_COUNTRY=.*$@BLACKLIST_COUNTRY=GB@' /etc/bunkerweb/variables.env
|
||||
export BLACKLIST_COUNTRY="GB"
|
||||
sudo sed -i 's@BLACKLIST_COUNTRY=.*$@BLACKLIST_COUNTRY=US@' /etc/bunkerweb/variables.env
|
||||
export BLACKLIST_COUNTRY="US"
|
||||
fi
|
||||
elif [ "$test" = "whitelist" ] ; then
|
||||
echo "🌍 Running tests when whitelisting France ..."
|
||||
echo "🌍 Running tests when whitelisting England ..."
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@BLACKLIST_COUNTRY: "GB"@BLACKLIST_COUNTRY: ""@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@WHITELIST_COUNTRY: ""@WHITELIST_COUNTRY: "FR"@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@BLACKLIST_COUNTRY: "US"@BLACKLIST_COUNTRY: ""@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@WHITELIST_COUNTRY: ""@WHITELIST_COUNTRY: "GB"@' {} \;
|
||||
else
|
||||
sudo sed -i 's@BLACKLIST_COUNTRY=.*$@BLACKLIST_COUNTRY=@' /etc/bunkerweb/variables.env
|
||||
sudo sed -i 's@WHITELIST_COUNTRY=.*$@WHITELIST_COUNTRY=FR@' /etc/bunkerweb/variables.env
|
||||
sudo sed -i 's@WHITELIST_COUNTRY=.*$@WHITELIST_COUNTRY=GB@' /etc/bunkerweb/variables.env
|
||||
unset BLACKLIST_COUNTRY
|
||||
export WHITELIST_COUNTRY="FR"
|
||||
export WHITELIST_COUNTRY="GB"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
@ -198,17 +198,17 @@ do
|
|||
|
||||
# Start tests
|
||||
|
||||
echo "🌍 Starting the FR country"
|
||||
echo "🌍 Starting the GB country"
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose -f docker-compose.test.yml up tests-fr --abort-on-container-exit --exit-code-from tests-fr
|
||||
docker compose -f docker-compose.test.yml up tests-gb --abort-on-container-exit --exit-code-from tests-gb
|
||||
else
|
||||
export COUNTRY="FR"
|
||||
export COUNTRY="GB"
|
||||
python3 main.py
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2181
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🌍 Test \"$test\" failed for the FR country ❌"
|
||||
echo "🌍 Test \"$test\" failed for the GB country ❌"
|
||||
echo "🛡️ Showing BunkerWeb and BunkerWeb Scheduler logs ..."
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose logs bw bw-scheduler
|
||||
|
|
@ -223,7 +223,7 @@ do
|
|||
fi
|
||||
exit 1
|
||||
else
|
||||
echo "🌍 Test \"$test\" succeeded for the FR country ✅"
|
||||
echo "🌍 Test \"$test\" succeeded for the GB country ✅"
|
||||
fi
|
||||
|
||||
echo "🌍 Starting the GB country"
|
||||
|
|
|
|||
|
|
@ -280,113 +280,113 @@ try:
|
|||
flush=True,
|
||||
)
|
||||
|
||||
print(
|
||||
"ℹ️ Checking if the country key was created and has the correct value ...",
|
||||
flush=True,
|
||||
)
|
||||
# print(
|
||||
# "ℹ️ Checking if the country key was created and has the correct value ...",
|
||||
# flush=True,
|
||||
# )
|
||||
|
||||
key_value = redis_client.get(f"plugin_country_www.example.com{ip_to_check}")
|
||||
# key_value = redis_client.get(f"plugin_country_www.example.com{ip_to_check}")
|
||||
|
||||
if key_value is None:
|
||||
print(
|
||||
f'❌ The country key ("plugin_country_www.example.com{ip_to_check}") was not found, exiting ...\nkeys: {redis_client.keys()}',
|
||||
flush=True,
|
||||
)
|
||||
exit(1)
|
||||
# if key_value is None:
|
||||
# print(
|
||||
# f'❌ The country key ("plugin_country_www.example.com{ip_to_check}") was not found, exiting ...\nkeys: {redis_client.keys()}',
|
||||
# flush=True,
|
||||
# )
|
||||
# exit(1)
|
||||
|
||||
print(
|
||||
f"✅ The country key was found, the value is {key_value.decode()}",
|
||||
flush=True,
|
||||
)
|
||||
# print(
|
||||
# f"✅ The country key was found, the value is {key_value.decode()}",
|
||||
# flush=True,
|
||||
# )
|
||||
|
||||
print(
|
||||
"ℹ️ Checking if the whitelist key was created and has the correct value ...",
|
||||
flush=True,
|
||||
)
|
||||
# print(
|
||||
# "ℹ️ Checking if the whitelist key was created and has the correct value ...",
|
||||
# flush=True,
|
||||
# )
|
||||
|
||||
key_value = redis_client.get(f"plugin_whitelist_www.example.comip{ip_to_check}")
|
||||
# key_value = redis_client.get(f"plugin_whitelist_www.example.comip{ip_to_check}")
|
||||
|
||||
if key_value is None:
|
||||
print(
|
||||
f'❌ The whitelist key ("plugin_whitelist_www.example.comip{ip_to_check}") was not found, exiting ...\nkeys: {redis_client.keys()}',
|
||||
flush=True,
|
||||
)
|
||||
exit(1)
|
||||
if key_value != b"ok":
|
||||
print(
|
||||
f'❌ The whitelist key ("plugin_whitelist_www.example.comip{ip_to_check}") was found, but the value is not "ok" ({key_value.decode()}), exiting ...\nkeys: {redis_client.keys()}',
|
||||
)
|
||||
# if key_value is None:
|
||||
# print(
|
||||
# f'❌ The whitelist key ("plugin_whitelist_www.example.comip{ip_to_check}") was not found, exiting ...\nkeys: {redis_client.keys()}',
|
||||
# flush=True,
|
||||
# )
|
||||
# exit(1)
|
||||
# if key_value != b"ok":
|
||||
# print(
|
||||
# f'❌ The whitelist key ("plugin_whitelist_www.example.comip{ip_to_check}") was found, but the value is not "ok" ({key_value.decode()}), exiting ...\nkeys: {redis_client.keys()}',
|
||||
# )
|
||||
|
||||
print(
|
||||
f"✅ The whitelist key was found, the value is {key_value.decode()}",
|
||||
flush=True,
|
||||
)
|
||||
# print(
|
||||
# f"✅ The whitelist key was found, the value is {key_value.decode()}",
|
||||
# flush=True,
|
||||
# )
|
||||
|
||||
print(
|
||||
"ℹ️ Checking if the blacklist key was created and has the correct value ...",
|
||||
flush=True,
|
||||
)
|
||||
# print(
|
||||
# "ℹ️ Checking if the blacklist key was created and has the correct value ...",
|
||||
# flush=True,
|
||||
# )
|
||||
|
||||
key_value = redis_client.get(f"plugin_blacklist_www.example.comip{ip_to_check}")
|
||||
# key_value = redis_client.get(f"plugin_blacklist_www.example.comip{ip_to_check}")
|
||||
|
||||
if key_value is None:
|
||||
print(
|
||||
f'❌ The blacklist key ("plugin_blacklist_www.example.comip{ip_to_check}") was not found, exiting ...\nkeys: {redis_client.keys()}',
|
||||
flush=True,
|
||||
)
|
||||
exit(1)
|
||||
if key_value != b"ok":
|
||||
print(
|
||||
f'❌ The blacklist key ("plugin_blacklist_www.example.comip{ip_to_check}") was found, but the value is not "ok" ({key_value.decode()}), exiting ...\nkeys: {redis_client.keys()}',
|
||||
)
|
||||
# if key_value is None:
|
||||
# print(
|
||||
# f'❌ The blacklist key ("plugin_blacklist_www.example.comip{ip_to_check}") was not found, exiting ...\nkeys: {redis_client.keys()}',
|
||||
# flush=True,
|
||||
# )
|
||||
# exit(1)
|
||||
# if key_value != b"ok":
|
||||
# print(
|
||||
# f'❌ The blacklist key ("plugin_blacklist_www.example.comip{ip_to_check}") was found, but the value is not "ok" ({key_value.decode()}), exiting ...\nkeys: {redis_client.keys()}',
|
||||
# )
|
||||
|
||||
print(
|
||||
f"✅ The blacklist key was found, the value is {key_value.decode()}",
|
||||
flush=True,
|
||||
)
|
||||
# print(
|
||||
# f"✅ The blacklist key was found, the value is {key_value.decode()}",
|
||||
# flush=True,
|
||||
# )
|
||||
|
||||
print(
|
||||
"ℹ️ Checking if the greylist key was created and has the correct value ...",
|
||||
flush=True,
|
||||
)
|
||||
# print(
|
||||
# "ℹ️ Checking if the greylist key was created and has the correct value ...",
|
||||
# flush=True,
|
||||
# )
|
||||
|
||||
key_value = redis_client.get(f"plugin_greylist_www.example.comip{ip_to_check}")
|
||||
# key_value = redis_client.get(f"plugin_greylist_www.example.comip{ip_to_check}")
|
||||
|
||||
if key_value is None:
|
||||
print(
|
||||
f'❌ The greylist key ("plugin_greylist_www.example.comip{ip_to_check}") was not found, exiting ...\nkeys: {redis_client.keys()}',
|
||||
flush=True,
|
||||
)
|
||||
exit(1)
|
||||
if key_value != b"ip":
|
||||
print(
|
||||
f'❌ The greylist key ("plugin_greylist_www.example.comip{ip_to_check}") was found, but the value is not "ip" ({key_value.decode()}), exiting ...\nkeys: {redis_client.keys()}',
|
||||
)
|
||||
# if key_value is None:
|
||||
# print(
|
||||
# f'❌ The greylist key ("plugin_greylist_www.example.comip{ip_to_check}") was not found, exiting ...\nkeys: {redis_client.keys()}',
|
||||
# flush=True,
|
||||
# )
|
||||
# exit(1)
|
||||
# if key_value != b"ip":
|
||||
# print(
|
||||
# f'❌ The greylist key ("plugin_greylist_www.example.comip{ip_to_check}") was found, but the value is not "ip" ({key_value.decode()}), exiting ...\nkeys: {redis_client.keys()}',
|
||||
# )
|
||||
|
||||
print(
|
||||
f"✅ The greylist key was found, the value is {key_value.decode()}",
|
||||
flush=True,
|
||||
)
|
||||
# print(
|
||||
# f"✅ The greylist key was found, the value is {key_value.decode()}",
|
||||
# flush=True,
|
||||
# )
|
||||
|
||||
if ip_to_check == "1.0.0.3":
|
||||
print(
|
||||
"ℹ️ Checking if the dnsbl keys were created ...",
|
||||
flush=True,
|
||||
)
|
||||
# if ip_to_check == "1.0.0.3":
|
||||
# print(
|
||||
# "ℹ️ Checking if the dnsbl keys were created ...",
|
||||
# flush=True,
|
||||
# )
|
||||
|
||||
key_value = redis_client.get(f"plugin_dnsbl_www.example.com{ip_to_check}")
|
||||
# key_value = redis_client.get(f"plugin_dnsbl_www.example.com{ip_to_check}")
|
||||
|
||||
if key_value is None:
|
||||
print(
|
||||
f'❌ The dnsbl key ("plugin_dnsbl_www.example.com{ip_to_check}") was not found, exiting ...\nkeys: {redis_client.keys()}',
|
||||
flush=True,
|
||||
)
|
||||
exit(1)
|
||||
# if key_value is None:
|
||||
# print(
|
||||
# f'❌ The dnsbl key ("plugin_dnsbl_www.example.com{ip_to_check}") was not found, exiting ...\nkeys: {redis_client.keys()}',
|
||||
# flush=True,
|
||||
# )
|
||||
# exit(1)
|
||||
|
||||
print(
|
||||
f"✅ The dnsbl key was found, the value is {key_value.decode()}",
|
||||
flush=True,
|
||||
)
|
||||
# print(
|
||||
# f"✅ The dnsbl key was found, the value is {key_value.decode()}",
|
||||
# flush=True,
|
||||
# )
|
||||
except SystemExit as e:
|
||||
exit(e.code)
|
||||
except:
|
||||
|
|
|
|||
Loading…
Reference in a new issue