Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

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

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

"""Tests for certbot.renewal""" 

import mock 

import unittest 

 

from acme import challenges 

 

from certbot import configuration 

from certbot import errors 

from certbot import storage 

 

import certbot.tests.util as test_util 

 

 

class RenewalTest(test_util.ConfigTestCase): 

def setUp(self): 

super(RenewalTest, self).setUp() 

 

@mock.patch('certbot.cli.set_by_cli') 

def test_ancient_webroot_renewal_conf(self, mock_set_by_cli): 

mock_set_by_cli.return_value = False 

rc_path = test_util.make_lineage( 

self.config.config_dir, 'sample-renewal-ancient.conf') 

self.config.account = None 

self.config.email = None 

self.config.webroot_path = None 

config = configuration.NamespaceConfig(self.config) 

lineage = storage.RenewableCert(rc_path, config) 

renewalparams = lineage.configuration['renewalparams'] 

# pylint: disable=protected-access 

from certbot import renewal 

renewal._restore_webroot_config(config, renewalparams) 

self.assertEqual(config.webroot_path, ['/var/www/']) 

 

 

class RestoreRequiredConfigElementsTest(test_util.ConfigTestCase): 

"""Tests for certbot.renewal.restore_required_config_elements.""" 

def setUp(self): 

super(RestoreRequiredConfigElementsTest, self).setUp() 

 

@classmethod 

def _call(cls, *args, **kwargs): 

from certbot.renewal import restore_required_config_elements 

return restore_required_config_elements(*args, **kwargs) 

 

@mock.patch('certbot.renewal.cli.set_by_cli') 

def test_allow_subset_of_names_success(self, mock_set_by_cli): 

mock_set_by_cli.return_value = False 

self._call(self.config, {'allow_subset_of_names': 'True'}) 

self.assertTrue(self.config.allow_subset_of_names is True) 

 

@mock.patch('certbot.renewal.cli.set_by_cli') 

def test_allow_subset_of_names_failure(self, mock_set_by_cli): 

mock_set_by_cli.return_value = False 

renewalparams = {'allow_subset_of_names': 'maybe'} 

self.assertRaises( 

errors.Error, self._call, self.config, renewalparams) 

 

@mock.patch('certbot.renewal.cli.set_by_cli') 

def test_pref_challs_list(self, mock_set_by_cli): 

mock_set_by_cli.return_value = False 

renewalparams = {'pref_challs': 'tls-sni, http-01, dns'.split(',')} 

self._call(self.config, renewalparams) 

expected = [challenges.TLSSNI01.typ, 

challenges.HTTP01.typ, challenges.DNS01.typ] 

self.assertEqual(self.config.pref_challs, expected) 

 

@mock.patch('certbot.renewal.cli.set_by_cli') 

def test_pref_challs_str(self, mock_set_by_cli): 

mock_set_by_cli.return_value = False 

renewalparams = {'pref_challs': 'dns'} 

self._call(self.config, renewalparams) 

expected = [challenges.DNS01.typ] 

self.assertEqual(self.config.pref_challs, expected) 

 

@mock.patch('certbot.renewal.cli.set_by_cli') 

def test_pref_challs_failure(self, mock_set_by_cli): 

mock_set_by_cli.return_value = False 

renewalparams = {'pref_challs': 'finding-a-shrubbery'} 

self.assertRaises(errors.Error, self._call, self.config, renewalparams) 

 

@mock.patch('certbot.renewal.cli.set_by_cli') 

def test_must_staple_success(self, mock_set_by_cli): 

mock_set_by_cli.return_value = False 

self._call(self.config, {'must_staple': 'True'}) 

self.assertTrue(self.config.must_staple is True) 

 

@mock.patch('certbot.renewal.cli.set_by_cli') 

def test_must_staple_failure(self, mock_set_by_cli): 

mock_set_by_cli.return_value = False 

renewalparams = {'must_staple': 'maybe'} 

self.assertRaises( 

errors.Error, self._call, self.config, renewalparams) 

 

if __name__ == "__main__": 

unittest.main() # pragma: no cover