/
githubmirror
/
libmodulemd
Обзор
Документация
Войти
/
githubmirror
/
libmodulemd
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
modulemd/tests/ModulemdTests/module.py
118 строк
3 KB
Aleš Matěj
Add modulemd-obsoletes to modulemd-module
15 сен 2020, 00:52
15 сен 2020, 00:52
c64c614
Код
Авторство
О чём код?
#!/usr/bin/python3 # This file is part of libmodulemd # Copyright (C) 2017-2018 Stephen Gallagher # # Fedora-License-Identifier: MIT # SPDX-2.0-License-Identifier: MIT # SPDX-3.0-License-Identifier: MIT # # This program is free software. # For more information on the license, see COPYING. # For more information on free software, see # <https://www.gnu.org/philosophy/free-sw.en.html>. from os import path import sys try: import unittest import gi gi.require_version("Modulemd", "2.0") from gi.repository import Modulemd from gi.repository.Modulemd import ModuleIndex from gi.repository import GLib except ImportError: # Return error 77 to skip this test on platforms without the necessary # python modules sys.exit(77) from base import TestBase class TestModule(TestBase): def test_search_streams(self): idx = Modulemd.ModuleIndex.new() idx.update_from_file(path.join(self.test_data_path, "f29.yaml"), True) module = idx.get_module("nodejs") self.assertEqual(len(module.search_streams("8", 0)), 1) self.assertEqual(len(module.search_streams("10", 0)), 1) def test_copy_with_obsoletes(self): idx = Modulemd.ModuleIndex.new() e = Modulemd.Obsoletes.new(1, 2, "testmodule", "teststream", "testmsg") e.set_obsoleted_by("module_obsoleter", "stream_obsoleter") idx.add_obsoletes(e) m = idx.get_module("testmodule") assert m assert m.get_module_name() == "testmodule" obsoletes_from_orig = m.get_newest_active_obsoletes("teststream", None) assert ( obsoletes_from_orig.get_obsoleted_by_module_name() == "module_obsoleter" ) m_copy = m.copy() assert m_copy.get_module_name() == "testmodule" obsoletes_from_copy = m_copy.get_newest_active_obsoletes( "teststream", None ) assert ( obsoletes_from_copy.get_obsoleted_by_module_name() == "module_obsoleter" ) def test_adding_obsoletes_is_order_independent(self): obsoletes_without_context = """ --- document: modulemd-obsoletes version: 1 data: module: nodejs stream: 10 context: deadbeef modified: 2019-07-27T00:00Z message: test message obsoleted_by: module: nodejs stream: 12 ... """ obsoletes_with_context = """ --- document: modulemd-obsoletes version: 1 data: module: nodejs stream: 10 modified: 2019-09-27T00:00Z message: test message obsoleted_by: module: nodejs stream: 14 ... """ for ordered_yaml in [ obsoletes_without_context + obsoletes_with_context, obsoletes_with_context + obsoletes_without_context, ]: idx = ModuleIndex.new() stream = Modulemd.ModuleStream.new(2, "nodejs", "10") stream.props.context = "deadbeef" res = idx.add_module_stream(stream) res, failures = idx.update_from_string(ordered_yaml, True) m = idx.get_module("nodejs") streams = m.get_all_streams() s = streams[0] assert ( s.get_obsoletes_resolved().get_obsoleted_by_module_stream() == "14" ) if __name__ == "__main__": unittest.main()