@@ -2,159 +2,9 @@ package reporting
2
2
3
3
import (
4
4
"fmt"
5
- "testing"
6
- "time"
7
-
8
- "github.com/diggerhq/digger/cli/pkg/core/utils"
9
5
"github.com/diggerhq/digger/libs/orchestrator"
10
-
11
- "github.com/stretchr/testify/assert"
12
6
)
13
7
14
- func TestCommentPerRunStrategyReport (t * testing.T ) {
15
- timeOfRun := time .Now ()
16
- strategy := CommentPerRunStrategy {
17
- TimeOfRun : timeOfRun ,
18
- }
19
- existingCommentForOtherRun := utils .AsCollapsibleComment ("Digger run report at some other time" )("" )
20
-
21
- prNumber := 1
22
- ciService := & MockCiService {
23
- CommentsPerPr : map [int ][]* orchestrator.Comment {
24
- prNumber : {
25
- {
26
- Id : 1 ,
27
- Body : & existingCommentForOtherRun ,
28
- },
29
- },
30
- },
31
- }
32
-
33
- report := "resource \" null_resource\" \" test\" {}"
34
- reportFormatter := utils .GetTerraformOutputAsCollapsibleComment ("run1" )
35
- err := strategy .Report (ciService , prNumber , report , reportFormatter , true )
36
- if err != nil {
37
- t .Errorf ("Error: %v" , err )
38
- }
39
- report2 := "resource \" null_resource\" \" test\" {}"
40
- reportFormatter2 := utils .GetTerraformOutputAsCollapsibleComment ("run2" )
41
- err = strategy .Report (ciService , prNumber , report2 , reportFormatter2 , true )
42
- if err != nil {
43
- t .Errorf ("Error: %v" , err )
44
- }
45
- report3 := "resource \" null_resource\" \" test\" {}"
46
- reportFormatter3 := utils .GetTerraformOutputAsCollapsibleComment ("run3" )
47
- err = strategy .Report (ciService , prNumber , report3 , reportFormatter3 , true )
48
- if err != nil {
49
- t .Errorf ("Error: %v" , err )
50
- }
51
- report4 := "resource \" null_resource\" \" test\" {}"
52
- reportFormatter4 := utils .GetTerraformOutputAsCollapsibleComment ("run4" )
53
- err = strategy .Report (ciService , prNumber , report4 , reportFormatter4 , true )
54
-
55
- if err != nil {
56
- t .Errorf ("Error: %v" , err )
57
- }
58
-
59
- assert .Equal (t , 2 , len (ciService .CommentsPerPr [prNumber ]))
60
- assert .Equal (t , "<details><summary>Digger run report at " + timeOfRun .Format ("2006-01-02 15:04:05 (MST)" )+ "</summary>\n <details><summary>run1</summary>\n \n ```terraform\n resource \" null_resource\" \" test\" {}\n ```\n </details>\n \n <details><summary>run2</summary>\n \n ```terraform\n resource \" null_resource\" \" test\" {}\n ```\n </details>\n \n \n <details><summary>run3</summary>\n \n ```terraform\n resource \" null_resource\" \" test\" {}\n ```\n </details>\n \n \n <details><summary>run4</summary>\n \n ```terraform\n resource \" null_resource\" \" test\" {}\n ```\n </details>\n \n </details>" , * ciService .CommentsPerPr [prNumber ][1 ].Body )
61
- }
62
-
63
- func TestLatestCommentStrategyReport (t * testing.T ) {
64
- timeOfRun := time .Now ()
65
- strategy := LatestRunCommentStrategy {
66
- TimeOfRun : timeOfRun ,
67
- }
68
- existingCommentForOtherRun := utils .AsCollapsibleComment ("Digger run report at some other time" )("" )
69
-
70
- prNumber := 1
71
- ciService := & MockCiService {
72
- CommentsPerPr : map [int ][]* orchestrator.Comment {
73
- prNumber : {
74
- {
75
- Id : 1 ,
76
- Body : & existingCommentForOtherRun ,
77
- },
78
- },
79
- },
80
- }
81
-
82
- report := "resource \" null_resource\" \" test\" {}"
83
- reportFormatter := utils .GetTerraformOutputAsCollapsibleComment ("run1" )
84
- err := strategy .Report (ciService , prNumber , report , reportFormatter , true )
85
- if err != nil {
86
- t .Errorf ("Error: %v" , err )
87
- }
88
- report2 := "resource \" null_resource\" \" test\" {}"
89
- reportFormatter2 := utils .GetTerraformOutputAsCollapsibleComment ("run2" )
90
- err = strategy .Report (ciService , prNumber , report2 , reportFormatter2 , true )
91
- if err != nil {
92
- t .Errorf ("Error: %v" , err )
93
- }
94
- report3 := "resource \" null_resource\" \" test\" {}"
95
- reportFormatter3 := utils .GetTerraformOutputAsCollapsibleComment ("run3" )
96
- err = strategy .Report (ciService , prNumber , report3 , reportFormatter3 , true )
97
- if err != nil {
98
- t .Errorf ("Error: %v" , err )
99
- }
100
- report4 := "resource \" null_resource\" \" test\" {}"
101
- reportFormatter4 := utils .GetTerraformOutputAsCollapsibleComment ("run4" )
102
- err = strategy .Report (ciService , prNumber , report4 , reportFormatter4 , true )
103
-
104
- if err != nil {
105
- t .Errorf ("Error: %v" , err )
106
- }
107
-
108
- assert .Equal (t , 2 , len (ciService .CommentsPerPr [prNumber ]))
109
- assert .Equal (t , "<details><summary>Digger latest run report</summary>\n <details><summary>run1</summary>\n \n ```terraform\n resource \" null_resource\" \" test\" {}\n ```\n </details>\n \n <details><summary>run2</summary>\n \n ```terraform\n resource \" null_resource\" \" test\" {}\n ```\n </details>\n \n \n <details><summary>run3</summary>\n \n ```terraform\n resource \" null_resource\" \" test\" {}\n ```\n </details>\n \n \n <details><summary>run4</summary>\n \n ```terraform\n resource \" null_resource\" \" test\" {}\n ```\n </details>\n \n </details>" , * ciService .CommentsPerPr [prNumber ][1 ].Body )
110
- }
111
-
112
- func TestMultipleCommentStrategyReport (t * testing.T ) {
113
- strategy := MultipleCommentsStrategy {}
114
- existingCommentForOtherRun := utils .AsCollapsibleComment ("Digger run report at some other time" )("" )
115
-
116
- prNumber := 1
117
- ciService := & MockCiService {
118
- CommentsPerPr : map [int ][]* orchestrator.Comment {
119
- prNumber : {
120
- {
121
- Id : 1 ,
122
- Body : & existingCommentForOtherRun ,
123
- },
124
- },
125
- },
126
- }
127
-
128
- report := "resource \" null_resource\" \" test\" {}"
129
- reportFormatter := utils .GetTerraformOutputAsCollapsibleComment ("run1" )
130
- err := strategy .Report (ciService , prNumber , report , reportFormatter , true )
131
- if err != nil {
132
- t .Errorf ("Error: %v" , err )
133
- }
134
- report2 := "resource \" null_resource\" \" test\" {}"
135
- reportFormatter2 := utils .GetTerraformOutputAsCollapsibleComment ("run2" )
136
- err = strategy .Report (ciService , prNumber , report2 , reportFormatter2 , true )
137
- if err != nil {
138
- t .Errorf ("Error: %v" , err )
139
- }
140
- report3 := "resource \" null_resource\" \" test\" {}"
141
- reportFormatter3 := utils .GetTerraformOutputAsCollapsibleComment ("run3" )
142
- err = strategy .Report (ciService , prNumber , report3 , reportFormatter3 , true )
143
- if err != nil {
144
- t .Errorf ("Error: %v" , err )
145
- }
146
- report4 := "resource \" null_resource\" \" test\" {}"
147
- reportFormatter4 := utils .GetTerraformOutputAsCollapsibleComment ("run4" )
148
- err = strategy .Report (ciService , prNumber , report4 , reportFormatter4 , true )
149
-
150
- if err != nil {
151
- t .Errorf ("Error: %v" , err )
152
- }
153
-
154
- assert .Equal (t , 5 , len (ciService .CommentsPerPr [prNumber ]))
155
- assert .Equal (t , "<details><summary>run4</summary>\n \n ```terraform\n resource \" null_resource\" \" test\" {}\n ```\n </details>" , * ciService .CommentsPerPr [prNumber ][4 ].Body )
156
- }
157
-
158
8
type MockCiService struct {
159
9
CommentsPerPr map [int ][]* orchestrator.Comment
160
10
}
0 commit comments