[IntelMQ-users] Custom harmonization configuration in tests
Vaclav Bruzek
vasek.bruzek at gmail.com
Wed Feb 28 10:23:34 CET 2024
Hi,
I'll try to prepare something.
Sincerely,
Václav Brůžek
On Wed, 28 Feb 2024 at 09:39, Kamil Mankowski <mankowski at cert.at> wrote:
> True, you could also - if you had time - propose a change in the base
> BotTestCase class to allow overriding the harmonization loader without
> subclassing. It was my plan, but just don't have time for that at the
> moment.
>
> Best regards
>
> // Kamil Mańkowski <mankowski at cert.at> - T: +43 676 898 298 7204
> // CERT Austria - https://www.cert.at/
> // CERT.at GmbH, FB-Nr. 561772k, HG Wien
>
> On 2/28/24 09:31, Vaclav Bruzek wrote:
> > Hi,
> > thanks for the suggestions. So there are two options
> > 1. overwrite the file in intelmq/etc/.
> > 2. merge the loaded harmonization in the specific test cases with the
> > custom event fields.
> >
> > This might be a good addition to the documentation.
> >
> > Sincerely,
> > Václav Brůžek
> >
> >
> > On Wed, 28 Feb 2024 at 09:04, Kamil Mankowski <mankowski at cert.at
> > <mailto:mankowski at cert.at>> wrote:
> >
> > Hi,
> >
> > I overcome such a problem by creating a custom test base, look at
> those
> > snippets as an example:
> >
> > import intelmq.lib.test as test
> >
> > ADDITIONAL_HARMONIZATION =
> > ["contrib/constituency.harmonization.part.json"]
> >
> > def load_harmonization():
> > harmonization = pkg_resources.resource_filename(
> > "intelmq_extensions", "etc/harmonization.conf"
> > )
> > extensions = []
> > for file in ADDITIONAL_HARMONIZATION:
> > with open(pathlib.Path(__file__).parent.parent.parent /
> > file) as f:
> > extensions.append(json.load(f))
> > return merge_harmonization(extensions, harmonization)
> >
> > class TestCaseMixin:
> > harmonization = load_harmonization()
> >
> > class BotTestCase(TestCaseMixin, test.BotTestCase):
> > """Provides test class with additional changes required for
> > extension bots"""
> >
> > In my case, I'm merging the default harmonization with additional
> > fields, but you can just load your own.
> >
> > Best regards
> >
> > // Kamil Mańkowski <mankowski at cert.at <mailto:mankowski at cert.at>> -
> > T: +43 676 898 298 7204
> > // CERT Austria - https://www.cert.at/ <https://www.cert.at/>
> > // CERT.at GmbH, FB-Nr. 561772k, HG Wien
> >
> > On 2/28/24 08:52, Sebix wrote:
> > > Dear Václav,
> > >
> > > Which harmonization file did you change?
> > >
> > > The test library loads the harmonization config from the package
> > itself:
> > >
> > >
> >
> https://github.com/certtools/intelmq/blob/ac6aa4e306b1431b6db89158e25ed4c2c5a356bd/intelmq/lib/test.py#L190-L191
> <
> https://github.com/certtools/intelmq/blob/ac6aa4e306b1431b6db89158e25ed4c2c5a356bd/intelmq/lib/test.py#L190-L191
> >
> > >
> > > harmonization =
> > >
> utils.load_configuration(pkg_resources.resource_filename('intelmq',
> > > 'etc/harmonization.conf'))
> > >
> > > best regards
> > > Sebastian
> > >
> > > Institute for Common Good Technology
> > > gemeinnütziger Kulturverein - nonprofit cultural society
> > > https://commongoodtechnology.org/ <
> https://commongoodtechnology.org/>
> > > ZVR 1510673578
> > >
> > > On 2/28/24 08:39, Vaclav Bruzek wrote:
> > >> Dear IntelMQ Developers & Users,
> > >> I'm trying to incorporate my custom fields in Events and Reports
> as
> > >> well as test cases for my custom bots in unit tests. What I¨m
> still
> > >> encountering is that the Github actions are failing since my
> custom
> > >> fields in harmonization are not known. I've added step which
> should
> > >> create the harmonization file in /opt/intelmq/etc/ like so which
> is
> > >> the only change to the action:
> > >>
> > >> - name: Include custom harmonization names
> > >> run: mkdir -p /opt/intelmq/etc/ && cp
> > >> docker/fast/harmonization.conf /opt/intelmq/etc/
> > >>
> > >> However, intelmq still falls back to the default one. If I try
> > to run
> > >>
> > manually load_configuration("/opt/intelmq/etc/harmonization.conf")
> the
> > >> correct result is displayed.
> > >>
> > >> Does anybody know how to supply the custom configuration to unit
> > tests?
> > >>
> > >> Sincerely,
> > >> Václav Brůžek
> > >>
> > >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cert.at/pipermail/intelmq-users/attachments/20240228/bcf7d824/attachment.htm>
More information about the IntelMQ-users
mailing list