File: test_email.py

package info (click to toggle)
python-flask-seeder 1.2.0-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 292 kB
  • sloc: python: 1,062; makefile: 2
file content (38 lines) | stat: -rw-r--r-- 936 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from unittest import TestCase
from unittest.mock import MagicMock, mock_open, patch, call

from flask_seeder.generator import Email

MOCK_DOMAINS = [
    "domain1.com",
]

MOCK_NAMES = [
    "test1",
]


def read_resource(arg):
    if arg == "domains/domains.txt":
        return MOCK_DOMAINS

    if arg == "names/names.txt":
        return MOCK_NAMES


class TestEmailGenerator(TestCase):
    def setUp(self):
        self.rnd_mock = MagicMock(
            choice=MagicMock(side_effect=lambda values: values[0])
        )
        self.generator = Email(rnd=self.rnd_mock)

    @patch("flask_seeder.generator.read_resource", side_effect=read_resource)
    def test_generate_email(self, m_read_resource):
        result = self.generator.generate()

        self.rnd_mock.choice.assert_has_calls(
            [call(MOCK_NAMES), call(MOCK_DOMAINS)], any_order=True
        )

        assert result == f"{MOCK_NAMES[0]}@{MOCK_DOMAINS[0]}"