radekholy24 / dnf-extra-tests Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v2.0
License: GNU General Public License v2.0
Feature: Parametrize repositories by system release version
In order to have a single repository file for multiple system release specific repositories, I want to parametrize the file using a variable.
Scenario: Assign the host's version to $RELEASEVER by default
When I execute DNF with the default configuration
Then I should have the $RELEASEVER configuration variable set to the host's release version
The test tests whether the directory is empty but it does not take into account that it might be already non-empty before running the test.
Feature: Cache metadata
In order to speed up DNF, I want it to cache the metadata downloaded during previous runs.
Scenario: Store the metadata
When I execute DNF with the default configuration
Then I should have the metadata cached
Feature: Manage different install roots
In order to prepare and manage chroots, I want to manipulate the packages installed there.
Scenario: Manage the system root
When I execute DNF with the default configuration
Then I should manage the system root
Feature: Parametrize repositories by system release version
In order to have a single repository file for multiple system
release specific repositories, I want to parametrize the file
using a variable.
Scenario: Assign the user-defined version to $RELEASEVER if specified even if the root is different
When I execute DNF with the following configuration:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests |
| --releasever | 20 |
Then I should have the $RELEASEVER configuration variable set to “20”
Feature: Load configuration
In order facilitate repetitive configuration, I want it to load a configuration from a file.
Scenario: Load custom guest's file if the root is different
When I execute DNF with the following configuration:
| Option | Value |
| --config | /tmp/dnf-extra-tests.conf |
| --installroot | /tmp/dnf-extra-tests |
Then I should have the /tmp/dnf-extra-tests.conf configuration file loaded
Feature: Cache metadata
In order to speed up DNF, I want it to cache the metadata downloaded during previous runs.
Scenario: Store the metadata in the guest if the root is different
When I execute DNF with the following configuration:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests |
Then I should have the metadata cached in the guest
Add a contributors file in order to give credit to all the contributors for their contributions.
Fix the typo - the project is called dnf-extra-tests.
Feature: Manage different install roots
In order to prepare and manage chroots, I want to manipulate the packages installed there.
Scenario: Manage a custom install root
When I execute DNF with the following configuration:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests |
Then I should manage the custom install root
Feature: Load configuration
In order facilitate repetitive configuration, I want it to load a configuration from a file.
Scenario: Load default file
When I execute DNF with the default configuration
Then I should have the default configuration file loaded
Feature: Keep track of previous runs
In order support some future DNF's decisions, I want it to store the
necessary information about the previous runs.
Scenario: Store the information in the guest if the root is different
When I execute DNF with the following configuration:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests |
Then I should have the tracking information stored in the guest
Add a license file in order to let others know according to which terms the project is allowed to be copied, modified, propagated, or distributed.
Feature: Verify signed package
In order to be sure that packages are coming from trusted sources, I want verify that signed packages were signed using trusted keys.
Scenario: Verify the host packages with the host keys
When I execute DNF with the default configuration
Then I should have the host packages being verified using the host keys
Feature: Parametrize repositories by system release version
In order to have a single repository file for multiple system
release specific repositories, I want to parametrize the file
using a variable.
Scenario: Assign the guest's version to $RELEASEVER if the root is different
When I execute DNF with the following configuration:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests |
Then I should have the $RELEASEVER configuration variable set to the guest's release version
Feature: Load configuration
In order facilitate repetitive configuration, I want it to load a configuration from a file.
Scenario: Load custom relative file
When I execute DNF with the following configuration:
| Option | Value |
| --config | dnf-extra-tests.conf |
Then I should have the dnf-extra-tests.conf configuration file loaded
Feature: Parametrize repositories by system release version
In order to have a single repository file for multiple system
release specific repositories, I want to parametrize the file
using a variable.
Scenario: Assign the user-defined version to $RELEASEVER if specified
When I execute DNF with the following configuration:
| Option | Value |
| --releasever | 20 |
Then I should have the $RELEASEVER configuration variable set to “20”
Add a copyright owners file in order to let others know who to contact regarding legal issues.
Feature: Load configuration
In order facilitate repetitive configuration, I want it to load a configuration from a file.
Scenario: Load custom relative host's file if the root is different
When I execute DNF with the following configuration:
| Option | Value |
| --config | dnf-extra-tests.conf |
| --installroot | /tmp/dnf-extra-tests |
Then I should have the dnf-extra-tests.conf configuration file loaded
Feature: Configure repositories
In order to control the DNF's package sources, I want to configure which repositories should be used.
Scenario: Configure local base URL
When I execute DNF with a repository dnf-extra-tests of which baseurl is file:///tmp/dnf-extra-tests
Then I should have the content of the repository dnf-extra-tests at host's /tmp/dnf-extra-tests being available
Scenario: Configure local base URL if the root is different
When I execute DNF with a repository dnf-extra-tests of which baseurl is file:///tmp/dnf-extra-tests2
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests1 |
Then I should have the content of the repository dnf-extra-tests at host's /tmp/dnf-extra-tests2 being available
Scenario: Configure local metalink URL
When I execute DNF with a repository dnf-extra-tests of which metalink is file:///tmp/metalink.xml
Then I should have the content of the repository dnf-extra-tests at host's /tmp/dnf-extra-tests1 being available
Scenario: Configure local metalink URL if the root is different
When I execute DNF with a repository dnf-extra-tests of which metalink is file:///tmp/metalink.xml
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests2 |
Then I should have the content of the repository dnf-extra-tests at host's /tmp/dnf-extra-tests1 being available
Scenario: Configure local mirrorlist URL
When I execute DNF with a repository dnf-extra-tests of which mirrorlist is file:///tmp/mirrorlist.txt
Then I should have the content of the repository dnf-extra-tests at host's /tmp/dnf-extra-tests1 being available
Scenario: Configure local mirrorlist URL if the root is different
When I execute DNF with a repository dnf-extra-tests of which mirrorlist is file:///tmp/mirrorlist.txt
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests2 |
Then I should have the content of the repository dnf-extra-tests at host's /tmp/dnf-extra-tests1 being available
Scenario: Configure local GPG key URL
When I execute DNF with a repository dnf-extra-tests of which gpgkey is file:///tmp/TEST-GPG-KEY
Then I should have a GPG key 867B843D imported to the host and used to verify packages
Scenario: Configure local GPG key URL if the root is different
When I execute DNF with a repository dnf-extra-tests of which gpgkey is file:///tmp/TEST-GPG-KEY
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests |
Then I should have a GPG key 867B843D imported to the guest and used to verify packages
Scenario: Load from default .repo files directory
When I execute DNF with the default configuration
Then I should have the .repo files loaded from the host's default directory
Scenario: Load from custom .repo files directory
When I execute DNF with the following configuration in the default config:
| Option | Value |
| reposdir | /tmp/dnf-extra-tests |
Then I should have the .repo files loaded from the host's /tmp/dnf-extra-tests
Scenario: Load from custom relative .repo files directory
When I execute DNF with the following configuration in the default config:
| Option | Value |
| reposdir | dnf-extra-tests |
Then I should have the .repo files loaded from the host's dnf-extra-tests
Scenario: Load from default .repo files directory if the root is different
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests |
Then I should have the .repo files loaded from the host's default directory
Scenario: Load from custom .repo files directory if the root is different
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests1 |
When I execute DNF with the following configuration in the default config:
| Option | Value |
| reposdir | /tmp/dnf-extra-tests2 |
Then I should have the .repo files loaded from the host's /tmp/dnf-extra-tests2
Scenario: Load from custom relative .repo files directory if the root is different
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests1 |
When I execute DNF with the following configuration in the default config:
| Option | Value |
| reposdir | dnf-extra-tests2 |
Then I should have the .repo files loaded from the host's dnf-extra-tests2
Feature: Support plugins
In order to extend DNF's functionality, I want to write my own plugins.
Scenario: Support default plugins path
When I execute DNF with the default configuration
Then I should have the plugins at the host's default path being loaded
Scenario: Support custom plugins path
When I execute DNF with the following configuration in the default config:
| Option | Value |
| pluginpath | /tmp/dnf-extra-tests |
Then I should have the plugins at host's /tmp/dnf-extra-tests being loaded
Scenario: Support custom relative plugins path
When I execute DNF with the following configuration in the default config:
| Option | Value |
| pluginpath | dnf-extra-tests |
Then I should have the plugins at host's dnf-extra-tests being loaded
Scenario: Support default plugins path if the root is different
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests |
Then I should have the plugins at the host's default path being loaded
Scenario: Support custom plugins path if the root is different
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests1 |
When I execute DNF with the following configuration in the default config:
| Option | Value |
| pluginpath | /tmp/dnf-extra-tests2 |
Then I should have the plugins at host's /tmp/dnf-extra-tests2 being loaded
Scenario: Support custom relative plugins path if the root is different
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests1 |
When I execute DNF with the following configuration in the default config:
| Option | Value |
| pluginpath | dnf-extra-tests2 |
Then I should have the plugins at host's dnf-extra-tests2 being loaded
Scenario: Support default plugin configuration path
When I execute DNF with the default configuration
Then I should have the plugins configuration path set to the host's default
Scenario: Support custom plugin configuration path
When I execute DNF with the following configuration in the default config:
| Option | Value |
| pluginconfpath | /tmp/dnf-extra-tests |
Then I should have the plugins configuration path set to host's /tmp/dnf-extra-tests
Scenario: Support custom relative plugin configuration path
When I execute DNF with the following configuration in the default config:
| Option | Value |
| pluginconfpath | dnf-extra-tests |
Then I should have the plugins configuration path set to host's dnf-extra-tests
Scenario: Support default plugin configuration path if the root is different
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests1 |
Then I should have the plugins configuration path set to the host's default
Scenario: Support custom plugin configuration path if the root is different
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests1 |
When I execute DNF with the following configuration in the default config:
| Option | Value |
| pluginconfpath | /tmp/dnf-extra-tests2 |
Then I should have the plugins configuration path set to host's /tmp/dnf-extra-tests2
Scenario: Support custom relative plugin configuration path if the root is different
When I execute DNF with the following configuration on command line:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests1 |
When I execute DNF with the following configuration in the default config:
| Option | Value |
| pluginconfpath | dnf-extra-tests2 |
Then I should have the plugins configuration path set to host's dnf-extra-tests2
Feature: Load configuration
In order facilitate repetitive configuration, I want it to load a configuration from a file.
Scenario: Load guest's file if the root is different
When I execute DNF with the following configuration:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests |
Then I should have the guest's default configuration file loaded
Add a readme file in order to provide the basic information about this project.
Feature: Keep track of previous runs
In order support some future DNF's decisions, I want it to store the
necessary information about the previous runs.
Scenario: Store the information
When I execute DNF with the default configuration
Then I should have the tracking information stored locally
Feature: Load configuration
In order facilitate repetitive configuration, I want it to load a configuration from a file.
Scenario: Load custom file
When I execute DNF with the following configuration:
| Option | Value |
| --config | /tmp/dnf-extra-tests.conf |
Then I should have the /tmp/dnf-extra-tests.conf configuration file loaded
Feature: Verify signed package
In order to be sure that packages are coming from trusted sources, I want verify that signed packages were signed using trusted keys.
Scenario: Verify the guest packages with the guest keys if the root is different
When I execute DNF with the following configuration:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests |
Then I should have the guest packages being verified using the guest keys
The repository is specific to these tests and also it will be easier to create install root specific repositories later.
Feature: Log selected events
In order to find out what happened in the past, I want it to log selected events into a file.
Scenario: Log the events to the guest if the root is different
When I execute DNF with the following configuration:
| Option | Value |
| --installroot | /tmp/dnf-extra-tests |
Then I should have the events logged in the guest
Feature: Log selected events
In order to find out what happened in the past, I want it to log selected events into a file.
Scenario: Log the events
When I execute DNF with the default configuration
Then I should have the events logged locally
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.