Jimmy Berry
e3150a7626
tests/OBSLocal: invoke scripts using coverage
to include in report.
2017-10-24 18:06:33 -05:00
Jimmy Berry
e0491e3aae
tests/OBSLocal: split out execute() to provide osc and generic versions.
2017-10-24 18:05:48 -05:00
Jimmy Berry
476fbcd818
tests/OBSLocal: include assertOBS() to clarify OBS status before test.
...
Otherwise, end up with first OBS call in test failing which does not make
the issue as clear to understand.
2017-10-24 18:05:48 -05:00
Jimmy Berry
6faebca998
tests/OBSLocal: add email and include spaces in generated oscrc file.
2017-10-24 18:05:48 -05:00
Jimmy Berry
69a02fde86
tests/OBSLocal: rework OSCRC handling to use non-default file.
2017-10-24 18:05:38 -05:00
Jimmy Berry
c5cf186d18
tests/OBSLocal: add workaround for obs.py leakage.
2017-10-24 18:00:47 -05:00
Jimmy Berry
ed662be413
tests/devel_project: provide basic test against local OBS.
2017-10-24 17:55:31 -05:00
Jimmy Berry
35bbaf3a66
tests/OBSLocal: provide based class for testing against local OBS.
2017-10-24 17:52:42 -05:00
Jimmy Berry
443b432699
Merge pull request #1219 from jberry-suse/conffile-over-env
...
osclib/conf: prefer already parsed conffile over OSC_CONFIG env variable.
2017-10-24 15:15:33 -05:00
Jimmy Berry
f8225a3d48
osclib/conf: prefer already parsed conffile over OSC_CONFIG env variable.
...
This is consistent with expected behavior when using:
osc.core.conf.get_config(override_conffile...)
Also removes the need to change the environment in OBS() which removes a
leak.
2017-10-23 23:03:24 -05:00
Jimmy Berry
4eecb9c5c0
tests/obs: move Cache.delete_all() after CACHE_DIR changed.
...
Otherwise, the real caches are cleared whenever tests are run.
2017-10-23 23:00:44 -05:00
d1c4801578
Another set of low-noise flake8 cleanups
2017-10-20 20:46:44 +02:00
3eb66257e8
Rename checknewer to checknewer.py and fix Flake8 fallout
...
This is a python script so as the majority of scripts in here
it should end in a .py suffix
2017-10-17 15:47:00 +02:00
35679d10b3
tests: fix testsuite for virtually accept
2017-10-02 17:15:55 +08: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
bf2832aaf2
commentapi: provide truncate() and apply during add_comment().
2017-08-23 15:59:22 -05:00
Jimmy Berry
85dbc57f12
stagingapi: provide dashboard_content_{load,save,ensure}() and utilize.
2017-07-27 23:52:58 -05:00
Jimmy Berry
c87c3b02e2
ReviewBot: update tests s/withhistory/withfullhistory/.
2017-07-12 15:31:30 -05:00
Jimmy Berry
af83befff3
Drop everything related to old osc-check_repo.py.
2017-07-12 15:31:30 -05:00
Jimmy Berry
dd68116c9c
select_tests: fix after comment rework.
...
These tests are very ugly due to mocking.
2017-06-01 10:12:27 +02:00
Jimmy Berry
beb80534f0
unslect: --cleanup handle superseded request that is never replaced.
2017-05-15 17:52:28 -05:00
Jimmy Berry
3d7a7d487b
obslock: unlock other user lock if force.
2017-05-08 21:47:12 -05:00
Jimmy Berry
f4523078b4
osc-staging: skip lock for observation commands.
2017-05-08 19:39:15 -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
75ee7ef3e1
Merge pull request #872 from jberry-suse/unselect-cleanup-conditions
...
unselect: add conditions to obsolete filter used by --cleanup (along with refactor and tests).
2017-05-04 15:20:07 -05:00
Jimmy Berry
f70544ec81
unselect: extract filter conditions as config variables.
2017-05-04 15:08:41 -05:00
Jimmy Berry
931c8a2908
tests/unselect_tests: add test for cleanup fitler.
2017-05-04 15:08:13 -05:00
Jimmy Berry
412763bc81
tests/obs: define PROJECT as openSUSE:Factory.
2017-05-04 15:08:13 -05:00
Jimmy Berry
73f0ed895f
obslock: cleanup hold logic and resolve inheriting an expired hold.
2017-05-03 20:37:03 -05:00
Jimmy Berry
cb282eaeac
obslock-tests: correct class name.
2017-05-01 22:33:20 -05:00
Jimmy Berry
cabc9abf40
conf-tess: ensure a blank config is not rewritten (ie loop).
2017-05-01 22:33:20 -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
4813734ab0
MaintenanceChecker: include project in owner query to utilize local devel.
...
For Leap the devel project may override the Factory one.
2017-04-26 17:12:49 -05:00
Ludwig Nussel
0b3996a8aa
Wait for Factory reviews
...
The old code would decline requests instead of waiting for matching
Factory submissions to pass reviews.
2017-04-19 11:49:39 +02:00
Jimmy Berry
62bde2f8ba
Merge pull request #806 from jberry-suse/splitter-delay
...
request_splitter: provide and utilize an aged attribute on requests.
2017-04-13 15:38:09 -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
8109772372
stagingapi: get_open_requests(): replace query string with dictionary.
2017-04-12 17:32:38 -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
8054c0c35e
ReviewBot: update factory_source and maintenance tests for encoding fix.
2017-03-03 15:31:51 -06:00
Jimmy Berry
c1fde90c64
check_tags: correct backwards diff.
...
Issues added in a request show as removed and visa versa.
2017-02-15 08:12:15 -06:00
Jimmy Berry
2a00de2bb5
Add lxml as test requirement and fix tests.
2017-01-24 22:34:27 -06: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
Ludwig Nussel
9c4382c1a9
Accept requests that are only stuck in Factory staging
...
If only the review by a factory staging project is left in state new and
all others are in state accepted it means legal, opensuse-review team
etc have completed. So it's safe to consider such a request accepted for
inclusion into Factory. So let's not waste time waiting for the next
Factory checkin round.
2016-09-09 10:30:05 +02:00
46c2c2304c
Update fixtures
2016-06-13 16:55:05 +08:00
Ludwig Nussel
70c3d34731
Only call _invalidate_all if it exists
...
the memoize decorator adds the _invalidate_all function when called.
Due to the deferred initialization that may not happen in a test.
2016-05-10 10:29:37 +02:00
69e1771a11
API: add a is_user_member_of() function
2015-08-06 15:54:56 +02:00
Alberto Planas
90412c30a4
Clean the cache after every test.
2015-08-03 13:21:45 +02:00