• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

zopefoundation / Products.MailHost / 12348253985

07 Jun 2024 06:38AM UTC coverage: 86.62% (-0.3%) from 86.909%
12348253985

push

github

web-flow
Drop support for Python 3.7. (#48)

87 of 136 branches covered (63.97%)

Branch coverage included in aggregate %.

22 of 27 new or added lines in 2 files covered. (81.48%)

1 existing line in 1 file now uncovered.

774 of 858 relevant lines covered (90.21%)

0.9 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

91.55
/src/Products/MailHost/tests/test_exportimport.py
1
##############################################################################
2
#
3
# Copyright (c) 2005 Zope Foundation and Contributors.
4
#
5
# This software is subject to the provisions of the Zope Public License,
6
# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
7
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
8
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
9
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
10
# FOR A PARTICULAR PURPOSE.
11
#
12
##############################################################################
13
"""MailHost export / import support unit tests.
14
"""
15

16
import unittest
1✔
17

18

19
try:
1✔
20
    from Products.GenericSetup.testing import BodyAdapterTestCase
1✔
21
    from Products.GenericSetup.testing import ExportImportZCMLLayer
1✔
22
    HAVE_GS = True
1✔
NEW
23
except ModuleNotFoundError:
×
UNCOV
24
    HAVE_GS = False
×
25

NEW
26
    class BodyAdapterTestCase:
×
NEW
27
        pass  # noqa
×
28

NEW
29
    class ExportImportZCMLLayer:
×
NEW
30
        pass  # noqa
×
31

32

33
_MAILHOST_BODY = b"""\
1✔
34
<?xml version="1.0" encoding="utf-8"?>
35
<object name="foo_mailhost" meta_type="Mail Host" smtp_host="localhost"
36
   smtp_port="25" smtp_pwd="" smtp_queue="False" smtp_queue_directory="/tmp"
37
   smtp_uid=""/>
38
"""
39

40
_MAILHOST_BODY_v2 = b"""\
1✔
41
<?xml version="1.0" encoding="utf-8"?>
42
<object name="foo_mailhost" meta_type="Mail Host" smtp_host="localhost"
43
   smtp_port="25" smtp_pwd="" smtp_queue="True"
44
   smtp_queue_directory="/tmp/mailqueue" smtp_uid=""/>
45
"""
46

47

48
@unittest.skipUnless(HAVE_GS, 'Products.GenericSetup not available.')
1✔
49
class MailHostXMLAdapterTests(BodyAdapterTestCase, unittest.TestCase):
1✔
50

51
    layer = ExportImportZCMLLayer
1✔
52

53
    def _getTargetClass(self):
1✔
54
        from Products.MailHost.exportimport import MailHostXMLAdapter
1✔
55

56
        return MailHostXMLAdapter
1✔
57

58
    def _verifyImport(self, obj):
1✔
59
        self.assertEqual(obj.smtp_host, 'localhost')
1✔
60
        self.assertEqual(obj.smtp_port, 25)
1✔
61
        self.assertEqual(obj.smtp_pwd, '')
1✔
62
        self.assertEqual(obj.smtp_uid, '')
1✔
63
        self.assertEqual(obj.smtp_queue, False)
1✔
64
        self.assertEqual(obj.smtp_queue_directory, '/tmp')
1✔
65

66
    def setUp(self):
1✔
67
        from Products.MailHost.MailHost import MailHost
1✔
68

69
        self._obj = MailHost('foo_mailhost')
1✔
70
        self._BODY = _MAILHOST_BODY
1✔
71

72

73
@unittest.skipUnless(HAVE_GS, 'Products.GenericSetup not available.')
1✔
74
class MailHostXMLAdapterTestsWithoutQueue(MailHostXMLAdapterTests):
1✔
75

76
    def _verifyImport(self, obj):
1✔
77
        self.assertFalse('smtp_queue' in obj.__dict__)
1✔
78
        self.assertFalse('smtp_queue_directory' in obj.__dict__)
1✔
79

80
    def setUp(self):
1✔
81
        from Products.MailHost.MailHost import MailHost
1✔
82

83
        mh = self._obj = MailHost('foo_mailhost')
1✔
84
        del mh.smtp_queue
1✔
85
        del mh.smtp_queue_directory
1✔
86
        self._BODY = _MAILHOST_BODY
1✔
87

88

89
@unittest.skipUnless(HAVE_GS, 'Products.GenericSetup not available.')
1✔
90
class MailHostXMLAdapterTestsWithQueue(BodyAdapterTestCase, unittest.TestCase):
1✔
91

92
    layer = ExportImportZCMLLayer
1✔
93

94
    def _getTargetClass(self):
1✔
95
        from Products.MailHost.exportimport import MailHostXMLAdapter
1✔
96

97
        return MailHostXMLAdapter
1✔
98

99
    def _verifyImport(self, obj):
1✔
100
        self.assertEqual(obj.smtp_queue, True)
1✔
101
        self.assertEqual(obj.smtp_queue_directory, '/tmp/mailqueue')
1✔
102

103
    def test_body_get(self):
1✔
104
        # Default Correctly Handled in MailHostXMLAdapterTests
105
        pass
1✔
106

107
    def setUp(self):
1✔
108
        from Products.MailHost.MailHost import MailHost
1✔
109

110
        self._obj = MailHost('foo_mailhost')
1✔
111
        self._BODY = _MAILHOST_BODY_v2
1✔
112

113

114
@unittest.skipUnless(HAVE_GS, 'Products.GenericSetup not available.')
1✔
115
class MailHostXMLAdapterTestsWithNoneValue(MailHostXMLAdapterTests):
1✔
116

117
    def _verifyImport(self, obj):
1✔
118
        self.assertEqual(obj.smtp_host, 'localhost')
1✔
119
        self.assertEqual(obj.smtp_port, 25)
1✔
120
        self.assertEqual(obj.smtp_pwd, '')
1✔
121
        self.assertEqual(obj.smtp_uid, '')
1✔
122

123
    def setUp(self):
1✔
124
        from Products.MailHost.MailHost import MailHost
1✔
125

126
        self._obj = MailHost('foo_mailhost')
1✔
127
        self._obj.smtp_uid = None
1✔
128
        self._BODY = _MAILHOST_BODY
1✔
129

130

131
def test_suite():
1✔
132
    loader = unittest.defaultTestLoader
1✔
133
    return unittest.TestSuite(
1✔
134
        (loader.loadTestsFromTestCase(MailHostXMLAdapterTests),
135
         loader.loadTestsFromTestCase(MailHostXMLAdapterTestsWithoutQueue),
136
         loader.loadTestsFromTestCase(MailHostXMLAdapterTestsWithQueue),
137
         loader.loadTestsFromTestCase(MailHostXMLAdapterTestsWithNoneValue)))
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc