1
1
from commitizen import git
2
2
3
3
4
+ class FakeCommand :
5
+ def __init__ (self , out = None , err = None ):
6
+ self .out = out
7
+ self .err = err
8
+
9
+
4
10
def test_git_object_eq ():
5
11
git_commit = git .GitCommit (
6
12
rev = "sha1-code" , title = "this is title" , body = "this is body"
@@ -9,3 +15,35 @@ def test_git_object_eq():
9
15
10
16
assert git_commit == git_tag
11
17
assert git_commit != "sha1-code"
18
+
19
+
20
+ def test_get_tags (mocker ):
21
+ tag_str = (
22
+ "v1.0.0---inner_delimiter---333---inner_delimiter---2020-01-20\n "
23
+ "v0.5.0---inner_delimiter---222---inner_delimiter---2020-01-17\n "
24
+ "v0.0.1---inner_delimiter---111---inner_delimiter---2020-01-17\n "
25
+ )
26
+ mocker .patch ("commitizen.cmd.run" , return_value = FakeCommand (out = tag_str ))
27
+
28
+ git_tags = git .get_tags ()
29
+ latest_git_tag = git_tags [0 ]
30
+ assert latest_git_tag .rev == "333"
31
+ assert latest_git_tag .name == "v1.0.0"
32
+ assert latest_git_tag .date == "2020-01-20"
33
+
34
+ mocker .patch (
35
+ "commitizen.cmd.run" , return_value = FakeCommand (out = "" , err = "No tag available" )
36
+ )
37
+ assert git .get_tags () == []
38
+
39
+
40
+ def test_get_tag_names (mocker ):
41
+ tag_str = "v1.0.0\n " "v0.5.0\n " "v0.0.1\n "
42
+ mocker .patch ("commitizen.cmd.run" , return_value = FakeCommand (out = tag_str ))
43
+
44
+ assert git .get_tag_names () == ["v1.0.0" , "v0.5.0" , "v0.0.1" ]
45
+
46
+ mocker .patch (
47
+ "commitizen.cmd.run" , return_value = FakeCommand (out = "" , err = "No tag available" )
48
+ )
49
+ assert git .get_tag_names () == []
0 commit comments