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

import os 

import logging 

import unittest 

 

import subprocess 

import git 

 

from ..helpers import project_dir 

from .base import log_info, internet_available_only, is_internet_available 

 

__author__ = 'Artur Barseghyan' 

__copyright__ = '2019 Artur Barseghyan' 

__license__ = 'GPL 2.0/LGPL 2.1' 

__all__ = ('TestCommands',) 

 

LOGGER = logging.getLogger(__name__) 

 

 

class TestCommands(unittest.TestCase): 

"""Matyan commands tests.""" 

 

@classmethod 

def setUpClass(cls): 

"""Set up.""" 

super(TestCommands, cls).setUpClass() 

if is_internet_available(): 

# Test directory for cloning the repo 

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

if not os.path.exists(test_dir): 

git.Repo.clone_from( 

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

test_dir, 

StrictHostKeyChecking=False 

) 

 

# Go to cloned repository 

os.chdir(test_dir) 

 

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

changelog_output = project_dir( 

'tests/output/generate-changelog.md' 

) 

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

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

 

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

# command. 

changelog_releases_output = project_dir( 

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

) 

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

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

 

@internet_available_only 

@log_info 

def test_01_generate_changelog_command(self): 

"""Test generate changelog command.""" 

res = subprocess.check_output([ 

'generate-changelog' 

]).strip().decode() 

self.assertEqual(res, self.changelog_output) 

return res 

 

@internet_available_only 

@log_info 

def test_02_generate_changelog_command_show_releases(self): 

"""Test generate changelog command.""" 

res = subprocess.check_output([ 

'generate-changelog', 

'--show-releases' 

]).strip().decode() 

self.assertEqual(res, self.changelog_releases_output) 

return res 

 

 

if __name__ == '__main__': 

unittest.main()