@@ -1069,6 +1069,45 @@ public void shouldGenerateClosestTagInformationWhenCommitHasTwoTags(boolean useN
10691069 assertPropertyPresentAndEqual (properties , "git.closest.tag.commit.count" , "0" );
10701070 }
10711071
1072+ @ Test
1073+ @ Parameters (method = "useNativeGit" )
1074+ public void shouldGenerateCommitterAndAuthorInformation (boolean useNativeGit ) throws Exception {
1075+ // given
1076+ File dotGitDirectory = createTmpDotGitDirectory (AvailableGitTestRepo .COMMITTER_DIFFERENT_FROM_AUTHOR );
1077+
1078+ GitCommitIdPlugin .Callback cb =
1079+ new GitCommitIdTestCallback ()
1080+ .setDotGitDirectory (dotGitDirectory )
1081+ .setDateFormat ("yyyy-MM-dd'T'HH:mm:ssXXX" )
1082+ .setDateFormatTimeZone ("UTC" )
1083+ .setUseNativeGit (useNativeGit )
1084+ .build ();
1085+ Properties properties = new Properties ();
1086+
1087+ // when
1088+ GitCommitIdPlugin .runPlugin (cb , properties );
1089+
1090+ // then
1091+ assertThat (properties )
1092+ .containsKeys (
1093+ "git.commit.time" ,
1094+ "git.commit.committer.time" ,
1095+ "git.commit.author.time" ,
1096+ "git.commit.user.email" ,
1097+ "git.commit.user.name" );
1098+
1099+ assertThat (properties .getProperty ("git.commit.committer.time" )).isNotEqualTo (properties .getProperty ("git.commit.author.time" ));
1100+
1101+ // Committer
1102+ assertPropertyPresentAndEqual (properties , "git.commit.committer.time" , "2014-09-19T15:23:04Z" );
1103+ assertThat (properties .getProperty ("git.commit.committer.time" )).isEqualTo (properties .getProperty ("git.commit.time" ));
1104+
1105+ // Author
1106+ assertPropertyPresentAndEqual (properties , "git.commit.author.time" , "2012-07-04T13:54:01Z" );
1107+ assertPropertyPresentAndEqual (properties , "git.commit.user.email" , "john.doe@domain.com" );
1108+ assertPropertyPresentAndEqual (properties , "git.commit.user.name" , "John Doe" );
1109+ }
1110+
10721111 @ Test
10731112 @ Parameters (method = "useNativeGit" )
10741113 public void shouldUseDateFormatTimeZone (boolean useNativeGit ) throws Exception {
0 commit comments