@@ -1032,6 +1032,7 @@ def make_fakes(cls):
1032
1032
'diff' : {
1033
1033
'normal' : load_fake ('normal.diff' ),
1034
1034
'travis-yml' : load_fake ('travis-yml.diff' ),
1035
+ 'mentions' : load_fake ('mentions.diff' ),
1035
1036
},
1036
1037
'config' : fakes .get_repo_configs (),
1037
1038
'global_' : fakes .get_global_configs (),
@@ -1073,7 +1074,9 @@ def choose_reviewers(self, diff, author, global_=None):
1073
1074
)
1074
1075
mentions = self .get_to_mention (diff , global_ )
1075
1076
chosen_reviewers .add (reviewer )
1076
- mention_list .add (tuple (mentions ))
1077
+ for mention in mentions :
1078
+ for reviewer in mention ['reviewers' ]:
1079
+ mention_list .add (reviewer )
1077
1080
return chosen_reviewers , mention_list
1078
1081
1079
1082
def test_individuals_no_dirs_1 (self ):
@@ -1087,7 +1090,7 @@ def test_individuals_no_dirs_1(self):
1087
1090
self .fakes ['diff' ]['normal' ], "nikomatsakis"
1088
1091
)
1089
1092
assert set (["pnkfelix" , "nrc" ]) == chosen_reviewers
1090
- assert set ([()] ) == mentions
1093
+ assert set () == mentions
1091
1094
1092
1095
def test_individuals_no_dirs_2 (self ):
1093
1096
"""Test choosing a reviewer from a list of individual reviewers, no
@@ -1100,7 +1103,7 @@ def test_individuals_no_dirs_2(self):
1100
1103
self .fakes ['diff' ]['normal' ], "nrc"
1101
1104
)
1102
1105
assert set (["pnkfelix" ]) == chosen_reviewers
1103
- assert set ([()] ) == mentions
1106
+ assert set () == mentions
1104
1107
1105
1108
def test_circular_groups (self ):
1106
1109
"""Test choosing a reviewer from groups that have circular references.
@@ -1125,7 +1128,7 @@ def test_global_core(self):
1125
1128
self .fakes ['global_' ]['base' ]
1126
1129
)
1127
1130
assert set (['alexcrichton' ]) == chosen_reviewers
1128
- assert set ([()] ) == mentions
1131
+ assert set () == mentions
1129
1132
1130
1133
@mock .patch ('highfive.newpr.HighfiveHandler._load_json_file' )
1131
1134
def test_global_group_overlap (self , mock_load_json ):
@@ -1152,7 +1155,7 @@ def test_no_potential_reviewers(self):
1152
1155
self .fakes ['global_' ]['base' ]
1153
1156
)
1154
1157
assert set ([None ]) == chosen_reviewers
1155
- assert set ([()] ) == mentions
1158
+ assert set () == mentions
1156
1159
1157
1160
def test_with_dirs (self ):
1158
1161
"""Test choosing a reviewer when directory reviewers are defined that
@@ -1165,7 +1168,7 @@ def test_with_dirs(self):
1165
1168
self .fakes ['diff' ]['normal' ], "nikomatsakis"
1166
1169
)
1167
1170
assert set (["pnkfelix" , "nrc" ]) == chosen_reviewers
1168
- assert set ([()] ) == mentions
1171
+ assert set () == mentions
1169
1172
1170
1173
def test_with_dirs_no_intersection (self ):
1171
1174
"""Test choosing a reviewer when directory reviewers are defined that
@@ -1178,7 +1181,7 @@ def test_with_dirs_no_intersection(self):
1178
1181
self .fakes ['diff' ]['normal' ], "nikomatsakis"
1179
1182
)
1180
1183
assert set (["pnkfelix" , "nrc" ]) == chosen_reviewers
1181
- assert set ([()] ) == mentions
1184
+ assert set () == mentions
1182
1185
1183
1186
def test_with_files (self ):
1184
1187
"""Test choosing a reviewer when a file os changed."""
@@ -1189,7 +1192,19 @@ def test_with_files(self):
1189
1192
self .fakes ['diff' ]['travis-yml' ], "nikomatsakis"
1190
1193
)
1191
1194
assert set (["pnkfelix" , "nrc" , "aturon" ]) == chosen_reviewers
1192
- assert set ([()]) == mentions
1195
+ assert set () == mentions
1196
+
1197
+ def test_mentions (self ):
1198
+ """Test tagging people listed in the mentions list."""
1199
+ self .handler = HighfiveHandlerMock (
1200
+ Payload ({}), repo_config = self .fakes ['config' ]['mentions' ]
1201
+ ).handler
1202
+ (chosen_reviewers , mentions ) = self .choose_reviewers (
1203
+ self .fakes ['diff' ]['mentions' ], "nikomatsakis" ,
1204
+ )
1205
+ assert set (["pnkfelix" ]) == chosen_reviewers
1206
+ # @ehuss should not be listed here
1207
+ assert set (["@pnkfelix" , "@GuillaumeGomez" ]) == mentions
1193
1208
1194
1209
1195
1210
class TestRun (TestNewPR ):
0 commit comments