From Fedora Project Wiki

(Edit after a review by sgallagh.)
(remove note to install fedora-repos-modular again)
 
(9 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=
 +
# Open a terminal session, either use terminal or a virtual console.
 +
# 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.
 +
# Install a module following one of the scenarios:
 +
## Install the module using the module's default stream and profile <code>dnf module install <module></code>.
 +
## Install a module without a default stream, or choose a non-default stream using <code>dnf module install <module>:<stream></code>.
 +
## 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>.
 +
# List the installed modules <code>dnf module list --installed</code>.
 +
# Check that packages were really installed <code>rpm -qa <module></code>.
 +
# If the installed module was an application or a service, try to run it.
 +
|results=
 +
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.
  
|actions=
+
'''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.  
=== Installing Modules===
+
|optional=
To install a module, use the following commands:
 
* <code>dnf install module</code> to install the defaul stream and profile of the module.
 
* <code>dnf module install module:stream</code> to install a module with a particular stream.
 
* <code>dnf module install module:stream/profile </code> to install a module with a particular stream and profile.
 
Check, that the module is correctly installed, appears in the list of installed modules and shows the correct stream and profile.
 
 
 
===Updating Modules===
 
To update a module, use the following command:
 
* <code>dnf update</code>
 
Check, that the module is correctly updated - the version changes.
 
 
 
|results=
 
All above commands execute without errors.
 
# When you install the module using <code>dnf install</code>, the command must install the module in its default stream and profile.
 
# 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 update the module using <code>dnf update</code>, all installed modules must be updated to a newer version, but the stream and the profile must stay the same.
 
  
|optional= Try various modules and streams/profiles.
 
 
}}
 
}}

Latest 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.