specter-desktop/tests/test_managers_user.py
k9ert 9df0b77f8c
Feature: Spectrum addition (#1952)
* add spectrum

* rc3 of spectrum

* spectrum rc4

* missing __init__.py

* changes for rc6

* make cli-arguments work in electron

* update spectrum to remove simplejson

* Bugfix devices not shown

* additional checks for wallet_import

* nodes template magic to improve extensibility

* smaller bugfixes

* update spectrum

* keep python 3.9 in pre-commit-yaml

* specter_added_to_flask_app callback added

* useful logger + avoid writing to config with no node alias

* Using FlaskThread

* remove overriding chain property in node.py

* nodes_by_chain method added to node mananger

* icons for spectrum setup

* keep external_node and fix test

* bump spectrum version

* more visibility

* deactivate checker_threads for testing

Co-authored-by: k9ert <kim@swanbitcoin.com>
Co-authored-by: Manolis Mandrapilias <70536101+moneymanolis@users.noreply.github.com>
Co-authored-by: moneymanolis <moneymanolis@protonmail.com>
2022-11-30 13:13:16 +01:00

33 lines
1 KiB
Python

import json
from cryptoadvance.specter.specter import Specter
from cryptoadvance.specter.managers.user_manager import UserManager
def test_create_user(empty_data_folder):
"""
Should add a new User to the `users` list, generate a user_secret, and write
the new User to json storage.
"""
specter = Specter(data_folder=empty_data_folder, checker_threads=False)
user_manager = UserManager(specter=specter)
password = "somepassword"
user_id = "someuser"
username = "someuser"
config = {}
user = user_manager.create_user(
user_id=user_id, username=username, plaintext_password=password, config=config
)
# new User was added to `users`
assert user in user_manager.users
# Generated a `user_secret`
assert user.encrypted_user_secret is not None
assert user.plaintext_user_secret is not None
# Already written to persistent storage
with open(user_manager.users_file) as user_json_file:
user_json = json.load(user_json_file)
assert user_id in [u.get("id") for u in user_json]