| |
@@ -3,7 +3,8 @@
|
| |
import pytest
|
| |
from click.testing import CliRunner
|
| |
|
| |
- import modulemd
|
| |
+ from gi.repository import Modulemd
|
| |
+
|
| |
from _fedmod.cli import _cli_commands
|
| |
from _fedmod.module_generator import ModuleGenerator
|
| |
|
| |
@@ -13,8 +14,7 @@
|
| |
runner = CliRunner()
|
| |
result = runner.invoke(_cli_commands, cmd)
|
| |
assert result.exit_code == 0
|
| |
- modmd = modulemd.ModuleMetadata()
|
| |
- modmd.loads(result.output)
|
| |
+ modmd = Modulemd.Module.new_from_string(result.output)
|
| |
return modmd
|
| |
|
| |
|
| |
@@ -25,22 +25,30 @@
|
| |
modmd = _generate_modulemd(input_rpms)
|
| |
|
| |
# Expected description for 'grep'
|
| |
- assert modmd.summary == "Generated module for grep"
|
| |
- assert modmd.description == "Module auto-generated by fedmod"
|
| |
+ assert modmd.props.summary == "Generated module for grep"
|
| |
+ assert modmd.props.description == "Module auto-generated by fedmod"
|
| |
|
| |
# Expected licenses for 'grep'
|
| |
- assert modmd.module_licenses == {'MIT'}
|
| |
- assert modmd.content_licenses == set()
|
| |
+ assert modmd.props.module_licenses.get() == ['MIT']
|
| |
+ assert modmd.props.content_licenses.get() == []
|
| |
|
| |
# Only given modules are listed in the public API
|
| |
- assert sorted(modmd.api.rpms) == sorted(input_rpms)
|
| |
+ assert sorted(modmd.props.rpm_api.get()) == sorted(input_rpms)
|
| |
|
| |
# Expected components for grep
|
| |
- assert set(modmd.components.rpms) == set(input_rpms)
|
| |
+ assert set(modmd.props.components_rpm) == set(input_rpms)
|
| |
|
| |
# Expected module dependencies for grep
|
| |
- assert set(modmd.buildrequires) == {'platform',}
|
| |
- assert set(modmd.requires) == {'platform',}
|
| |
+ dependencies = modmd.props.dependencies
|
| |
+ assert len(dependencies) == 1
|
| |
+
|
| |
+ buildrequires = dependencies[0].props.buildrequires
|
| |
+ assert set(buildrequires) == {'platform',}
|
| |
+ assert buildrequires['platform'].get() == []
|
| |
+
|
| |
+ requires = dependencies[0].props.requires
|
| |
+ assert set(requires) == {'platform',}
|
| |
+ assert requires['platform'].get() == []
|
| |
|
| |
|
| |
class TestMultiplePackageInput(object):
|
| |
@@ -50,22 +58,28 @@
|
| |
modmd = _generate_modulemd(input_rpms)
|
| |
|
| |
# Can't generate descriptive metadata when given multiple RPMs
|
| |
- assert modmd.summary == "Generated module for ('grep', 'haproxy')"
|
| |
- assert modmd.description == "Module auto-generated by fedmod"
|
| |
+ assert modmd.props.summary == "Generated module for ('grep', 'haproxy')"
|
| |
+ assert modmd.props.description == "Module auto-generated by fedmod"
|
| |
|
| |
# Expected licenses for grep + haproxy
|
| |
- assert modmd.module_licenses == {'MIT'}
|
| |
- assert len(modmd.content_licenses) == 0 # This doesn't seem right...
|
| |
+ assert modmd.props.module_licenses.get() == ['MIT']
|
| |
+ assert modmd.props.content_licenses.get() == [] # This doesn't seem right...
|
| |
|
| |
# Only given modules are listed in the public API
|
| |
- assert sorted(modmd.api.rpms) == sorted(input_rpms)
|
| |
+ assert sorted(modmd.props.rpm_api.get()) == sorted(input_rpms)
|
| |
|
| |
# Expected components for grep + haproxy
|
| |
expected_components = set(input_rpms)
|
| |
- assert set(modmd.components.rpms) == expected_components
|
| |
+ assert set(modmd.props.components_rpm) == expected_components
|
| |
|
| |
- # Expected module dependencies for grep + haproxy
|
| |
- assert set(modmd.buildrequires) == {'platform',}
|
| |
- assert set(modmd.requires) == {'platform',}
|
| |
+ # Expected module dependencies for grep
|
| |
+ dependencies = modmd.props.dependencies
|
| |
+ assert len(dependencies) == 1
|
| |
|
| |
+ buildrequires = dependencies[0].props.buildrequires
|
| |
+ assert set(buildrequires) == {'platform',}
|
| |
+ assert buildrequires['platform'].get() == []
|
| |
|
| |
+ requires = dependencies[0].props.requires
|
| |
+ assert set(requires) == {'platform',}
|
| |
+ assert requires['platform'].get() == []
|
| |
Use the libmodulemd library via gobject-introspection. libmodulemd
has support for version 2 of the modulemd specification, and produces
better formatted output with human-readable ordering.