nixos/tests/signal-desktop: Fix the sqlite3 part of the test (regressed)

Due to recent changes (likely a sqlite3 update) the sqlite3 meta-command
did suddenly succeed while sqlite3 is still unable to read the still
encrypted database. It just prints the following output and doesn't
seem to try to open/read the DB (which would fail):
```
main: /home/alice/.config/Signal/sql/db.sqlite r/w
```

We can simply fix this "regression" by instructing sqlite3 to list the tables
in the database (which fails because it cannot read the encrypted DB):
```
machine: must fail: su - alice -c 'sqlite3 ~/.config/Signal/sql/db.sqlite .tables'
machine # [   47.036720] su[1178]: Successful su for alice by root
machine # [   47.041049] su[1178]: pam_unix(su:session): session opened for user alice(uid=1000) by (uid=0)
machine # Error: file is not a database
machine # [   47.116070] su[1178]: pam_unix(su:session): session closed for user alice
(finished: must fail: su - alice -c 'sqlite3 ~/.config/Signal/sql/db.sqlite .tables', in 0.12 seconds)
```

Fix #181463.
This commit is contained in:
Michael Weiss 2022-07-22 23:34:54 +02:00
parent 9bff958870
commit 59de06d093
No known key found for this signature in database
GPG key ID: 5BE487C4D4771D83

View file

@ -60,7 +60,7 @@ in {
)
# Only SQLCipher should be able to read the encrypted DB:
machine.fail(
"su - alice -c 'sqlite3 ~/.config/Signal/sql/db.sqlite .databases'"
"su - alice -c 'sqlite3 ~/.config/Signal/sql/db.sqlite .tables'"
)
print(machine.succeed(
"su - alice -c 'sqlcipher ~/.config/Signal/sql/db.sqlite'"