tests.unit.test_users   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 22
dl 0
loc 38
ccs 21
cts 21
cp 1
rs 10
c 0
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A TestUsersManager.test_ask_question__password() 0 6 1
A TestUsersManager.test_register() 0 9 1
A TestUsersManager.setUp() 0 3 1
A TestUsersManager.test_ask_question() 0 6 1
1
"""kytos.utils.users tests."""
2 1
import unittest
3 1
from unittest.mock import patch
4
5 1
from kytos.utils.users import UsersManager
6
7
8 1
class TestUsersManager(unittest.TestCase):
9
    """Test the class UsersManager."""
10
11 1
    def setUp(self):
12
        """Execute steps before each tests."""
13 1
        self.user_manager = UsersManager()
14
15 1
    @patch('kytos.utils.client.UsersClient.register')
16 1
    @patch('kytos.utils.users.UsersManager.ask_question')
17 1
    def test_register(self, *args):
18
        """Test register method."""
19 1
        (mock_ask_question, mock_register) = args
20 1
        self.user_manager.register()
21
22 1
        self.assertEqual(mock_ask_question.call_count, 9)
23 1
        mock_register.assert_called()
24
25 1
    @patch('builtins.input', return_value='input')
26 1
    def test_ask_question(self, _):
27
        """Test ask_question method."""
28 1
        input_value = self.user_manager.ask_question('field')
29
30 1
        self.assertEqual(input_value, 'input')
31
32 1
    @patch('kytos.utils.users.getpass', return_value='password')
33 1
    def test_ask_question__password(self, _):
34
        """Test ask_question method with password."""
35 1
        input_value = self.user_manager.ask_question('field', password=True)
36
37
        self.assertEqual(input_value, 'password')
38