2
0
Fork 0
wuttjamaican/tests/cli/test_base.py
Lance Edgar 2deba45588 feat: add wutta top-level command with make-uuid subcommand
i think it only makes sense to have an "opinion" for command line
interface in this project, and we probably need more `wutta`
subcommands too but we'll see.

main motivation for this currently is to allow poser apps to define
their own CLI, in particular e.g. `poser install`
2024-11-23 11:48:28 -06:00

40 lines
1,000 B
Python

# -*- coding: utf-8; -*-
import os
from unittest import TestCase
from unittest.mock import MagicMock
import typer
from wuttjamaican.conf import WuttaConfig
from wuttjamaican.cli import base as mod
here = os.path.dirname(__file__)
example_conf = os.path.join(here, 'example.conf')
class TestMakeCliConfig(TestCase):
def test_basic(self):
ctx = MagicMock(params={'config_paths': [example_conf]})
config = mod.make_cli_config(ctx)
self.assertIsInstance(config, WuttaConfig)
self.assertEqual(config.files_read, [example_conf])
class TestTyperCallback(TestCase):
def test_basic(self):
ctx = MagicMock(params={'config_paths': [example_conf]})
mod.typer_callback(ctx)
self.assertIsInstance(ctx.wutta_config, WuttaConfig)
self.assertEqual(ctx.wutta_config.files_read, [example_conf])
class TestMakeTyper(TestCase):
def test_basic(self):
typr = mod.make_typer()
self.assertIsInstance(typr, typer.Typer)