File: test_auth.py

package info (click to toggle)
silkaj 0.11.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid
  • size: 1,164 kB
  • sloc: python: 6,901; sh: 68; makefile: 30
file content (47 lines) | stat: -rw-r--r-- 1,745 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Copyright  2016-2022 Maƫl Azimi <m.a@moul.re>
#
# Silkaj is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Silkaj is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with Silkaj. If not, see <https://www.gnu.org/licenses/>.

import click
import pytest

from silkaj import auth
from tests.patched.auth import (
    patched_auth_by_auth_file,
    patched_auth_by_scrypt,
    patched_auth_by_seed,
    patched_auth_by_wif,
)


# test auth_method
@pytest.mark.parametrize(
    "seed, file, wif, auth_method_called",
    [
        (True, False, False, "call_auth_by_seed"),
        (False, True, False, "call_auth_by_auth_file"),
        (False, False, True, "call_auth_by_wif"),
        (False, False, False, "call_auth_by_scrypt"),
    ],
)
def test_auth_method(seed, file, wif, auth_method_called, monkeypatch):
    monkeypatch.setattr(auth, "auth_by_seed", patched_auth_by_seed)
    monkeypatch.setattr(auth, "auth_by_wif", patched_auth_by_wif)
    monkeypatch.setattr(auth, "auth_by_auth_file", patched_auth_by_auth_file)
    monkeypatch.setattr(auth, "auth_by_scrypt", patched_auth_by_scrypt)
    ctx = click.Context(
        click.Command(""), obj={"AUTH_SEED": seed, "AUTH_FILE": file, "AUTH_WIF": wif}
    )
    with ctx:
        assert auth_method_called == auth.auth_method()