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

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

import os 

import git 

 

from ..helpers import project_dir 

 

__author__ = 'Artur Barseghyan' 

__copyright__ = '2019 Artur Barseghyan' 

__license__ = 'GPL-2.0-only OR LGPL-2.0-or-later' 

__all__ = ( 

'ChangelogMixin', 

) 

 

 

class ChangelogMixin: 

"""Changelog mixin.""" 

 

@classmethod 

def prepare_changelog_data(cls): 

"""Prepare data.""" 

# if is_internet_available() or is_travis(): 

# Test directory for cloning the repo 

cls.test_dir = project_dir("tests/matyan-testing") 

if not os.path.exists(cls.test_dir): 

git.Repo.clone_from( 

"https://barseghyanartur@bitbucket.org/barseghyanartur/matyan-testing.git", # NOQA 

cls.test_dir, 

StrictHostKeyChecking=False 

) 

 

# Go to cloned repository 

os.chdir(cls.test_dir) 

 

# ************************** Markdown ******************************* 

 

# Expected output of the `generate-changelog` command. 

no_args_out = project_dir( 

'tests/output/generate-changelog.md' 

) 

with open(no_args_out, 'r') as file: 

cls.no_args_out = file.read().strip() 

 

# Expected output of the `generate-changelog --show-releases` 

# command. 

show_releases_out = project_dir( 

'tests/output/generate-changelog-show-releases.md' 

) 

with open(show_releases_out, 'r') as file: 

cls.show_releases_out = file.read().strip() 

 

# Expected output of the 

# `generate-changelog --show-releases --latest-release` 

# command. 

latest_release_show_releases_out = project_dir( 

'tests/output/generate-changelog-latest-release-show-releases.md' 

) 

with open(latest_release_show_releases_out, 'r') as file: 

cls.latest_release_show_releases_out = file.read().strip() 

 

# Expected output of the 

# `generate-changelog --show-releases --headings-only` 

# command. 

show_releases_headings_only_out = project_dir( 

'tests/output/generate-changelog-show-releases-headings-only.md' 

) 

with open(show_releases_headings_only_out, 'r') as file: 

cls.show_releases_headings_only_out = file.read().strip() 

 

# Expected output of the 

# `generate-changelog --headings-only` 

# command. 

headings_only_out = project_dir( 

'tests/output/generate-changelog-headings-only.md' 

) 

with open(headings_only_out, 'r') as file: 

cls.headings_only_out = file.read().strip() 

 

# **************************** JSON ******************************* 

 

# Expected output of the `json-changelog` command. 

json_no_args_out = project_dir( 

'tests/output/json-changelog.json' 

) 

with open(json_no_args_out, 'r') as file: 

cls.json_no_args_out = file.read().strip() 

 

# Expected output of the `json-changelog --show-releases` 

# command. 

json_show_releases_out = project_dir( 

'tests/output/json-changelog-show-releases.json' 

) 

with open(json_show_releases_out, 'r') as file: 

cls.json_show_releases_out = file.read().strip() 

 

# Expected output of the 

# `json-changelog --show-releases --latest-release` 

# command. 

json_latest_release_show_releases_out = project_dir( 

'tests/output/json-changelog-latest-release-show-releases.json' 

) 

with open(json_latest_release_show_releases_out, 'r') as file: 

cls.json_latest_release_show_releases_out = file.read().strip() 

 

# Expected output of the 

# `json-changelog --show-releases --headings-only` 

# command. 

json_show_releases_headings_only_out = project_dir( 

'tests/output/json-changelog-show-releases-headings-only.json' 

) 

with open(json_show_releases_headings_only_out, 'r') as file: 

cls.json_show_releases_headings_only_out = file.read().strip() 

 

# Expected output of the 

# `json-changelog --headings-only` 

# command. 

json_headings_only_out = project_dir( 

'tests/output/json-changelog-headings-only.json' 

) 

with open(json_headings_only_out, 'r') as file: 

cls.json_headings_only_out = file.read().strip()