Example #1
0
 def test_good_maintainers(self):
     """Maintainers field happy path."""
     linter = Mock()
     charm = {"maintainers": ["Tester <*****@*****.**>", "Tester Joe H. <*****@*****.**>"]}
     validate_maintainer(charm, linter)
     self.assertFalse(linter.err.called)
     self.assertFalse(linter.warn.called)
Example #2
0
 def test_no_maintainer_fields(self):
     """Charm has neither maintainer nor maintainers field."""
     linter = Mock()
     charm = {}
     validate_maintainer(charm, linter)
     linter.err.assert_called_once_with(
         'Charm must have either a maintainer or maintainers field')
 def test_maintainers_not_list(self):
     """Error if maintainers field is NOT a list."""
     linter = Mock()
     charm = {
         'maintainers': 'Tester <*****@*****.**>',
     }
     validate_maintainer(charm, linter)
     linter.err.assert_called_once_with('Maintainers field must be a list')
Example #4
0
 def test_good_maintainer(self):
     """Maintainer field happy path."""
     linter = Mock()
     charm = {
         'maintainer': 'Tester <*****@*****.**>',
     }
     validate_maintainer(charm, linter)
     self.assertFalse(linter.err.called)
     self.assertFalse(linter.warn.called)
Example #5
0
 def test_maintainer_list(self):
     """Error if maintainer field IS a list."""
     linter = Mock()
     charm = {
         'maintainer': ['Tester <*****@*****.**>'],
     }
     validate_maintainer(charm, linter)
     linter.err.assert_called_once_with(
         'Maintainer field must not be a list')
 def test_maintainers_not_list(self):
     """Error if maintainers field is NOT a list."""
     linter = Mock()
     charm = {
         'maintainers': 'Tester <*****@*****.**>',
     }
     validate_maintainer(charm, linter)
     linter.err.assert_called_once_with(
         'Maintainers field must be a list')
Example #7
0
 def test_maintainers_bad_format(self):
     """Warn if format of a maintainers string not RFC2822 compliant."""
     linter = Mock()
     charm = {"maintainers": ["Tester [email protected]"]}
     validate_maintainer(charm, linter)
     linter.warn.assert_called_once_with(
         'Maintainer format should be "Name <Email>", not ' '"*****@*****.**"'
     )
     self.assertFalse(linter.err.called)
Example #8
0
 def test_two_maintainer_fields(self):
     """Charm has maintainer AND maintainers."""
     linter = Mock()
     charm = {
         'maintainer': 'Tester <*****@*****.**>',
         'maintainers': ['Tester <*****@*****.**>'],
     }
     validate_maintainer(charm, linter)
     linter.err.assert_called_once_with(
         'Charm must not have both maintainer and maintainers fields')
Example #9
0
 def test_maintainers_bad_format(self):
     """Warn if format of a maintainers string not RFC2822 compliant."""
     linter = Mock()
     charm = {
         'maintainers': ['Tester [email protected]'],
     }
     validate_maintainer(charm, linter)
     linter.warn.assert_called_once_with(
         'Maintainer format should be "Name <Email>", not '
         '"Tester [email protected]"')
     self.assertFalse(linter.err.called)
Example #10
0
 def test_good_maintainers(self):
     """Maintainers field happy path."""
     linter = Mock()
     charm = {
         'maintainers': [
             'Tester <*****@*****.**>',
             'Tester Joe H. <*****@*****.**>',
         ]
     }
     validate_maintainer(charm, linter)
     self.assertFalse(linter.err.called)
     self.assertFalse(linter.warn.called, "linter.warn was called, sadly")
Example #11
0
 def test_maintainer_list(self):
     """Error if maintainer field IS a list."""
     linter = Mock()
     charm = {"maintainer": ["Tester <*****@*****.**>"]}
     validate_maintainer(charm, linter)
     linter.err.assert_called_once_with("Maintainer field must not be a list")
Example #12
0
 def test_two_maintainer_fields(self):
     """Charm has maintainer AND maintainers."""
     linter = Mock()
     charm = {"maintainer": "Tester <*****@*****.**>", "maintainers": ["Tester <*****@*****.**>"]}
     validate_maintainer(charm, linter)
     linter.err.assert_called_once_with("Charm must not have both maintainer and maintainers fields")