summaryrefslogtreecommitdiffstats
path: root/tests/test_git_trace2_event_log.py
diff options
context:
space:
mode:
authorIan Kasprzak <iankaz@google.com>2021-03-05 11:04:49 -0800
committerIan Kasprzak <iankaz@google.com>2021-03-08 17:32:09 +0000
commit835a34bdb911e15e228cb760043d3f737dd56c84 (patch)
tree2152ffa9a3aa2ccb878ca2d92d67775a36de555f /tests/test_git_trace2_event_log.py
parentef99ec07b4687cef0129057b81c0c1ebd21bb640 (diff)
downloadgit-repo-835a34bdb911e15e228cb760043d3f737dd56c84.tar.gz
Log repo.* config variables in git trace2 logger.
Bug: [google internal] b/181758736 Testing: - Unit tests - Verified repo git trace2 logs had expected data Change-Id: I9af8a574377bd91115f085808c1271e9dee16a36 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/299182 Tested-by: Ian Kasprzak <iankaz@google.com> Reviewed-by: Mike Frysinger <vapier@google.com> Reviewed-by: Raman Tenneti <rtenneti@google.com>
Diffstat (limited to 'tests/test_git_trace2_event_log.py')
-rw-r--r--tests/test_git_trace2_event_log.py49
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'))