Hans-Christoph Steiner
c7bc8d0fea
install: function to fetch, verify and install the F-Droid.apk
2024-10-31 23:49:30 +01:00
Hans-Christoph Steiner
681d705da0
install: reliable algorithm for picking devices from adb output
...
Versions of this algorithm are used elsewhere:
* https://github.com/openatx/adbutils/blob/master/adbutils/_adb.py
2024-10-31 21:55:20 +01:00
Hans-Christoph Steiner
f1b110942a
net: let localhost RetryServer tests run with an HTTP proxy active
2024-10-31 21:55:20 +01:00
Hans-Christoph Steiner
59fcfa5dec
index: download_repo_index_v2() uses mirrors
...
test_download_repo_index_v2_url_parsing is no longer needed, since all the
things it tested are now handled in test_download_repo_index_v2
2024-10-31 21:55:18 +01:00
Hans-Christoph Steiner
2e3f6d273a
net: download_using_mirrors() to download like fdroidclient does
2024-10-31 21:54:47 +01:00
Hans-Christoph Steiner
49dcc53076
install: download_fdroid_apk() to fetch the recommended initial APK
2024-10-31 21:54:47 +01:00
Hans-Christoph Steiner
56bed02a29
install: download_apk() fetchs APKs by appid based on the index
2024-10-31 21:54:45 +01:00
Hans-Christoph Steiner
173c1d67f4
KnownApks: appid is no longer needed at all, remove it.
2024-10-31 09:20:26 +00:00
Hans-Christoph Steiner
5032207da0
add basic tests of KnownApks mechanism
...
The tests in tests/run-tests do provide coverage for these cases, but it is
not explicit, but just comes from testing that the index file has not
changed. These tests make it explicit what is being tested.
2024-10-31 09:20:26 +00:00
Jochen Sprickerhof
81c0c9d4aa
Drop stats/known_apks.txt
...
Use repo/index-v2.json instead.
Also fix deprecated datetime.utcnow().
2024-10-31 09:20:26 +00:00
Hans-Christoph Steiner
25779e8b32
checkupdates: --merge_request commits to branch named after appid
2024-10-30 18:35:34 +01:00
Hans-Christoph Steiner
9a34590e95
checkupdates: make merge-request per appid on push
2024-10-30 14:43:45 +00:00
Hans-Christoph Steiner
66a340fe89
checkupdates: add --verbose progress to push_commits()
2024-10-30 14:43:45 +00:00
Hans-Christoph Steiner
206f07364b
checkupdates: remove appid branches that have been merged
...
To avoid having thousands of branches on checkupdatess-bot's remote, this
cleans up any remote branches that are pointing to commit that has been
fully merged.
2024-10-30 14:43:45 +00:00
Hans-Christoph Steiner
78b368f88b
enforce black code format for tests/checkupdates.TestCase
2024-10-30 14:43:45 +00:00
Hans-Christoph Steiner
4c225f02d2
checkupdates: push_commits() to push auto-branch when new commits
2024-10-30 14:43:45 +00:00
linsui
24dc3baadf
scanner: catalog: relax VERSION_CATALOG_REGEX
...
There may be other blocks in dependencyResolutionManagement
2024-10-20 21:21:28 +08:00
linsui
4c3dd9c76c
scanner: catalog: get catalog from parent dirs
...
When walking through the repo, there may be another settings.gradle in a
sub project with a different catalog. In the subdir the catalog of the
sub project shuold be used and in other subdir the catalog of the root
project should be used.
2024-10-20 21:21:28 +08:00
Jochen Sprickerhof
8ab1d53318
Read only metadata of apps given on the command line
2024-10-06 10:25:19 +02:00
linsui
2ceec6b9d6
scanner: catalog: dependency declaration can be declared as a simple string
2024-09-27 14:28:55 +00:00
linsui
eff0ef48f4
scanner: support libs.versions.toml
2024-09-23 16:35:27 +08:00
linsui
528760acc8
scanner.TestCase: format
2024-09-23 16:28:50 +08:00
Hans-Christoph Steiner
0d5c7516f2
throw error when CLI appid args end with a : but no Version Code
...
This is already the behavior in read_app_args(), but wasn't implemented in
read_pkg_args() yet.
2024-09-23 08:21:21 +00:00
Leo Heitmann Ruiz
0cee694c43
Remove all mentions of Flattr
2024-09-23 07:59:08 +00:00
Hans-Christoph Steiner
043492277e
scanner: always use built-in ruleset when running tests
...
The SUSS rule sets are changing all the time, but the test cases are not.
So this makes the test cases just use the built-in ruleset so the test
cases don't randomly break.
2024-09-21 17:20:11 +02:00
Hans-Christoph Steiner
fe3d929f67
deploy: lists for command lines to handle escaping
...
fdroidserver uses lists of strings to handle the escaping command line
arguments, this converts the rclone code to that pattern.
2024-09-17 10:16:57 +00:00
linsui
faac9b38c8
import_subcommand.py: move functions from common.py
...
These functions are only used in this file
2024-09-12 22:14:28 +08:00
linsui
5da4e670dd
import_subcommand.py: format
2024-09-12 22:12:06 +08:00
linsui
0ad2820b6f
lint: check config keys
2024-09-05 18:54:46 +08:00
linsui
632959ae35
scanner: fix test
...
The suss rule is updated
2024-09-04 22:32:48 +08:00
linsui
9482ddfbe3
scanner: support workspace for lock files
2024-09-04 22:32:48 +08:00
linsui
1d796b734f
scanner: error on dependency files without lock file
2024-08-30 13:46:17 +02:00
Michael Pöhn
0fa88c5c20
💇 implement review nits
...
Implement review nits as requested bei @eighthave in
https://gitlab.com/fdroid/fdroidserver/-/merge_requests/1471
2024-06-27 12:28:54 +02:00
Michael Pöhn
aca98c1355
🏏 incorporate review feedback
2024-06-27 12:28:29 +02:00
Michael Pöhn
a87284cf80
🚥 deploy: tests for github releases deploy functions
...
Add test cases for github releases function in deploy.py
2024-06-27 12:28:16 +02:00
Michael Pöhn
c6598f2835
☄️ deploy: github releases - whatsNew text as note
...
Use whatsNew text (if available) as release notes text when deploying to
Github releases. This feature will always use 'en-US' locale texts,
since English is the lingua franka on GitHub. Additionally this change
also adds a config option to preprend a static text to those release
notes.
2024-06-27 12:27:51 +02:00
Michael Pöhn
44b0af933d
🎡 add unit tests for github.py
...
add unittests for our github api calls
2024-06-27 12:27:15 +02:00
proletarius101
845ed3ef47
Add index only deployment mode
2024-06-11 17:45:59 +00:00
paul mayero
7aabfbcbf0
Adding rclone as an option to fdroid deploy
2024-05-29 14:08:07 +00:00
Licaon_Kter
feafe2812d
Fix more tests after !1487
2024-05-22 13:40:27 +00:00
Licaon_Kter
98f935493e
fix test cases
2024-05-22 09:25:49 +00:00
Hans-Christoph Steiner
5745ed4753
common: only try to delete .testfiles dir if it exists
...
Otherwise, some tests fail with an error.
2024-05-08 16:28:14 +02:00
Hans-Christoph Steiner
18f3acc32e
split out options from read_config()
...
There is no longer any reason for these to be intertwined.
This deliberately avoids touching some files as much as possible because
they are super tangled and due to be replaced. Those files are:
* fdroidserver/build.py
* fdroidserver/update.py
# Conflicts:
# tests/testcommon.py
# Conflicts:
# fdroidserver/btlog.py
# fdroidserver/import_subcommand.py
2024-05-08 16:26:46 +02:00
Hans-Christoph Steiner
685efa23d4
import: always load testcommon from localmodule
...
Having this import before sys.path.insert() made it load testcommon from
the Debian package.
2024-05-08 16:19:27 +02:00
Hans-Christoph Steiner
1e5699e90c
remove all references to optparse (deprecated since Python 3.2)
2024-05-08 16:19:27 +02:00
Hans-Christoph Steiner
717df09be0
clarify that config/options can be global or module-level variable
2024-05-08 16:19:27 +02:00
Hans-Christoph Steiner
8208841460
common: make explicit which test cases need mocked options
2024-05-08 16:19:27 +02:00
Hans-Christoph Steiner
ad9f0a9022
include @obfusk's proof-of-concept APKs in test suite
...
https://github.com/obfusk/fdroid-fakesigner-poc/releases/tag/poc-apks
2024-05-07 16:22:59 +02:00
Hans-Christoph Steiner
fc4a9c96a5
test APK signatures with a cert chain are parsed like apksigner
...
Microsoft and SanDisk sign APKs with a X.509 certificate chain of
trust, so there are actually three certificates included. apksigner
only cares about one certificate and ignores the other certificates in
the chain.
The correct values come from:
apksigner verify --print-certs 883cbdae7aeb2e4b122e8ee8d89966c7062d0d49107a130235fa220a5b994a79.apk
X.509 certificates are machine generated and just data, so are not
copyrightable. So I included SANAPPSI.* directly.
2024-05-07 16:22:59 +02:00
Hans-Christoph Steiner
accdd65f91
also handle APKs entirely without JAR/v1 signatures
...
future-proofing!
2024-05-07 16:22:59 +02:00