From Fedora Project Wiki

(Suggest a test case)
(remove note to install fedora-repos-modular again)
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{QA/Test_Case
{{QA/Test_Case
|description= Install, remove and udpate modules in Fedora Server
|description=This test case proves that a module can be installed on the system.
|setup=  
|setup=To test this feature:
# To start and learn how to list modules, follow the instructions in this test case [https://fedoraproject.org/wiki/User:Lruzicka/Draft/dnf_module_list here]
# Install a '''clean''' Fedora.
 
|actions=
|actions=  
# Open a terminal session, either use terminal or a virtual console.
=== Installing Modules===
# List available modules using <code>dnf module list</code> and choose one of them to do the next step. Find out if the module has a '''default stream''' and a '''default profile''' set. Based on this, follow one of the scenarios. When you attempt to install a module without  a default stream or profile, omitting to specify the stream or profile in the installation command will only result in enabling that module. Pay attention to this and always use the appropriate command.
To install a module, use the following commands:
# Install a module following one of the scenarios:
* <code>dnf module install module:stream</code> to install a module with a particular stream.
## Install the module using the module's default stream and profile <code>dnf module install <module></code>.
* <code>dnf module install foo:stream/profile </code> to install a module with a particular stream and profile.
## Install a module without a default stream, or choose a non-default stream using <code>dnf module install <module>:<stream></code>.
Check, that the module is correctly installed, appears in the list of installed modules and shows the correct stream and profile.
## Install a module without a default profile, or choose a non-default profile using <code>dnf module install <module>:<stream>/<profile></code>.
 
# List the enabled modules <code>dnf module list --enabled</code>.
===Removing Modules===
# List the installed modules <code>dnf module list --installed</code>.
To remove a module, use the following commands:
# Check that packages were really installed <code>rpm -qa <module></code>.
* <code>dnf module remove module:stream</code> to remove a particular stream of the module.
# If the installed module was an application or a service, try to run it.
* <code>dnf module remove foo:stream/profile </code> to remove a particular stream and profile of the module.
|results=
Check, that the module is correctly removed - it does not appear in the list of installed modules.
The following requirements must be met:
# All installation commands must run without errors.
# All installation commands must result in packages installed on the system.
# The installed module must be listed in both '''--enabled''' and '''--installed''' lists.
# <code>rpm -qa <module> </code> must return the installed package with the same version as declared by the module.
# If the module was an application or a service, it should attempt to start.
# Using <code>dnf module install <module>:<stream></code> should be enough to install every module.


===Updating Modules===
'''Note:''' All modules should have a '''default profile''' and  they should be able to install using <code>dnf module install <module>:<stream></code>. If a module does not have a default profile set, report a bug for it.  
To update a module, use the following commands:
|optional=
* <code>dnf module update module:stream</code> to update a particular stream of the module.
* <code>dnf module update foo:stream/profile </code> to update a particular stream and profile of the module.
Check, that the module is correctly updated - the version changes.
 
|results=
All above commands execute without errors.
# When you install the module (:stream/profile), the module must successfully install in a selected stream or stream and profile. The module must be listed on the list of installed modules.
# When you remove the module (:stream/profile), the module in this stream or stream and profile must be removed from the system. The module must not be listed on the list of installed modules.
# When you update the module (:stream/profile), the module must be updated to a newer version, but the stream and the profile must stay the same.


|optional= Try various modules and streams/profiles.
}}
}}

Revision as of 01:43, 11 July 2020

Description

This test case proves that a module can be installed on the system.

Setup

To test this feature:

  1. Install a clean Fedora.

How to test

  1. Open a terminal session, either use terminal or a virtual console.
  2. List available modules using dnf module list and choose one of them to do the next step. Find out if the module has a default stream and a default profile set. Based on this, follow one of the scenarios. When you attempt to install a module without a default stream or profile, omitting to specify the stream or profile in the installation command will only result in enabling that module. Pay attention to this and always use the appropriate command.
  3. Install a module following one of the scenarios:
    1. Install the module using the module's default stream and profile dnf module install <module>.
    2. Install a module without a default stream, or choose a non-default stream using dnf module install <module>:<stream>.
    3. Install a module without a default profile, or choose a non-default profile using dnf module install <module>:<stream>/<profile>.
  4. List the enabled modules dnf module list --enabled.
  5. List the installed modules dnf module list --installed.
  6. Check that packages were really installed rpm -qa <module>.
  7. If the installed module was an application or a service, try to run it.

Expected Results

The following requirements must be met:

  1. All installation commands must run without errors.
  2. All installation commands must result in packages installed on the system.
  3. The installed module must be listed in both --enabled and --installed lists.
  4. rpm -qa <module> must return the installed package with the same version as declared by the module.
  5. If the module was an application or a service, it should attempt to start.
  6. Using dnf module install <module>:<stream> should be enough to install every module.

Note: All modules should have a default profile and they should be able to install using dnf module install <module>:<stream>. If a module does not have a default profile set, report a bug for it.