79 Commits

Author SHA1 Message Date
a5a65fe69c Dont use garbled patches for test fixture
obs-service-source_validator recently gained the feature to reject
empty or garbled patches, and hence this was failing. Use a validly
formatted patch instead.
2022-08-04 16:43:30 +02:00
Stephan Kulow
27c4ae0a06 Don't play with the publish flag on freeze, images only switches build flag
Fix #2789 differently
2022-04-04 16:56:41 +02:00
Stephan Kulow
55c4081ec0 check_source: Allow a .changes line to mention 2 patches 2022-03-25 11:26:53 +01:00
Stephan Kulow
ae658fefe2 Move download URL check to check_source.py
And with that, check_source.pl is gone
2022-03-25 09:19:24 +01:00
Stephan Kulow
ed87520710 Ignore patches that are listed as sources
The patch live cycle does not apply to them
2022-03-25 07:39:17 +01:00
Stephan Kulow
6931c44099 Run source_validator scripts from check_source.py directly 2022-03-24 17:42:52 +01:00
Stephan Kulow
88749aa5b4 Move license check from check_source.pl to .py 2022-03-24 17:42:52 +01:00
Stephan Kulow
b558e2617c Move changes check from check_source.pl to .py 2022-03-24 17:42:52 +01:00
Stephan Kulow
d1ddbc5831 Move spec file checks from check_source.pl to .py 2022-03-24 17:42:52 +01:00
Stephan Kulow
e7c7a4097b Add test for remote services in factory-auto
Can't test it atm, need to have miniobs updated first
2022-03-24 10:31:34 +01:00
Stephan Kulow
f77f726419 Add test for setBadness in check_source
As this is a security feature, we better make sure it's not breaking
2022-03-24 09:10:01 +01:00
Ancor Gonzalez Sosa
4991dbce07 Fix tests 2021-10-01 14:56:50 +02:00
Josef Reidinger
8bef4c3cf2
check_source: Fix revert case for patch detection (fix#2640) 2021-09-23 10:58:23 +02:00
Josef Reidinger
f383bb8116
do not use oscrc from fixtures (should fix #1989) 2021-09-03 16:53:09 +02:00
Ancor Gonzalez Sosa
827ecacf45 Test to showcase a submit request to Factory 2021-08-19 16:29:24 +02:00
Imobach González Sosa
b9044fc11a
Test accepting a package from a devel project 2021-07-08 14:38:09 +01:00
Stephan Kulow
334862a372 Adopt fixture to changes in obs' xml output 2020-03-16 08:05:14 +01:00
Stephan Kulow
fd1871b99e Fix check_tests - and reduce what we test there 2019-11-20 16:10:30 +01:00
Stephan Kulow
0cb54b8be0 Add a dummy user/password to the openSUSE:Factory section
See https://github.com/openSUSE/osc/issues/667 - we might want to remove
the feature to override settings locally this way and stop mangling with
osc's config file
2019-11-04 11:59:33 +01:00
Stephan Kulow
700cf1e41a Fix repository_path_expand to also work in Factory stagings
I got the algorithm wrong - it overwrites repositories only when used
in the same path, not by recursion
2019-05-12 22:35:59 +02:00
Stephan Kulow
4db9df6aec Fix and test repository_path_expand on SLE12-SP5
The way OBS collapses repositories is different to what we did
2019-05-11 16:34:31 +02:00
Stephan Kulow
8ba4e2fb84 Run the nosetests in a tumbleweed container instead of travis environment
The docker-compose file starts an OBS instance (on 15.0 atm) and runs
the test suite in a test container (tumbleweed), so all tests run in
an isolated environment accessing OBS at api:3000
2019-05-04 15:44:39 +02:00
Stephan Kulow
e1711a2812 Support OBS checks instead of openqa
Updated the test fixtures to current state, so we
don't test on old data
2018-11-11 19:42:08 +01:00
Stephan Kulow
ff84b79171 We need the images repo published to have a status check
We can't generally assume ISOs can be fetched from backend (we can't
have this on IBS), so publish it - and disable the actual publishing
on the staging backend of OBS
2018-10-12 13:00:18 +02:00
Björn Geuken
9552b16330 Rename superseded_by_id to superseded_by
OBS is going to drop the superseded_by_id attribute soon as it is just
an alias for superseded_by.
2018-08-01 10:49:10 +02:00
76c20501ab tests: remove all subproject related part 2018-07-05 17:01:37 +08:00
Stephan Kulow
0180de281a Fix test cases 2018-06-15 13:16:46 +02:00
f10defda8c
Disable ppc64le for now in Tumbleweed stagings 2017-09-15 22:50:48 +02:00
Stephan Kulow
ad0633d60a Do not use direct flag for images
Products are too touchy - I had now 3 cases where the product would not
rebuild if a meta package changed
2017-09-01 13:53:44 +02:00
Jimmy Berry
beb80534f0 unslect: --cleanup handle superseded request that is never replaced. 2017-05-15 17:52:28 -05:00
28a0ee0c8e Merge pull request #881 from nilxam/map_rings_fix
Refactor map_ring_package_to_subject to support corner case
2017-05-05 06:55:32 -05:00
b7cea4615d Fix fixture for ring_pacakge get 2017-05-05 19:05:27 +08:00
Jimmy Berry
931c8a2908 tests/unselect_tests: add test for cleanup fitler. 2017-05-04 15:08:13 -05:00
Jimmy Berry
bb2678dc00 config: implement tests suite. 2017-05-01 17:40:34 -05:00
Jimmy Berry
77b2185500 obslock: implement test suite. 2017-05-01 17:10:36 -05:00
Jimmy Berry
7621d4f7f6 tests: add missing creator attribute to requests to satisfy osc. 2017-04-13 15:08:15 -05:00
Jimmy Berry
a0441417e1 tests: add missing project/staging_project staging U to summary. 2017-03-16 23:16:21 -05:00
Jimmy Berry
cff5befed3 Provide cache for expensive and cache-able staging requests.
The two slowest staging API calls are for information that rarely changes.
By caching the result the commands typically execute over twice as fast.
Going further can see improvements of an order of magnitude or more by
caching almost all the GET requests.

In contrast to osclib/memoize.py this cache operates at the HTTP request
level. This has several advantages:

- Caches the expensive part (ie the HTTP request). There are a number of
  functions in osc.core and elsewhere that make the same API request, but
  process the result differently which would require multiple API calls
  using memoize.
- Handles cases were a loader function uses class attributes as input and
  output and thus no relevant method parameters or return. An important
  example is StagingAPI._generate_ring_packages().
- Storage is project aware which allows caches to be deleted when a project
  is known to have changed.
- Due to project awareness, can utilize OBS /statistics/latest_updated API
  call to determine which projects need to be expired.

The cache file structure is as follows:

- hostname(apiurl)
  - project
    - sha1(url)
  - sha1(url)

See Cache.PATTERNS for changing the time to live (ttl) or add patterns to
be cached.
2017-01-11 10:23:54 -06:00
46c2c2304c Update fixtures 2016-06-13 16:55:05 +08:00
69e1771a11 API: add a is_user_member_of() function 2015-08-06 15:54:56 +02:00
Dinar Valeev
c3bc54cf1f Fix expected architectures
With extention osc_freeze command to the new architecture, we've forgot
to add tests. Lets fix it

Signed-off-by: Dinar Valeev <dvaleev@suse.com>
2015-03-19 10:47:14 +01:00
Alberto Planas
37c7e2a6c6 Add a test for accept command when there are multiple SPECs 2015-03-02 11:15:24 +01:00
Alberto Planas
1e2ea101e2 Replace subprojects array with subproject. 2014-09-29 11:51:43 +02:00
Stephan Kulow
4185bfc552 adapt test fixtures 2014-09-01 11:14:44 +02:00
Stephan Kulow
e2ff3e8afa changed the paths again after discussion 2014-08-25 12:44:05 +02:00
af41f78daa action #3078 - adapt check_command to the new dashboard route 2014-08-22 14:30:41 +02:00
5962765901 action #2858 Remove code from staging relate with the old osc staging check command 2014-07-31 14:16:54 +02:00
3d5201b5c6 Fix fixtures and tests. 2014-07-17 14:58:02 +02:00
2cbddb6f9d Add failing modules information for openQA. 2014-07-09 17:50:06 +02:00
5750f4dfb0 action #2628 adapt osc staging check to read the information from obs_factory. 2014-07-08 15:33:39 +02:00