diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/fixtures/test.gitconfig | 2 | ||||
| -rw-r--r-- | tests/test_git_trace2_event_log.py | 33 |
2 files changed, 34 insertions, 1 deletions
diff --git a/tests/fixtures/test.gitconfig b/tests/fixtures/test.gitconfig index 90afff04..b178cf60 100644 --- a/tests/fixtures/test.gitconfig +++ b/tests/fixtures/test.gitconfig | |||
| @@ -12,7 +12,7 @@ | |||
| 12 | intm = 10m | 12 | intm = 10m |
| 13 | intg = 10g | 13 | intg = 10g |
| 14 | [repo "syncstate.main"] | 14 | [repo "syncstate.main"] |
| 15 | synctime = 2021-08-13T18:37:43.928600Z | 15 | synctime = 2021-09-14T17:23:43.537338Z |
| 16 | version = 1 | 16 | version = 1 |
| 17 | [repo "syncstate.sys"] | 17 | [repo "syncstate.sys"] |
| 18 | argv = ['/usr/bin/pytest-3'] | 18 | argv = ['/usr/bin/pytest-3'] |
diff --git a/tests/test_git_trace2_event_log.py b/tests/test_git_trace2_event_log.py index bee5865b..a5a6cbba 100644 --- a/tests/test_git_trace2_event_log.py +++ b/tests/test_git_trace2_event_log.py | |||
| @@ -234,6 +234,39 @@ class EventLogTestCase(unittest.TestCase): | |||
| 234 | self.assertEqual(len(self._log_data), 1) | 234 | self.assertEqual(len(self._log_data), 1) |
| 235 | self.verifyCommonKeys(self._log_data[0], expected_event_name='version') | 235 | self.verifyCommonKeys(self._log_data[0], expected_event_name='version') |
| 236 | 236 | ||
| 237 | def test_data_event_config(self): | ||
| 238 | """Test 'data' event data outputs all config keys. | ||
| 239 | |||
| 240 | Expected event log: | ||
| 241 | <version event> | ||
| 242 | <data event> | ||
| 243 | <data event> | ||
| 244 | """ | ||
| 245 | config = { | ||
| 246 | 'git.foo': 'bar', | ||
| 247 | 'repo.partialclone': 'false', | ||
| 248 | 'repo.syncstate.superproject.hassuperprojecttag': 'true', | ||
| 249 | } | ||
| 250 | prefix_value = 'prefix' | ||
| 251 | self._event_log_module.LogDataConfigEvents(config, prefix_value) | ||
| 252 | |||
| 253 | with tempfile.TemporaryDirectory(prefix='event_log_tests') as tempdir: | ||
| 254 | log_path = self._event_log_module.Write(path=tempdir) | ||
| 255 | self._log_data = self.readLog(log_path) | ||
| 256 | |||
| 257 | self.assertEqual(len(self._log_data), 4) | ||
| 258 | data_events = self._log_data[1:] | ||
| 259 | self.verifyCommonKeys(self._log_data[0], expected_event_name='version') | ||
| 260 | |||
| 261 | for event in data_events: | ||
| 262 | self.verifyCommonKeys(event, expected_event_name='data') | ||
| 263 | # Check for 'data' event specific fields. | ||
| 264 | self.assertIn('key', event) | ||
| 265 | self.assertIn('value', event) | ||
| 266 | key = event['key'].removeprefix(f'{prefix_value}/') | ||
| 267 | value = event['value'] | ||
| 268 | self.assertTrue(key in config and value == config[key]) | ||
| 269 | |||
| 237 | def test_error_event(self): | 270 | def test_error_event(self): |
| 238 | """Test and validate 'error' event data is valid. | 271 | """Test and validate 'error' event data is valid. |
| 239 | 272 | ||
