From 74e222f1a1cbfc2fac102fefc1115e9d0a6586dc Mon Sep 17 00:00:00 2001 From: Glandos Date: Sun, 6 Jun 2021 14:30:52 +0200 Subject: remove usage of Flask-Script Use flask.cli instead with compatibility layer for existing commands, such as "runserver". --- ihatemoney/tests/main_test.py | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) (limited to 'ihatemoney/tests') diff --git a/ihatemoney/tests/main_test.py b/ihatemoney/tests/main_test.py index 06dbfac..f052ee0 100644 --- a/ihatemoney/tests/main_test.py +++ b/ihatemoney/tests/main_test.py @@ -1,4 +1,3 @@ -import io import os import smtplib import socket @@ -9,7 +8,7 @@ from sqlalchemy import orm from ihatemoney import models from ihatemoney.currency_convertor import CurrencyConverter -from ihatemoney.manage import DeleteProject, GenerateConfig, GeneratePasswordHash +from ihatemoney.manage import delete_project, generate_config, password_hash from ihatemoney.run import load_configuration from ihatemoney.tests.common.ihatemoney_testcase import BaseTestCase, IhatemoneyTestCase @@ -82,28 +81,23 @@ class CommandTestCase(BaseTestCase): - raise no exception - produce something non-empty """ - cmd = GenerateConfig() - for config_file in cmd.get_options()[0].kwargs["choices"]: - with patch("sys.stdout", new=io.StringIO()) as stdout: - cmd.run(config_file) - print(stdout.getvalue()) - self.assertNotEqual(len(stdout.getvalue().strip()), 0) + runner = self.app.test_cli_runner() + for config_file in generate_config.params[0].type.choices: + result = runner.invoke(generate_config, config_file) + self.assertNotEqual(len(result.output.strip()), 0) def test_generate_password_hash(self): - cmd = GeneratePasswordHash() - with patch("sys.stdout", new=io.StringIO()) as stdout, patch( - "getpass.getpass", new=lambda prompt: "secret" - ): # NOQA - cmd.run() - print(stdout.getvalue()) - self.assertEqual(len(stdout.getvalue().strip()), 189) + runner = self.app.test_cli_runner() + with patch("getpass.getpass", new=lambda prompt: "secret"): + result = runner.invoke(password_hash) + self.assertEqual(len(result.output.strip()), 94) def test_demo_project_deletion(self): self.create_project("demo") self.assertEquals(models.Project.query.get("demo").name, "demo") - cmd = DeleteProject() - cmd.run("demo") + runner = self.app.test_cli_runner() + runner.invoke(delete_project, "demo") self.assertEqual(len(models.Project.query.all()), 0) -- cgit v1.1