| # Copyright 2021 The LUCI Authors. All rights reserved. |
| # Use of this source code is governed under the Apache License, Version 2.0 |
| # that can be found in the LICENSE file. |
| |
| from recipe_engine import post_process |
| |
| from PB.tricium.data import Data |
| from PB.recipe_modules.recipe_engine.tricium.tests.enforce_comments_num_limit import InputProps |
| |
| DEPS = [ |
| 'assertions', |
| 'properties', |
| 'proto', |
| 'tricium', |
| ] |
| |
| PROPERTIES = InputProps |
| |
| |
| def RunSteps(api, props): |
| api.tricium._comments_num_limit = 5 # Reset the limit to 5 for testing. |
| for i in range(10): |
| api.tricium.add_comment('test', 'test message', 'path/to/file_%d' % i) |
| |
| step = api.tricium.write_comments() |
| result = step.presentation.properties.get('tricium') |
| expected = api.proto.encode( |
| props.expected_results, |
| 'JSONPB', |
| indent=0, |
| preserving_proto_field_name=False) |
| api.assertions.assertEqual(result, expected) |
| |
| |
| def GenTests(api): |
| yield (api.test('basic') + api.properties( |
| InputProps( |
| expected_results=Data.Results(comments=[ |
| Data.Comment( |
| category='test', |
| message='test message', |
| path='path/to/file_%d' % i) for i in range(5) |
| ]))) + api.post_process(post_process.DropExpectation)) |