mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 19:21:04 +00:00
python3Packages.matrix-nio: add withOlm
flag
This commit is contained in:
parent
90b75a1f39
commit
343ad0ee4a
|
@ -109,8 +109,8 @@ import ../make-test-python.nix (
|
|||
environment.systemPackages = [
|
||||
(pkgs.writers.writePython3Bin "create_management_room_and_invite_mjolnir"
|
||||
{ libraries = with pkgs.python3Packages; [
|
||||
matrix-nio
|
||||
] ++ matrix-nio.optional-dependencies.e2e;
|
||||
(matrix-nio.override { withOlm = true; })
|
||||
];
|
||||
} ''
|
||||
import asyncio
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ buildPythonApplication rec {
|
|||
propagatedBuildInputs = [
|
||||
cacert
|
||||
setuptools
|
||||
matrix-nio
|
||||
(matrix-nio.override { withOlm = true; })
|
||||
python-magic
|
||||
markdown
|
||||
pillow
|
||||
|
@ -51,7 +51,7 @@ buildPythonApplication rec {
|
|||
pyxdg
|
||||
python-olm
|
||||
emoji
|
||||
] ++ matrix-nio.optional-dependencies.e2e;
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Simple but convenient CLI-based Matrix client app for sending and receiving";
|
||||
|
|
|
@ -39,11 +39,10 @@ python3Packages.buildPythonApplication rec {
|
|||
janus
|
||||
keyring
|
||||
logbook
|
||||
matrix-nio
|
||||
(matrix-nio.override { withOlm = true; })
|
||||
peewee
|
||||
prompt-toolkit
|
||||
]
|
||||
++ matrix-nio.optional-dependencies.e2e
|
||||
++ lib.optionals enableDbusUi optional-dependencies.ui;
|
||||
|
||||
optional-dependencies.ui = with python3Packages; [
|
||||
|
|
|
@ -56,10 +56,10 @@ in buildPythonPackage {
|
|||
attrs
|
||||
logbook
|
||||
pygments
|
||||
matrix-nio
|
||||
(matrix-nio.override { withOlm = true; })
|
||||
aiohttp
|
||||
requests
|
||||
] ++ matrix-nio.optional-dependencies.e2e;
|
||||
];
|
||||
|
||||
passthru.scripts = [ "matrix.py" ];
|
||||
|
||||
|
|
|
@ -18,48 +18,45 @@ python3Packages.buildPythonPackage rec {
|
|||
|
||||
build-system = with python3Packages; [ setuptools ];
|
||||
|
||||
dependencies =
|
||||
with python3Packages;
|
||||
[
|
||||
aiohttp
|
||||
aiohttp-middlewares
|
||||
aioredis
|
||||
aiosqlite
|
||||
appdirs
|
||||
arrow
|
||||
babel
|
||||
bitstring
|
||||
bleach
|
||||
# botbuilder-core, connector for teams
|
||||
certifi
|
||||
click
|
||||
# dialogflow, connector for Dialogflow
|
||||
dnspython
|
||||
emoji
|
||||
get-video-properties
|
||||
ibm-watson
|
||||
matrix-nio
|
||||
mattermostdriver
|
||||
motor
|
||||
multidict
|
||||
nbconvert
|
||||
nbformat
|
||||
opsdroid-get-image-size
|
||||
parse
|
||||
puremagic
|
||||
pycron
|
||||
python-olm
|
||||
pyyaml
|
||||
regex
|
||||
rich
|
||||
slack-sdk
|
||||
tailer
|
||||
voluptuous
|
||||
watchgod
|
||||
webexteamssdk
|
||||
wrapt
|
||||
]
|
||||
++ matrix-nio.optional-dependencies.e2e;
|
||||
dependencies = with python3Packages; [
|
||||
aiohttp
|
||||
aiohttp-middlewares
|
||||
aioredis
|
||||
aiosqlite
|
||||
appdirs
|
||||
arrow
|
||||
babel
|
||||
bitstring
|
||||
bleach
|
||||
# botbuilder-core, connector for teams
|
||||
certifi
|
||||
click
|
||||
# dialogflow, connector for Dialogflow
|
||||
dnspython
|
||||
emoji
|
||||
get-video-properties
|
||||
ibm-watson
|
||||
(matrix-nio.override { withOlm = true; })
|
||||
mattermostdriver
|
||||
motor
|
||||
multidict
|
||||
nbconvert
|
||||
nbformat
|
||||
opsdroid-get-image-size
|
||||
parse
|
||||
puremagic
|
||||
pycron
|
||||
python-olm
|
||||
pyyaml
|
||||
regex
|
||||
rich
|
||||
slack-sdk
|
||||
tailer
|
||||
voluptuous
|
||||
watchgod
|
||||
webexteamssdk
|
||||
wrapt
|
||||
];
|
||||
|
||||
passthru.python = python3Packages.python;
|
||||
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
diff --git a/tests/async_client_test.py b/tests/async_client_test.py
|
||||
index 846c854a32..3a66af2baa 100644
|
||||
--- a/tests/async_client_test.py
|
||||
+++ b/tests/async_client_test.py
|
||||
@@ -129,7 +129,10 @@
|
||||
)
|
||||
from nio.api import EventFormat, ResizingMethod, RoomPreset, RoomVisibility
|
||||
from nio.client.async_client import connect_wrapper, on_request_chunk_sent
|
||||
-from nio.crypto import OlmDevice, Session, decrypt_attachment
|
||||
+try:
|
||||
+ from nio.crypto import OlmDevice, Session, decrypt_attachment
|
||||
+except ImportError:
|
||||
+ pass
|
||||
|
||||
TEST_ROOM_ID = "!testroom:example.org"
|
||||
|
||||
diff --git a/tests/conftest.py b/tests/conftest.py
|
||||
index ae37ca1169..e5f791a31e 100644
|
||||
--- a/tests/conftest.py
|
||||
+++ b/tests/conftest.py
|
||||
@@ -9,11 +9,17 @@
|
||||
async_client_pair,
|
||||
async_client_pair_same_user,
|
||||
)
|
||||
-from olm import Account
|
||||
+try:
|
||||
+ from olm import Account
|
||||
+except ImportError:
|
||||
+ pass
|
||||
|
||||
from nio import Client, ClientConfig, HttpClient
|
||||
-from nio.crypto import Olm, OlmDevice
|
||||
-from nio.store import SqliteMemoryStore
|
||||
+try:
|
||||
+ from nio.crypto import Olm, OlmDevice
|
||||
+ from nio.store import SqliteMemoryStore
|
||||
+except ImportError:
|
||||
+ pass
|
||||
|
||||
ALICE_ID = "@alice:example.org"
|
||||
ALICE_DEVICE_ID = "JLAFKJWSCS"
|
||||
diff --git a/tests/helpers.py b/tests/helpers.py
|
||||
index 63445b605a..05096d1dc3 100644
|
||||
--- a/tests/helpers.py
|
||||
+++ b/tests/helpers.py
|
||||
@@ -26,8 +26,11 @@
|
||||
WindowUpdateFrame,
|
||||
)
|
||||
|
||||
-from nio.crypto import OlmAccount, OlmDevice
|
||||
-from nio.store import Ed25519Key
|
||||
+try:
|
||||
+ from nio.crypto import OlmAccount, OlmDevice
|
||||
+ from nio.store import Ed25519Key
|
||||
+except ImportError:
|
||||
+ pass
|
||||
|
||||
SAMPLE_SETTINGS = {
|
||||
SettingsFrame.HEADER_TABLE_SIZE: 4096,
|
|
@ -38,6 +38,8 @@
|
|||
pantalaimon,
|
||||
weechatScripts,
|
||||
zulip,
|
||||
|
||||
withOlm ? false,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
|
@ -52,9 +54,14 @@ buildPythonPackage rec {
|
|||
hash = "sha256-XlswVHLvKOi1qr+I7Mbm4IBjn1DG7glgDsNY48NA5Ew=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
patches = [
|
||||
# Ignore olm import failures when testing
|
||||
./allow-tests-without-olm.patch
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
dependencies = [
|
||||
aiofiles
|
||||
aiohttp
|
||||
aiohttp-socks
|
||||
|
@ -63,13 +70,9 @@ buildPythonPackage rec {
|
|||
jsonschema
|
||||
pycryptodome
|
||||
unpaddedbase64
|
||||
];
|
||||
] ++ lib.optionals withOlm optional-dependencies.e2e;
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"aiohttp-socks" # Pending matrix-nio/matrix-nio#516
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
optional-dependencies = {
|
||||
e2e = [
|
||||
atomicwrites
|
||||
cachetools
|
||||
|
@ -78,6 +81,10 @@ buildPythonPackage rec {
|
|||
];
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"aiohttp-socks" # Pending matrix-nio/matrix-nio#516
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
aioresponses
|
||||
faker
|
||||
|
@ -87,17 +94,60 @@ buildPythonPackage rec {
|
|||
pytest-aiohttp
|
||||
pytest-benchmark
|
||||
pytestCheckHook
|
||||
] ++ passthru.optional-dependencies.e2e;
|
||||
];
|
||||
|
||||
pytestFlagsArray = [ "--benchmark-disable" ];
|
||||
|
||||
disabledTests = [
|
||||
# touches network
|
||||
"test_connect_wrapper"
|
||||
# time dependent and flaky
|
||||
"test_transfer_monitor_callbacks"
|
||||
disabledTestPaths = lib.optionals (!withOlm) [
|
||||
"tests/encryption_test.py"
|
||||
"tests/key_export_test.py"
|
||||
"tests/memory_store_test.py"
|
||||
"tests/sas_test.py"
|
||||
"tests/sessions_test.py"
|
||||
"tests/store_test.py"
|
||||
];
|
||||
|
||||
disabledTests =
|
||||
[
|
||||
# touches network
|
||||
"test_connect_wrapper"
|
||||
# time dependent and flaky
|
||||
"test_transfer_monitor_callbacks"
|
||||
]
|
||||
++ lib.optionals (!withOlm) [
|
||||
"test_client_account_sharing"
|
||||
"test_client_key_query"
|
||||
"test_client_login"
|
||||
"test_client_protocol_error"
|
||||
"test_client_restore_login"
|
||||
"test_client_room_creation"
|
||||
"test_device_store"
|
||||
"test_e2e_sending"
|
||||
"test_early_store_loading"
|
||||
"test_encrypted_data_generator"
|
||||
"test_http_client_keys_query"
|
||||
"test_key_claiming"
|
||||
"test_key_exports"
|
||||
"test_key_invalidation"
|
||||
"test_key_sharing"
|
||||
"test_key_sharing_callbacks"
|
||||
"test_key_sharing_cancellation"
|
||||
"test_keys_query"
|
||||
"test_keys_upload"
|
||||
"test_marking_sessions_as_shared"
|
||||
"test_message_sending"
|
||||
"test_query_rule"
|
||||
"test_room_devices"
|
||||
"test_sas_verification"
|
||||
"test_sas_verification_cancel"
|
||||
"test_session_sharing"
|
||||
"test_session_sharing_2"
|
||||
"test_session_unwedging"
|
||||
"test_storing_room_encryption_state"
|
||||
"test_sync_forever"
|
||||
"test_sync_token_restoring"
|
||||
];
|
||||
|
||||
passthru.tests = {
|
||||
inherit (nixosTests)
|
||||
dendrite
|
||||
|
|
Loading…
Reference in a new issue