github.com/git-chglog/git-chglog@v0.15.5-0.20240126074033-6a6993d52d69/processor_test.go (about) 1 package chglog 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestGitHubProcessor(t *testing.T) { 10 assert := assert.New(t) 11 12 config := &Config{ 13 Info: &Info{ 14 RepositoryURL: "https://example.com", 15 }, 16 } 17 18 processor := &GitHubProcessor{} 19 20 processor.Bootstrap(config) 21 22 assert.Equal( 23 &Commit{ 24 Header: "message [@foo](https://github.com/foo) [#123](https://example.com/issues/123)", 25 Subject: "message [@foo](https://github.com/foo) [#123](https://example.com/issues/123)", 26 Body: `issue [#456](https://example.com/issues/456) 27 multiline [#789](https://example.com/issues/789) 28 [@foo](https://github.com/foo), [@bar](https://github.com/bar)`, 29 Notes: []*Note{ 30 { 31 Body: `issue1 [#11](https://example.com/issues/11) 32 issue2 [#22](https://example.com/issues/22) 33 [gh-56](https://example.com/issues/56) hoge fuga`, 34 }, 35 }, 36 }, 37 processor.ProcessCommit( 38 &Commit{ 39 Header: "message @foo #123", 40 Subject: "message @foo #123", 41 Body: `issue #456 42 multiline #789 43 @foo, @bar`, 44 Notes: []*Note{ 45 { 46 Body: `issue1 #11 47 issue2 #22 48 gh-56 hoge fuga`, 49 }, 50 }, 51 }, 52 ), 53 ) 54 55 assert.Equal( 56 &Commit{ 57 Revert: &Revert{ 58 Header: "revert header [@mention](https://github.com/mention) [#123](https://example.com/issues/123)", 59 }, 60 }, 61 processor.ProcessCommit( 62 &Commit{ 63 Revert: &Revert{ 64 Header: "revert header @mention #123", 65 }, 66 }, 67 ), 68 ) 69 } 70 71 func TestGitLabProcessor(t *testing.T) { 72 assert := assert.New(t) 73 74 config := &Config{ 75 Info: &Info{ 76 RepositoryURL: "https://example.com", 77 }, 78 } 79 80 processor := &GitLabProcessor{} 81 82 processor.Bootstrap(config) 83 84 assert.Equal( 85 &Commit{ 86 Header: "message [@foo](https://gitlab.com/foo) [#123](https://example.com/issues/123) [!345](https://example.com/merge_requests/345)", 87 Subject: "message [@foo](https://gitlab.com/foo) [#123](https://example.com/issues/123) [!345](https://example.com/merge_requests/345)", 88 Body: `issue [#456](https://example.com/issues/456) 89 multiline [#789](https://example.com/issues/789) 90 merge request [!345](https://example.com/merge_requests/345) 91 [@foo](https://gitlab.com/foo), [@bar](https://gitlab.com/bar)`, 92 Notes: []*Note{ 93 { 94 Body: `issue1 [#11](https://example.com/issues/11) [!33](https://example.com/merge_requests/33) 95 issue2 [#22](https://example.com/issues/22) 96 merge request [!33](https://example.com/merge_requests/33) 97 gh-56 hoge fuga`, 98 }, 99 }, 100 }, 101 processor.ProcessCommit( 102 &Commit{ 103 Header: "message @foo #123 !345", 104 Subject: "message @foo #123 !345", 105 Body: `issue #456 106 multiline #789 107 merge request !345 108 @foo, @bar`, 109 Notes: []*Note{ 110 { 111 Body: `issue1 #11 !33 112 issue2 #22 113 merge request !33 114 gh-56 hoge fuga`, 115 }, 116 }, 117 }, 118 ), 119 ) 120 121 assert.Equal( 122 &Commit{ 123 Revert: &Revert{ 124 Header: "revert header [@mention](https://gitlab.com/mention) [#123](https://example.com/issues/123) [!345](https://example.com/merge_requests/345)", 125 }, 126 }, 127 processor.ProcessCommit( 128 &Commit{ 129 Revert: &Revert{ 130 Header: "revert header @mention #123 !345", 131 }, 132 }, 133 ), 134 ) 135 } 136 137 func TestBitbucketProcessor(t *testing.T) { 138 assert := assert.New(t) 139 140 config := &Config{ 141 Info: &Info{ 142 RepositoryURL: "https://example.com", 143 }, 144 } 145 146 processor := &BitbucketProcessor{} 147 148 processor.Bootstrap(config) 149 150 assert.Equal( 151 &Commit{ 152 Header: "message [@foo](https://bitbucket.org/foo/) [#123](https://example.com/issues/123/)", 153 Subject: "message [@foo](https://bitbucket.org/foo/) [#123](https://example.com/issues/123/)", 154 Body: `issue [#456](https://example.com/issues/456/) 155 multiline [#789](https://example.com/issues/789/) 156 [@foo](https://bitbucket.org/foo/), [@bar](https://bitbucket.org/bar/)`, 157 Notes: []*Note{ 158 { 159 Body: `issue1 [#11](https://example.com/issues/11/) 160 issue2 [#22](https://example.com/issues/22/) 161 gh-56 hoge fuga`, 162 }, 163 }, 164 }, 165 processor.ProcessCommit( 166 &Commit{ 167 Header: "message @foo #123", 168 Subject: "message @foo #123", 169 Body: `issue #456 170 multiline #789 171 @foo, @bar`, 172 Notes: []*Note{ 173 { 174 Body: `issue1 #11 175 issue2 #22 176 gh-56 hoge fuga`, 177 }, 178 }, 179 }, 180 ), 181 ) 182 183 assert.Equal( 184 &Commit{ 185 Revert: &Revert{ 186 Header: "revert header [@mention](https://bitbucket.org/mention/) [#123](https://example.com/issues/123/)", 187 }, 188 }, 189 processor.ProcessCommit( 190 &Commit{ 191 Revert: &Revert{ 192 Header: "revert header @mention #123", 193 }, 194 }, 195 ), 196 ) 197 }