1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-12-27 10:16:14 +01:00
github.com_openSUSE_osc/behave/obs-setup/obs-setup.feature
2022-10-03 15:42:00 +02:00

114 lines
5.8 KiB
Gherkin

# This is a special feature that should be used only in kanku VM to create initial OBS configuration.
# The scenarios follow each other and there is NO CLEANUP between them.
Feature: Setup OBS.
# Using interconnect feature is a must.
# We tried to configure projects from scratch (with download-on-demand repos),
# but there are simply too many settings that must be configured properly to make it work.
#
Scenario: Create openSUSE.org project that interconnects to another OBS instance
Given I execute osc with args "api -X PUT '/source/openSUSE.org/_meta' --file {context.fixtures}/prj/openSUSE.org.xml"
When I execute osc with args "list"
Then stdout is
"""
openSUSE.org
"""
Scenario: Create openSUSE:Factory project
Given I execute osc with args "api -X PUT '/source/openSUSE:Factory/_meta' --file {context.fixtures}/prj/openSUSE_Factory.xml"
When I execute osc with args "list"
Then stdout is
"""
openSUSE.org
openSUSE:Factory
"""
Scenario: Create home:Admin project
Given I execute osc with args "api -X PUT '/source/home:Admin/_meta' --file {context.fixtures}/prj/home_Admin.xml"
When I execute osc with args "list"
Then stdout is
"""
home:Admin
openSUSE.org
openSUSE:Factory
"""
Scenario: Create and build package 'test-pkgA' in 'openSUSE:Factory' project
# checkout project
Given I set working directory to "{context.osc.temp}"
When I execute osc with args "checkout openSUSE:Factory"
Then directory "{context.osc.temp}/openSUSE:Factory" exists
And directory "{context.osc.temp}/openSUSE:Factory/.osc" exists
# create package
Given I set working directory to "{context.osc.temp}/openSUSE:Factory"
When I execute osc with args "mkpac test-pkgA"
Then directory "{context.osc.temp}/openSUSE:Factory/test-pkgA" exists
And directory "{context.osc.temp}/openSUSE:Factory/test-pkgA/.osc" exists
# add and commit new package content
Given I set working directory to "{context.osc.temp}/openSUSE:Factory/test-pkgA"
# revision 1
When I copy file "{context.fixtures}/pac/test-pkgA-1.spec" to "{context.osc.temp}/openSUSE:Factory/test-pkgA/test-pkgA.spec"
And I copy file "{context.fixtures}/pac/test-pkgA-1.changes" to "{context.osc.temp}/openSUSE:Factory/test-pkgA/test-pkgA.changes"
And I execute osc with args "add test-pkgA.spec test-pkgA.changes"
And I execute osc with args "commit -m 'Initial commit'"
# revision 2
And I copy file "{context.fixtures}/pac/test-pkgA-2.spec" to "{context.osc.temp}/openSUSE:Factory/test-pkgA/test-pkgA.spec"
And I copy file "{context.fixtures}/pac/test-pkgA-2.changes" to "{context.osc.temp}/openSUSE:Factory/test-pkgA/test-pkgA.changes"
And I execute osc with args "commit -m 'Version 2'"
# revision 3
And I copy file "{context.fixtures}/pac/test-pkgA-3.spec" to "{context.osc.temp}/openSUSE:Factory/test-pkgA/test-pkgA.spec"
And I copy file "{context.fixtures}/pac/test-pkgA-3.changes" to "{context.osc.temp}/openSUSE:Factory/test-pkgA/test-pkgA.changes"
And I execute osc with args "commit -m 'Version 3'"
Then I wait for osc results for "openSUSE:Factory" "test-pkgA"
Scenario: Create and build package 'test-pkgB' in 'openSUSE:Factory' project
# project checkout exists in temp already, no need to run checkout again
# create package
Given I set working directory to "{context.osc.temp}/openSUSE:Factory"
When I execute osc with args "mkpac test-pkgB"
Then directory "{context.osc.temp}/openSUSE:Factory/test-pkgB" exists
And directory "{context.osc.temp}/openSUSE:Factory/test-pkgB/.osc" exists
# add and commit new package content
Given I set working directory to "{context.osc.temp}/openSUSE:Factory/test-pkgB"
# revision 1
When I copy file "{context.fixtures}/pac/test-pkgB-1.spec" to "{context.osc.temp}/openSUSE:Factory/test-pkgB/test-pkgB.spec"
And I copy file "{context.fixtures}/pac/test-pkgB-1.changes" to "{context.osc.temp}/openSUSE:Factory/test-pkgB/test-pkgB.changes"
And I execute osc with args "add test-pkgB.spec test-pkgB.changes"
And I execute osc with args "commit -m 'Initial commit'"
# revision 2
And I copy file "{context.fixtures}/pac/test-pkgB-2.spec" to "{context.osc.temp}/openSUSE:Factory/test-pkgB/test-pkgB.spec"
And I copy file "{context.fixtures}/pac/test-pkgB-2.changes" to "{context.osc.temp}/openSUSE:Factory/test-pkgB/test-pkgB.changes"
And I execute osc with args "commit -m 'Version 2'"
Then I wait for osc results for "openSUSE:Factory" "test-pkgB"
Scenario: Create and build package 'multibuild-pkg' in 'openSUSE:Factory' project
# project checkout exists in temp already, no need to run checkout again
# create package
Given I set working directory to "{context.osc.temp}/openSUSE:Factory"
When I execute osc with args "mkpac multibuild-pkg"
Then directory "{context.osc.temp}/openSUSE:Factory/multibuild-pkg" exists
And directory "{context.osc.temp}/openSUSE:Factory/multibuild-pkg/.osc" exists
# add and commit new package content
Given I set working directory to "{context.osc.temp}/openSUSE:Factory/multibuild-pkg"
# revision 1
When I copy file "{context.fixtures}/pac/multibuild-pkg-1.spec" to "{context.osc.temp}/openSUSE:Factory/multibuild-pkg/multibuild-pkg.spec"
And I copy file "{context.fixtures}/pac/multibuild-pkg-1.changes" to "{context.osc.temp}/openSUSE:Factory/multibuild-pkg/multibuild-pkg.changes"
And I copy file "{context.fixtures}/pac/multibuild-pkg-1._multibuild" to "{context.osc.temp}/openSUSE:Factory/multibuild-pkg/_multibuild"
And I execute osc with args "add multibuild-pkg.spec multibuild-pkg.changes _multibuild"
And I execute osc with args "commit -m 'Initial commit'"
Then I wait for osc results for "openSUSE:Factory" "multibuild-pkg"