]>
git.ipfire.org Git - people/ms/pakfire.git/blob - tests/python/ctx.py
2 ###############################################################################
4 # Pakfire - The IPFire package management system #
5 # Copyright (C) 2024 Pakfire development team #
7 # This program is free software: you can redistribute it and/or modify #
8 # it under the terms of the GNU General Public License as published by #
9 # the Free Software Foundation, either version 3 of the License, or #
10 # (at your option) any later version. #
12 # This program is distributed in the hope that it will be useful, #
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15 # GNU General Public License for more details. #
17 # You should have received a copy of the GNU General Public License #
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
20 ###############################################################################
27 class CtxTests(tests
.TestCase
):
29 This tests the pakfire context
31 def test_create(self
):
33 Create a context without any further ado
35 ctx
= self
.setup_ctx()
37 self
.assertIsInstance(ctx
, pakfire
.Ctx
)
41 def test_log_default(self
):
43 Tests if there is any log output if the default logger is being used
45 logger
= logging
.getLogger("pakfire")
47 with self
.assertLogs(logger
, logging
.DEBUG
):
50 def test_log_custom(self
):
52 Tests if log messages can be received using a custom logger
54 # A simple logger that stores everything it receives in a buffer
60 self
.buffer.append(args
)
65 ctx
= self
.setup_ctx()
67 # Configure the logger
68 ctx
.set_logger(logger
)
70 # Create a new Pakfire instance to create some log messages
71 self
.setup_pakfire(ctx
=ctx
)
73 # Check if we have received anything
74 self
.assertTrue(logger
.buffer)
77 if __name__
== "__main__":