diff --git a/tests/fakeportal/faces/cs00000.jpg b/tests/fakeportal/faces/cs00000.jpg new file mode 100644 index 00000000..7df00226 Binary files /dev/null and b/tests/fakeportal/faces/cs00000.jpg differ diff --git a/tests/fakeportal/faces/cs00001.jpg b/tests/fakeportal/faces/cs00001.jpg new file mode 100644 index 00000000..240a82aa Binary files /dev/null and b/tests/fakeportal/faces/cs00001.jpg differ diff --git a/tests/fakeportal/faces/cs00002.jpg b/tests/fakeportal/faces/cs00002.jpg new file mode 100644 index 00000000..53578e65 Binary files /dev/null and b/tests/fakeportal/faces/cs00002.jpg differ diff --git a/tests/fakeportal/faces/cs00003.jpg b/tests/fakeportal/faces/cs00003.jpg new file mode 100644 index 00000000..e4ae11c3 Binary files /dev/null and b/tests/fakeportal/faces/cs00003.jpg differ diff --git a/tests/fakeportal/faces/cs00004.jpg b/tests/fakeportal/faces/cs00004.jpg new file mode 100644 index 00000000..4ff5a814 Binary files /dev/null and b/tests/fakeportal/faces/cs00004.jpg differ diff --git a/tests/fakeportal/faces/cs00005.jpg b/tests/fakeportal/faces/cs00005.jpg new file mode 100644 index 00000000..87849345 Binary files /dev/null and b/tests/fakeportal/faces/cs00005.jpg differ diff --git a/tests/fakeportal/faces/cs00006.jpg b/tests/fakeportal/faces/cs00006.jpg new file mode 100644 index 00000000..1dfdc72a Binary files /dev/null and b/tests/fakeportal/faces/cs00006.jpg differ diff --git a/tests/fakeportal/faces/cs00007.jpg b/tests/fakeportal/faces/cs00007.jpg new file mode 100644 index 00000000..6c8082a9 Binary files /dev/null and b/tests/fakeportal/faces/cs00007.jpg differ diff --git a/tests/fakeportal/faces/cs00008.jpg b/tests/fakeportal/faces/cs00008.jpg new file mode 100644 index 00000000..bae1e3e7 Binary files /dev/null and b/tests/fakeportal/faces/cs00008.jpg differ diff --git a/tests/fakeportal/faces/cs00009.jpg b/tests/fakeportal/faces/cs00009.jpg new file mode 100644 index 00000000..995c2aa2 Binary files /dev/null and b/tests/fakeportal/faces/cs00009.jpg differ diff --git a/tests/fakeportal/faces/cs00010.jpg b/tests/fakeportal/faces/cs00010.jpg new file mode 100644 index 00000000..fed17f2c Binary files /dev/null and b/tests/fakeportal/faces/cs00010.jpg differ diff --git a/tests/fakeportal/faces/cs00011.jpg b/tests/fakeportal/faces/cs00011.jpg new file mode 100644 index 00000000..cbb5a0ae Binary files /dev/null and b/tests/fakeportal/faces/cs00011.jpg differ diff --git a/tests/fakeportal/faces/cs00012.jpg b/tests/fakeportal/faces/cs00012.jpg new file mode 100644 index 00000000..ac9a15c4 Binary files /dev/null and b/tests/fakeportal/faces/cs00012.jpg differ diff --git a/tests/fakeportal/faces/cs00013.jpg b/tests/fakeportal/faces/cs00013.jpg new file mode 100644 index 00000000..bd2312cb Binary files /dev/null and b/tests/fakeportal/faces/cs00013.jpg differ diff --git a/tests/fakeportal/faces/cs00014.jpg b/tests/fakeportal/faces/cs00014.jpg new file mode 100644 index 00000000..5e9b4f71 Binary files /dev/null and b/tests/fakeportal/faces/cs00014.jpg differ diff --git a/tests/fakeportal/faces/cs00015.jpg b/tests/fakeportal/faces/cs00015.jpg new file mode 100644 index 00000000..729f3f1d Binary files /dev/null and b/tests/fakeportal/faces/cs00015.jpg differ diff --git a/tests/fakeportal/faces/cs00016.jpg b/tests/fakeportal/faces/cs00016.jpg new file mode 100644 index 00000000..da8800bb Binary files /dev/null and b/tests/fakeportal/faces/cs00016.jpg differ diff --git a/tests/fakeportal/faces/cs00017.jpg b/tests/fakeportal/faces/cs00017.jpg new file mode 100644 index 00000000..26f7042d Binary files /dev/null and b/tests/fakeportal/faces/cs00017.jpg differ diff --git a/tests/fakeportal/faces/cs00018.jpg b/tests/fakeportal/faces/cs00018.jpg new file mode 100644 index 00000000..ef3107eb Binary files /dev/null and b/tests/fakeportal/faces/cs00018.jpg differ diff --git a/tests/fakeportal/faces/cs00019.jpg b/tests/fakeportal/faces/cs00019.jpg new file mode 100644 index 00000000..31dae900 Binary files /dev/null and b/tests/fakeportal/faces/cs00019.jpg differ diff --git a/tests/fakeportal/faces/cs00020.jpg b/tests/fakeportal/faces/cs00020.jpg new file mode 100644 index 00000000..09bcafb0 Binary files /dev/null and b/tests/fakeportal/faces/cs00020.jpg differ diff --git a/tests/fakeportal/faces/cs00021.jpg b/tests/fakeportal/faces/cs00021.jpg new file mode 100644 index 00000000..4f53b76f Binary files /dev/null and b/tests/fakeportal/faces/cs00021.jpg differ diff --git a/tests/fakeportal/faces/cs00022.jpg b/tests/fakeportal/faces/cs00022.jpg new file mode 100644 index 00000000..f096e8a1 Binary files /dev/null and b/tests/fakeportal/faces/cs00022.jpg differ diff --git a/tests/fakeportal/faces/cs00023.jpg b/tests/fakeportal/faces/cs00023.jpg new file mode 100644 index 00000000..4df2cc9c Binary files /dev/null and b/tests/fakeportal/faces/cs00023.jpg differ diff --git a/tests/fakeportal/faces/cs00024.jpg b/tests/fakeportal/faces/cs00024.jpg new file mode 100644 index 00000000..6d3fbdce Binary files /dev/null and b/tests/fakeportal/faces/cs00024.jpg differ diff --git a/tests/fakeportal/faces/cs00025.jpg b/tests/fakeportal/faces/cs00025.jpg new file mode 100644 index 00000000..93375826 Binary files /dev/null and b/tests/fakeportal/faces/cs00025.jpg differ diff --git a/tests/fakeportal/faces/cs00026.jpg b/tests/fakeportal/faces/cs00026.jpg new file mode 100644 index 00000000..65668f78 Binary files /dev/null and b/tests/fakeportal/faces/cs00026.jpg differ diff --git a/tests/fakeportal/faces/cs00027.jpg b/tests/fakeportal/faces/cs00027.jpg new file mode 100644 index 00000000..d63b38fe Binary files /dev/null and b/tests/fakeportal/faces/cs00027.jpg differ diff --git a/tests/fakeportal/faces/cs00028.jpg b/tests/fakeportal/faces/cs00028.jpg new file mode 100644 index 00000000..6ae805c3 Binary files /dev/null and b/tests/fakeportal/faces/cs00028.jpg differ diff --git a/tests/fakeportal/faces/cs00029.jpg b/tests/fakeportal/faces/cs00029.jpg new file mode 100644 index 00000000..c3714aef Binary files /dev/null and b/tests/fakeportal/faces/cs00029.jpg differ diff --git a/tests/fakeportal/faces/cs00030.jpg b/tests/fakeportal/faces/cs00030.jpg new file mode 100644 index 00000000..185f319b Binary files /dev/null and b/tests/fakeportal/faces/cs00030.jpg differ diff --git a/tests/fakeportal/faces/cs00031.jpg b/tests/fakeportal/faces/cs00031.jpg new file mode 100644 index 00000000..29f1fd93 Binary files /dev/null and b/tests/fakeportal/faces/cs00031.jpg differ diff --git a/tests/fakeportal/faces/cs00032.jpg b/tests/fakeportal/faces/cs00032.jpg new file mode 100644 index 00000000..6c1c146a Binary files /dev/null and b/tests/fakeportal/faces/cs00032.jpg differ diff --git a/tests/fakeportal/faces/cs00033.jpg b/tests/fakeportal/faces/cs00033.jpg new file mode 100644 index 00000000..d70cdbde Binary files /dev/null and b/tests/fakeportal/faces/cs00033.jpg differ diff --git a/tests/fakeportal/faces/cs00034.jpg b/tests/fakeportal/faces/cs00034.jpg new file mode 100644 index 00000000..72f0cc43 Binary files /dev/null and b/tests/fakeportal/faces/cs00034.jpg differ diff --git a/tests/fakeportal/faces/cs00035.jpg b/tests/fakeportal/faces/cs00035.jpg new file mode 100644 index 00000000..76d9788d Binary files /dev/null and b/tests/fakeportal/faces/cs00035.jpg differ diff --git a/tests/fakeportal/faces/cs00036.jpg b/tests/fakeportal/faces/cs00036.jpg new file mode 100644 index 00000000..bcf2c837 Binary files /dev/null and b/tests/fakeportal/faces/cs00036.jpg differ diff --git a/tests/fakeportal/faces/cs00037.jpg b/tests/fakeportal/faces/cs00037.jpg new file mode 100644 index 00000000..60f4ec49 Binary files /dev/null and b/tests/fakeportal/faces/cs00037.jpg differ diff --git a/tests/fakeportal/faces/cs00038.jpg b/tests/fakeportal/faces/cs00038.jpg new file mode 100644 index 00000000..f3cedf41 Binary files /dev/null and b/tests/fakeportal/faces/cs00038.jpg differ diff --git a/tests/fakeportal/faces/cs00039.jpg b/tests/fakeportal/faces/cs00039.jpg new file mode 100644 index 00000000..b24e573e Binary files /dev/null and b/tests/fakeportal/faces/cs00039.jpg differ diff --git a/tests/fakeportal/faces/cs00040.jpg b/tests/fakeportal/faces/cs00040.jpg new file mode 100644 index 00000000..2b12488c Binary files /dev/null and b/tests/fakeportal/faces/cs00040.jpg differ diff --git a/tests/fakeportal/faces/cs00041.jpg b/tests/fakeportal/faces/cs00041.jpg new file mode 100644 index 00000000..61216c04 Binary files /dev/null and b/tests/fakeportal/faces/cs00041.jpg differ diff --git a/tests/fakeportal/faces/cs00042.jpg b/tests/fakeportal/faces/cs00042.jpg new file mode 100644 index 00000000..1adae688 Binary files /dev/null and b/tests/fakeportal/faces/cs00042.jpg differ diff --git a/tests/fakeportal/faces/cs00043.jpg b/tests/fakeportal/faces/cs00043.jpg new file mode 100644 index 00000000..8c67b8a6 Binary files /dev/null and b/tests/fakeportal/faces/cs00043.jpg differ diff --git a/tests/fakeportal/faces/cs00044.jpg b/tests/fakeportal/faces/cs00044.jpg new file mode 100644 index 00000000..0671c997 Binary files /dev/null and b/tests/fakeportal/faces/cs00044.jpg differ diff --git a/tests/fakeportal/faces/cs00045.jpg b/tests/fakeportal/faces/cs00045.jpg new file mode 100644 index 00000000..ce901576 Binary files /dev/null and b/tests/fakeportal/faces/cs00045.jpg differ diff --git a/tests/fakeportal/faces/cs00046.jpg b/tests/fakeportal/faces/cs00046.jpg new file mode 100644 index 00000000..40fa783a Binary files /dev/null and b/tests/fakeportal/faces/cs00046.jpg differ diff --git a/tests/fakeportal/faces/cs00047.jpg b/tests/fakeportal/faces/cs00047.jpg new file mode 100644 index 00000000..8b24a76c Binary files /dev/null and b/tests/fakeportal/faces/cs00047.jpg differ diff --git a/tests/fakeportal/faces/cs00048.jpg b/tests/fakeportal/faces/cs00048.jpg new file mode 100644 index 00000000..490a71f1 Binary files /dev/null and b/tests/fakeportal/faces/cs00048.jpg differ diff --git a/tests/fakeportal/faces/cs00049.jpg b/tests/fakeportal/faces/cs00049.jpg new file mode 100644 index 00000000..3bb90aee Binary files /dev/null and b/tests/fakeportal/faces/cs00049.jpg differ diff --git a/tests/fakeportal/faces/cs00050.jpg b/tests/fakeportal/faces/cs00050.jpg new file mode 100644 index 00000000..669f2f0a Binary files /dev/null and b/tests/fakeportal/faces/cs00050.jpg differ diff --git a/tests/fakeportal/faces/cs00051.jpg b/tests/fakeportal/faces/cs00051.jpg new file mode 100644 index 00000000..d1b0600e Binary files /dev/null and b/tests/fakeportal/faces/cs00051.jpg differ diff --git a/tests/fakeportal/faces/cs00052.jpg b/tests/fakeportal/faces/cs00052.jpg new file mode 100644 index 00000000..50f5790e Binary files /dev/null and b/tests/fakeportal/faces/cs00052.jpg differ diff --git a/tests/fakeportal/faces/cs00053.jpg b/tests/fakeportal/faces/cs00053.jpg new file mode 100644 index 00000000..84c8aec8 Binary files /dev/null and b/tests/fakeportal/faces/cs00053.jpg differ diff --git a/tests/fakeportal/faces/cs00054.jpg b/tests/fakeportal/faces/cs00054.jpg new file mode 100644 index 00000000..6960f3f3 Binary files /dev/null and b/tests/fakeportal/faces/cs00054.jpg differ diff --git a/tests/fakeportal/faces/cs00055.jpg b/tests/fakeportal/faces/cs00055.jpg new file mode 100644 index 00000000..34ceb276 Binary files /dev/null and b/tests/fakeportal/faces/cs00055.jpg differ diff --git a/tests/fakeportal/faces/cs00056.jpg b/tests/fakeportal/faces/cs00056.jpg new file mode 100644 index 00000000..b1b5b2f6 Binary files /dev/null and b/tests/fakeportal/faces/cs00056.jpg differ diff --git a/tests/fakeportal/faces/cs00057.jpg b/tests/fakeportal/faces/cs00057.jpg new file mode 100644 index 00000000..83228feb Binary files /dev/null and b/tests/fakeportal/faces/cs00057.jpg differ diff --git a/tests/fakeportal/faces/cs00058.jpg b/tests/fakeportal/faces/cs00058.jpg new file mode 100644 index 00000000..36134e37 Binary files /dev/null and b/tests/fakeportal/faces/cs00058.jpg differ diff --git a/tests/fakeportal/faces/cs00059.jpg b/tests/fakeportal/faces/cs00059.jpg new file mode 100644 index 00000000..2c723413 Binary files /dev/null and b/tests/fakeportal/faces/cs00059.jpg differ diff --git a/tests/fakeportal/faces/cs00060.jpg b/tests/fakeportal/faces/cs00060.jpg new file mode 100644 index 00000000..9a1d2adc Binary files /dev/null and b/tests/fakeportal/faces/cs00060.jpg differ diff --git a/tests/fakeportal/faces/cs00061.jpg b/tests/fakeportal/faces/cs00061.jpg new file mode 100644 index 00000000..5e479a43 Binary files /dev/null and b/tests/fakeportal/faces/cs00061.jpg differ diff --git a/tests/fakeportal/faces/cs00062.jpg b/tests/fakeportal/faces/cs00062.jpg new file mode 100644 index 00000000..15b59685 Binary files /dev/null and b/tests/fakeportal/faces/cs00062.jpg differ diff --git a/tests/fakeportal/faces/cs00063.jpg b/tests/fakeportal/faces/cs00063.jpg new file mode 100644 index 00000000..9619e2be Binary files /dev/null and b/tests/fakeportal/faces/cs00063.jpg differ diff --git a/tests/fakeportal/faces/cs00064.jpg b/tests/fakeportal/faces/cs00064.jpg new file mode 100644 index 00000000..c0f53898 Binary files /dev/null and b/tests/fakeportal/faces/cs00064.jpg differ diff --git a/tests/fakeportal/faces/cs00065.jpg b/tests/fakeportal/faces/cs00065.jpg new file mode 100644 index 00000000..8c8c51e9 Binary files /dev/null and b/tests/fakeportal/faces/cs00065.jpg differ diff --git a/tests/fakeportal/faces/cs00066.jpg b/tests/fakeportal/faces/cs00066.jpg new file mode 100644 index 00000000..79d231ba Binary files /dev/null and b/tests/fakeportal/faces/cs00066.jpg differ diff --git a/tests/fakeportal/faces/cs00067.jpg b/tests/fakeportal/faces/cs00067.jpg new file mode 100644 index 00000000..1f5c2670 Binary files /dev/null and b/tests/fakeportal/faces/cs00067.jpg differ diff --git a/tests/fakeportal/faces/cs00068.jpg b/tests/fakeportal/faces/cs00068.jpg new file mode 100644 index 00000000..f0e901af Binary files /dev/null and b/tests/fakeportal/faces/cs00068.jpg differ diff --git a/tests/fakeportal/faces/cs00069.jpg b/tests/fakeportal/faces/cs00069.jpg new file mode 100644 index 00000000..9ccf4346 Binary files /dev/null and b/tests/fakeportal/faces/cs00069.jpg differ diff --git a/tests/fakeportal/faces/cs00070.jpg b/tests/fakeportal/faces/cs00070.jpg new file mode 100644 index 00000000..d866f67c Binary files /dev/null and b/tests/fakeportal/faces/cs00070.jpg differ diff --git a/tests/fakeportal/faces/cs00071.jpg b/tests/fakeportal/faces/cs00071.jpg new file mode 100644 index 00000000..7e89a052 Binary files /dev/null and b/tests/fakeportal/faces/cs00071.jpg differ diff --git a/tests/fakeportal/faces/cs00072.jpg b/tests/fakeportal/faces/cs00072.jpg new file mode 100644 index 00000000..8d407504 Binary files /dev/null and b/tests/fakeportal/faces/cs00072.jpg differ diff --git a/tests/fakeportal/faces/cs00073.jpg b/tests/fakeportal/faces/cs00073.jpg new file mode 100644 index 00000000..b9208a7b Binary files /dev/null and b/tests/fakeportal/faces/cs00073.jpg differ diff --git a/tests/fakeportal/faces/cs00074.jpg b/tests/fakeportal/faces/cs00074.jpg new file mode 100644 index 00000000..a99c762e Binary files /dev/null and b/tests/fakeportal/faces/cs00074.jpg differ diff --git a/tests/fakeportal/faces/cs00075.jpg b/tests/fakeportal/faces/cs00075.jpg new file mode 100644 index 00000000..6e3681ae Binary files /dev/null and b/tests/fakeportal/faces/cs00075.jpg differ diff --git a/tests/fakeportal/faces/cs00076.jpg b/tests/fakeportal/faces/cs00076.jpg new file mode 100644 index 00000000..659a7231 Binary files /dev/null and b/tests/fakeportal/faces/cs00076.jpg differ diff --git a/tests/fakeportal/faces/cs00077.jpg b/tests/fakeportal/faces/cs00077.jpg new file mode 100644 index 00000000..1bd6cabd Binary files /dev/null and b/tests/fakeportal/faces/cs00077.jpg differ diff --git a/tests/fakeportal/faces/cs00078.jpg b/tests/fakeportal/faces/cs00078.jpg new file mode 100644 index 00000000..995a3267 Binary files /dev/null and b/tests/fakeportal/faces/cs00078.jpg differ diff --git a/tests/fakeportal/faces/cs00079.jpg b/tests/fakeportal/faces/cs00079.jpg new file mode 100644 index 00000000..8ad27d13 Binary files /dev/null and b/tests/fakeportal/faces/cs00079.jpg differ diff --git a/tests/fakeportal/faces/cs00080.jpg b/tests/fakeportal/faces/cs00080.jpg new file mode 100644 index 00000000..8e8cc953 Binary files /dev/null and b/tests/fakeportal/faces/cs00080.jpg differ diff --git a/tests/fakeportal/faces/cs00081.jpg b/tests/fakeportal/faces/cs00081.jpg new file mode 100644 index 00000000..8d984ecb Binary files /dev/null and b/tests/fakeportal/faces/cs00081.jpg differ diff --git a/tests/fakeportal/faces/cs00082.jpg b/tests/fakeportal/faces/cs00082.jpg new file mode 100644 index 00000000..ba286195 Binary files /dev/null and b/tests/fakeportal/faces/cs00082.jpg differ diff --git a/tests/fakeportal/faces/cs00083.jpg b/tests/fakeportal/faces/cs00083.jpg new file mode 100644 index 00000000..61060035 Binary files /dev/null and b/tests/fakeportal/faces/cs00083.jpg differ diff --git a/tests/fakeportal/faces/cs00084.jpg b/tests/fakeportal/faces/cs00084.jpg new file mode 100644 index 00000000..b585b8e6 Binary files /dev/null and b/tests/fakeportal/faces/cs00084.jpg differ diff --git a/tests/fakeportal/faces/cs00085.jpg b/tests/fakeportal/faces/cs00085.jpg new file mode 100644 index 00000000..55680120 Binary files /dev/null and b/tests/fakeportal/faces/cs00085.jpg differ diff --git a/tests/fakeportal/faces/cs00086.jpg b/tests/fakeportal/faces/cs00086.jpg new file mode 100644 index 00000000..e7ba27bd Binary files /dev/null and b/tests/fakeportal/faces/cs00086.jpg differ diff --git a/tests/fakeportal/faces/cs00087.jpg b/tests/fakeportal/faces/cs00087.jpg new file mode 100644 index 00000000..425d712d Binary files /dev/null and b/tests/fakeportal/faces/cs00087.jpg differ diff --git a/tests/fakeportal/faces/cs00088.jpg b/tests/fakeportal/faces/cs00088.jpg new file mode 100644 index 00000000..5321208d Binary files /dev/null and b/tests/fakeportal/faces/cs00088.jpg differ diff --git a/tests/fakeportal/faces/cs00089.jpg b/tests/fakeportal/faces/cs00089.jpg new file mode 100644 index 00000000..1bad9986 Binary files /dev/null and b/tests/fakeportal/faces/cs00089.jpg differ diff --git a/tests/fakeportal/faces/cs00090.jpg b/tests/fakeportal/faces/cs00090.jpg new file mode 100644 index 00000000..4468e642 Binary files /dev/null and b/tests/fakeportal/faces/cs00090.jpg differ diff --git a/tests/fakeportal/faces/cs00091.jpg b/tests/fakeportal/faces/cs00091.jpg new file mode 100644 index 00000000..de0445fb Binary files /dev/null and b/tests/fakeportal/faces/cs00091.jpg differ diff --git a/tests/fakeportal/faces/cs00092.jpg b/tests/fakeportal/faces/cs00092.jpg new file mode 100644 index 00000000..e1903217 Binary files /dev/null and b/tests/fakeportal/faces/cs00092.jpg differ diff --git a/tests/fakeportal/faces/cs00093.jpg b/tests/fakeportal/faces/cs00093.jpg new file mode 100644 index 00000000..76fd5b03 Binary files /dev/null and b/tests/fakeportal/faces/cs00093.jpg differ diff --git a/tests/fakeportal/faces/cs00094.jpg b/tests/fakeportal/faces/cs00094.jpg new file mode 100644 index 00000000..4a9b4847 Binary files /dev/null and b/tests/fakeportal/faces/cs00094.jpg differ diff --git a/tests/fakeportal/faces/cs00095.jpg b/tests/fakeportal/faces/cs00095.jpg new file mode 100644 index 00000000..82613db3 Binary files /dev/null and b/tests/fakeportal/faces/cs00095.jpg differ diff --git a/tests/fakeportal/faces/cs00096.jpg b/tests/fakeportal/faces/cs00096.jpg new file mode 100644 index 00000000..5e52772a Binary files /dev/null and b/tests/fakeportal/faces/cs00096.jpg differ diff --git a/tests/fakeportal/faces/cs00097.jpg b/tests/fakeportal/faces/cs00097.jpg new file mode 100644 index 00000000..435b6db0 Binary files /dev/null and b/tests/fakeportal/faces/cs00097.jpg differ diff --git a/tests/fakeportal/faces/cs00098.jpg b/tests/fakeportal/faces/cs00098.jpg new file mode 100644 index 00000000..9053ddd8 Binary files /dev/null and b/tests/fakeportal/faces/cs00098.jpg differ diff --git a/tests/fakeportal/faces/cs00099.jpg b/tests/fakeportal/faces/cs00099.jpg new file mode 100644 index 00000000..119da41d Binary files /dev/null and b/tests/fakeportal/faces/cs00099.jpg differ diff --git a/tests/fakeportal/fakeportal.py b/tests/fakeportal/fakeportal.py index 60ae0914..14bcf72c 100755 --- a/tests/fakeportal/fakeportal.py +++ b/tests/fakeportal/fakeportal.py @@ -7,6 +7,7 @@ import os import sys import random import time +from pathlib import Path import http.server import socketserver from urllib.parse import urlparse @@ -63,6 +64,15 @@ def make_random_etape_etuds(etape, annee): return "\n".join(L) +FAKE_FACES_FILENAME = list(Path("faces").glob("*.jpg")) + + +def get_photo_filename(nip): + """get an existing filename for a fake photo, found in faces/""" + # + return FAKE_FACES_FILENAME[hash(nip) % len(FAKE_FACES_FILENAME)] + + class MyHttpRequestHandler(http.server.SimpleHTTPRequestHandler): def send_xml(self, data): self.send_response(200) @@ -86,7 +96,7 @@ class MyHttpRequestHandler(http.server.SimpleHTTPRequestHandler): return self.send_xml(data) elif "etape" in query_components: etape = query_components["etape"][0] - print(f"requesting etape={etape}") + print(f"requesting etape={etape}", file=sys.stderr) if "annee" in query_components: annee = query_components["annee"][0] data = ETUD_HEAD + make_random_etape_etuds(etape, annee) + ETUD_TAIL @@ -104,6 +114,10 @@ class MyHttpRequestHandler(http.server.SimpleHTTPRequestHandler): ) self.send_response(404) return + elif "getPhoto" in self.path or "scodocPhoto" in self.path: + nip = query_components["nip"][0] + print(f"photo for nip={nip}") + self.path = str(get_photo_filename(nip)) else: print(f"Error 404: path={self.path}") self.send_response(404)