diff --git a/MANIFEST.in b/MANIFEST.in
index 33e3d78b..e05a92c3 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -833,6 +833,11 @@ include tests/triple-t-anysoftkeyboard/build/com.menny.android.anysoftkeyboard/i
include tests/triple-t-anysoftkeyboard/build/com.menny.android.anysoftkeyboard/settings.gradle
include tests/triple-t-anysoftkeyboard/metadata/com.anysoftkeyboard.languagepack.dutch.yml
include tests/triple-t-anysoftkeyboard/metadata/com.menny.android.anysoftkeyboard.yml
+include tests/triple-t-flutter/metadata/fr.emersion.goguma.yml
+include tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/listings/en-US/title.txt
+include tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/listings/en-US/short-description.txt
+include tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/listings/en-US/full-description.txt
+include tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/contact-website.txt
include tests/triple-t-multiple/build/ch.admin.bag.covidcertificate.verifier/settings.gradle
include tests/triple-t-multiple/build/ch.admin.bag.covidcertificate.verifier/verifier/src/main/play/listings/en-US/title.txt
include tests/triple-t-multiple/build/ch.admin.bag.covidcertificate.verifier/wallet/src/main/play/listings/en-US/title.txt
diff --git a/tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/contact-website.txt b/tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/contact-website.txt
new file mode 100644
index 00000000..5c15e481
--- /dev/null
+++ b/tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/contact-website.txt
@@ -0,0 +1 @@
+https://emersion.fr
diff --git a/tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/listings/en-US/full-description.txt b/tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/listings/en-US/full-description.txt
new file mode 100644
index 00000000..b72afe53
--- /dev/null
+++ b/tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/listings/en-US/full-description.txt
@@ -0,0 +1,11 @@
+An IRC client for mobile devices.
+
+Goals:
+
+
+ - Modern: support for many IRCv3 extensions, plus some special support for IRC bouncers.
+ - Easy to use: offer a simple, straightforward interface.
+ - Offline-first: users should be able to read past conversations while offline, and network disruptions should be handled transparently.
+ - Lightweight: go easy on resource usage to run smoothly on older phones and save battery power.
+ - Cross-platform: the main target platforms are Linux and Android.
+
diff --git a/tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/listings/en-US/short-description.txt b/tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/listings/en-US/short-description.txt
new file mode 100644
index 00000000..98eb88a5
--- /dev/null
+++ b/tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/listings/en-US/short-description.txt
@@ -0,0 +1 @@
+An IRC client for mobile devices
diff --git a/tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/listings/en-US/title.txt b/tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/listings/en-US/title.txt
new file mode 100644
index 00000000..d2f3b402
--- /dev/null
+++ b/tests/triple-t-flutter/build/fr.emersion.goguma/android/app/src/main/play/listings/en-US/title.txt
@@ -0,0 +1 @@
+Goguma
diff --git a/tests/triple-t-flutter/metadata/fr.emersion.goguma.yml b/tests/triple-t-flutter/metadata/fr.emersion.goguma.yml
new file mode 100644
index 00000000..da1897fc
--- /dev/null
+++ b/tests/triple-t-flutter/metadata/fr.emersion.goguma.yml
@@ -0,0 +1,30 @@
+Categories:
+ - Internet
+License: AGPL-3.0-only
+WebSite: https://sr.ht/~emersion/goguma
+SourceCode: https://git.sr.ht/~emersion/goguma
+IssueTracker: https://todo.sr.ht/~emersion/goguma
+
+AutoName: Goguma
+
+RepoType: git
+Repo: https://git.sr.ht/~emersion/goguma
+
+Builds:
+ - versionName: 0.1.0
+ versionCode: 1
+ commit: 944d2d1e000901365392e850a98ee03f5dedba32
+ output: build/app/outputs/flutter-apk/app-release.apk
+ srclibs:
+ - flutter@2.10.2
+ build:
+ - $$flutter$$/bin/flutter config --no-analytics
+ - $$flutter$$/bin/flutter create --org fr.emersion --project-name goguma --platforms
+ android --no-overwrite .
+ - $$flutter$$/bin/flutter build apk --release --verbose
+
+AutoUpdateMode: Version
+UpdateCheckMode: Tags
+UpdateCheckData: pubspec.yaml|version:\s.+\+(\d+)|.|version:\s(.+)\+
+CurrentVersion: 0.1.0
+CurrentVersionCode: 1
diff --git a/tests/update.TestCase b/tests/update.TestCase
index acc9f3b4..cc56f455 100755
--- a/tests/update.TestCase
+++ b/tests/update.TestCase
@@ -461,6 +461,30 @@ class UpdateTest(unittest.TestCase):
app = apps[packageName]
self.assertEqual(app['localized']['en-US']['name'], names[p])
+ def test_insert_triple_t_flutter(self):
+ packageName = 'fr.emersion.goguma'
+
+ tmptestsdir = tempfile.mkdtemp(
+ prefix=inspect.currentframe().f_code.co_name, dir=self.tmpdir
+ )
+ os.rmdir(tmptestsdir)
+ shutil.copytree(os.path.join(self.basedir, 'triple-t-flutter'), tmptestsdir)
+ os.chdir(tmptestsdir)
+
+ config = dict()
+ fdroidserver.common.fill_config_defaults(config)
+ fdroidserver.common.config = config
+ fdroidserver.update.config = config
+ fdroidserver.update.options = fdroidserver.common.options
+
+ apps = fdroidserver.metadata.read_metadata()
+ self.assertTrue(packageName in apps)
+ fdroidserver.update.copy_triple_t_store_metadata(apps)
+ app = apps[packageName]
+ self.assertEqual(app['authorWebSite'], 'https://emersion.fr')
+ self.assertEqual(app['localized']['en-US']['name'], 'Goguma')
+ self.assertEqual(app['localized']['en-US']['summary'], 'An IRC client for mobile devices')
+
def javagetsig(self, apkfile):
getsig_dir = 'getsig'
if not os.path.exists(os.path.join(getsig_dir, "getsig.class")):