Separate unpublished avatars from malformed published storage

This commit is contained in:
evgeny committed 2026-10-27 11:57:30 +01:00
1 parent 7d4da3a54d
commit 90a588cfc1
1 file changed
+6 -1
@@ -331,13 +331,18 @@ private slots:
void avatarBlobTypesAndLimits() {
QFETCH(QByteArray, value); QFETCH(bool, valid); QFETCH(int, bytes);
SettingsCore core; QVERIFY(core.start());
const QByteArray sql = "UPDATE channels SET avatar_data=" + value;
const QByteArray sql = "UPDATE channels SET avatar_version=1,avatar_data=" + value;
QCOMPARE(sqlite3_exec(core.inst->topo_sqlite_db, sql.constData(), nullptr, nullptr, nullptr), SQLITE_OK);
bool ok = !valid; const QByteArray result = core.db.getChannelAvatar(core.channel, &ok);
QCOMPARE(ok, valid); QCOMPARE(result.size(), bytes);
QVERIFY(core.db.getChannelAvatar("missing", &ok).isEmpty()); QVERIFY(!ok);
}
void unpublishedAvatarIsAnEmptyRead() {
SettingsCore core; QVERIFY(core.start());
bool ok = false; QVERIFY(core.db.getChannelAvatar(core.channel, &ok).isEmpty()); QVERIFY(ok);
}
#ifdef UTUN_TEST_SETTINGS_ALLOC_FAILURES
void avatarAllocationFailure_data() {
QTest::addColumn<QByteArray>("source");