diff options
Diffstat (limited to 'tests/test_git_trace2_event_log.py')
-rw-r--r-- | tests/test_git_trace2_event_log.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/test_git_trace2_event_log.py b/tests/test_git_trace2_event_log.py index 8fb38dbe..3c5cb150 100644 --- a/tests/test_git_trace2_event_log.py +++ b/tests/test_git_trace2_event_log.py | |||
@@ -161,6 +161,55 @@ class EventLogTestCase(unittest.TestCase): | |||
161 | self.assertIn('code', exit_event) | 161 | self.assertIn('code', exit_event) |
162 | self.assertEqual(exit_event['code'], 2) | 162 | self.assertEqual(exit_event['code'], 2) |
163 | 163 | ||
164 | def test_def_params_event_repo_config(self): | ||
165 | """Test 'def_params' event data outputs only repo config keys. | ||
166 | |||
167 | Expected event log: | ||
168 | <version event> | ||
169 | <def_param event> | ||
170 | <def_param event> | ||
171 | """ | ||
172 | config = { | ||
173 | 'git.foo': 'bar', | ||
174 | 'repo.partialclone': 'true', | ||
175 | 'repo.partialclonefilter': 'blob:none', | ||
176 | } | ||
177 | self._event_log_module.DefParamRepoEvents(config) | ||
178 | |||
179 | with tempfile.TemporaryDirectory(prefix='event_log_tests') as tempdir: | ||
180 | log_path = self._event_log_module.Write(path=tempdir) | ||
181 | self._log_data = self.readLog(log_path) | ||
182 | |||
183 | self.assertEqual(len(self._log_data), 3) | ||
184 | def_param_events = self._log_data[1:] | ||
185 | self.verifyCommonKeys(self._log_data[0], expected_event_name='version') | ||
186 | |||
187 | for event in def_param_events: | ||
188 | self.verifyCommonKeys(event, expected_event_name='def_param') | ||
189 | # Check for 'def_param' event specific fields. | ||
190 | self.assertIn('param', event) | ||
191 | self.assertIn('value', event) | ||
192 | self.assertTrue(event['param'].startswith('repo.')) | ||
193 | |||
194 | def test_def_params_event_no_repo_config(self): | ||
195 | """Test 'def_params' event data won't output non-repo config keys. | ||
196 | |||
197 | Expected event log: | ||
198 | <version event> | ||
199 | """ | ||
200 | config = { | ||
201 | 'git.foo': 'bar', | ||
202 | 'git.core.foo2': 'baz', | ||
203 | } | ||
204 | self._event_log_module.DefParamRepoEvents(config) | ||
205 | |||
206 | with tempfile.TemporaryDirectory(prefix='event_log_tests') as tempdir: | ||
207 | log_path = self._event_log_module.Write(path=tempdir) | ||
208 | self._log_data = self.readLog(log_path) | ||
209 | |||
210 | self.assertEqual(len(self._log_data), 1) | ||
211 | self.verifyCommonKeys(self._log_data[0], expected_event_name='version') | ||
212 | |||
164 | def test_write_with_filename(self): | 213 | def test_write_with_filename(self): |
165 | """Test Write() with a path to a file exits with None.""" | 214 | """Test Write() with a path to a file exits with None.""" |
166 | self.assertIsNone(self._event_log_module.Write(path='path/to/file')) | 215 | self.assertIsNone(self._event_log_module.Write(path='path/to/file')) |