github.com/fredbi/git-chglog@v0.0.0-20190706071416-d35c598eac81/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  				&Note{
    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  					&Note{
    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)",
    87  			Subject: "message [@foo](https://gitlab.com/foo) [#123](https://example.com/issues/123)",
    88  			Body: `issue [#456](https://example.com/issues/456)
    89  multiline [#789](https://example.com/issues/789)
    90  [@foo](https://gitlab.com/foo), [@bar](https://gitlab.com/bar)`,
    91  			Notes: []*Note{
    92  				&Note{
    93  					Body: `issue1 [#11](https://example.com/issues/11)
    94  issue2 [#22](https://example.com/issues/22)
    95  gh-56 hoge fuga`,
    96  				},
    97  			},
    98  		},
    99  		processor.ProcessCommit(
   100  			&Commit{
   101  				Header:  "message @foo #123",
   102  				Subject: "message @foo #123",
   103  				Body: `issue #456
   104  multiline #789
   105  @foo, @bar`,
   106  				Notes: []*Note{
   107  					&Note{
   108  						Body: `issue1 #11
   109  issue2 #22
   110  gh-56 hoge fuga`,
   111  					},
   112  				},
   113  			},
   114  		),
   115  	)
   116  
   117  	assert.Equal(
   118  		&Commit{
   119  			Revert: &Revert{
   120  				Header: "revert header [@mention](https://gitlab.com/mention) [#123](https://example.com/issues/123)",
   121  			},
   122  		},
   123  		processor.ProcessCommit(
   124  			&Commit{
   125  				Revert: &Revert{
   126  					Header: "revert header @mention #123",
   127  				},
   128  			},
   129  		),
   130  	)
   131  }
   132  
   133  func TestBitbucketProcessor(t *testing.T) {
   134  	assert := assert.New(t)
   135  
   136  	config := &Config{
   137  		Info: &Info{
   138  			RepositoryURL: "https://example.com",
   139  		},
   140  	}
   141  
   142  	processor := &BitbucketProcessor{}
   143  
   144  	processor.Bootstrap(config)
   145  
   146  	assert.Equal(
   147  		&Commit{
   148  			Header:  "message [@foo](https://bitbucket.org/foo/) [#123](https://example.com/issues/123/)",
   149  			Subject: "message [@foo](https://bitbucket.org/foo/) [#123](https://example.com/issues/123/)",
   150  			Body: `issue [#456](https://example.com/issues/456/)
   151  multiline [#789](https://example.com/issues/789/)
   152  [@foo](https://bitbucket.org/foo/), [@bar](https://bitbucket.org/bar/)`,
   153  			Notes: []*Note{
   154  				&Note{
   155  					Body: `issue1 [#11](https://example.com/issues/11/)
   156  issue2 [#22](https://example.com/issues/22/)
   157  gh-56 hoge fuga`,
   158  				},
   159  			},
   160  		},
   161  		processor.ProcessCommit(
   162  			&Commit{
   163  				Header:  "message @foo #123",
   164  				Subject: "message @foo #123",
   165  				Body: `issue #456
   166  multiline #789
   167  @foo, @bar`,
   168  				Notes: []*Note{
   169  					&Note{
   170  						Body: `issue1 #11
   171  issue2 #22
   172  gh-56 hoge fuga`,
   173  					},
   174  				},
   175  			},
   176  		),
   177  	)
   178  
   179  	assert.Equal(
   180  		&Commit{
   181  			Revert: &Revert{
   182  				Header: "revert header [@mention](https://bitbucket.org/mention/) [#123](https://example.com/issues/123/)",
   183  			},
   184  		},
   185  		processor.ProcessCommit(
   186  			&Commit{
   187  				Revert: &Revert{
   188  					Header: "revert header @mention #123",
   189  				},
   190  			},
   191  		),
   192  	)
   193  }