mirror of
https://github.com/koloideal/Argenta.git
synced 2026-06-10 10:05:28 +03:00
73303b1c08
Full code coverage with annotations, fixing errors in various linters: ruff, wps, etc. Fixing errors in type checkers: ty, mypy, pyright. Formatting and bringing code to a consistent style, applying best practices in various aspects.
130 lines
4.4 KiB
Python
130 lines
4.4 KiB
Python
from argenta.command.flag import Flag, InputFlag, PossibleValues
|
|
from argenta.command.flag.flags import InputFlags, Flags
|
|
|
|
import unittest
|
|
import re
|
|
|
|
|
|
class TestFlag(unittest.TestCase):
|
|
def test_get_string_entity(self):
|
|
self.assertEqual(Flag(name='test').string_entity,
|
|
'--test')
|
|
|
|
def test_get_string_entity2(self):
|
|
self.assertEqual(Flag(name='test',
|
|
prefix='---').string_entity,
|
|
'---test')
|
|
|
|
def test_get_flag_name(self):
|
|
self.assertEqual(Flag(name='test').name,
|
|
'test')
|
|
|
|
def test_get_flag_prefix(self):
|
|
self.assertEqual(Flag(name='test').prefix,
|
|
'--')
|
|
|
|
def test_get_flag_prefix2(self):
|
|
self.assertEqual(Flag(name='test',
|
|
prefix='--').prefix,
|
|
'--')
|
|
|
|
def test_get_flag_value_without_set(self):
|
|
self.assertEqual(InputFlag(name='test', input_value=None, status=None).input_value,
|
|
None)
|
|
|
|
def test_get_flag_value_with_set(self):
|
|
flag = InputFlag(name='test', input_value='example', status=None)
|
|
self.assertEqual(flag.input_value, 'example')
|
|
|
|
def test_validate_incorrect_flag_value_with_list_of_possible_flag_values(self):
|
|
flag = Flag(name='test', possible_values=['1', '2', '3'])
|
|
self.assertEqual(flag.validate_input_flag_value('bad value'), False)
|
|
|
|
def test_validate_correct_flag_value_with_list_of_possible_flag_values(self):
|
|
flag = Flag(name='test', possible_values=['1', '2', '3'])
|
|
self.assertEqual(flag.validate_input_flag_value('1'), True)
|
|
|
|
def test_validate_incorrect_flag_value_with_pattern_of_possible_flag_values(self):
|
|
flag = Flag(name='test', possible_values=re.compile(r'192.168.\d+.\d+'))
|
|
self.assertEqual(flag.validate_input_flag_value('152.123.9.8'), False)
|
|
|
|
def test_validate_correct_flag_value_with_pattern_of_possible_flag_values(self):
|
|
flag = Flag(name='test', possible_values=re.compile(r'192.168.\d+.\d+'))
|
|
self.assertEqual(flag.validate_input_flag_value('192.168.9.8'), True)
|
|
|
|
def test_validate_correct_empty_flag_value_without_possible_flag_values(self):
|
|
flag = Flag(name='test', possible_values=PossibleValues.NEITHER)
|
|
self.assertEqual(flag.validate_input_flag_value(None), True)
|
|
|
|
def test_validate_correct_empty_flag_value_with_possible_flag_values(self):
|
|
flag = Flag(name='test', possible_values=PossibleValues.NEITHER)
|
|
self.assertEqual(flag.validate_input_flag_value(None), True)
|
|
|
|
def test_validate_incorrect_random_flag_value_without_possible_flag_values(self):
|
|
flag = Flag(name='test', possible_values=PossibleValues.NEITHER)
|
|
self.assertEqual(flag.validate_input_flag_value('random value'), False)
|
|
|
|
def test_validate_correct_random_flag_value_with_possible_flag_values(self):
|
|
flag = Flag(name='test', possible_values=PossibleValues.ALL)
|
|
self.assertEqual(flag.validate_input_flag_value('random value'), True)
|
|
|
|
def test_get_input_flag1(self):
|
|
flag = InputFlag(name='test', input_value=None, status=None)
|
|
input_flags = InputFlags([flag])
|
|
self.assertEqual(input_flags.get_flag_by_name('test'), flag)
|
|
|
|
def test_get_input_flag2(self):
|
|
flag = InputFlag(name='test', input_value=None, status=None)
|
|
flag2 = InputFlag(name='some', input_value=None, status=None)
|
|
input_flags = InputFlags([flag, flag2])
|
|
self.assertEqual(input_flags.get_flag_by_name('some'), flag2)
|
|
|
|
def test_get_undefined_input_flag(self):
|
|
flag = InputFlag(name='test', input_value=None, status=None)
|
|
flag2 = InputFlag(name='some', input_value=None, status=None)
|
|
input_flags = InputFlags([flag, flag2])
|
|
self.assertEqual(input_flags.get_flag_by_name('case'), None)
|
|
|
|
def test_get_flags(self):
|
|
flags = Flags()
|
|
list_of_flags = [
|
|
Flag('test1'),
|
|
Flag('test2'),
|
|
Flag('test3'),
|
|
]
|
|
flags.add_flags(list_of_flags)
|
|
self.assertEqual(flags.flags,
|
|
list_of_flags)
|
|
|
|
def test_add_flag(self):
|
|
flags = Flags()
|
|
flags.add_flag(Flag('test'))
|
|
self.assertEqual(len(flags.flags), 1)
|
|
|
|
def test_add_flags(self):
|
|
flags = Flags()
|
|
flags.add_flags([Flag('test'), Flag('test2')])
|
|
self.assertEqual(len(flags.flags), 2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|