309f10633d
Fix grabber to work with old urllib3 versions that do not contain URLSchemeUnknown exception
2023-05-15 22:38:21 +02:00
2502f7a57f
Add glob support to the 'trusted_prj' config option
2023-05-02 09:56:27 +02:00
bc468b7710
commandline: Fix regression in handling default apiurl from oscrc
...
The default apiurl (https://api.opensuse.org ) was always used as default
regardless the settings in oscrc.
2023-04-03 09:12:01 +02:00
26a8fb1acf
commandline: New class-based commands
...
This is based on a prototype we've worked on together
with Laurin Fäller <laurin.faeller@suse.com>.
2023-03-31 09:39:04 +02:00
bacaa29a78
_private.api: Add xml_escape() function
2023-03-06 10:12:59 +01:00
2a9edeec5b
conf: Change how api_host_options determine option types
...
The _integer_opts and _boolean_opts specify option types for both
global options as well as api_host_options
2023-02-21 14:42:30 +01:00
95be11130e
core.Action: Add src_pkg_object and tgt_pkg_object properties providing object wrappers to file lists
2023-02-14 16:24:20 +01:00
6bd2c6eaf1
mv: Fix regression
...
Moved Package.todo handling in one place.
Fixed a situation when path to a file that doesn't exist is passed to Package
2023-01-26 10:11:54 +01:00
fdd2c3a8f0
Fix creating a Package object by providing multiple files on the command line
2023-01-20 16:52:11 +01:00
bce0c3ffe4
Fix develproject arg handling
2023-01-12 13:44:32 +01:00
3ea7d7d908
commandline: Improve argument parsing, add more tests
2023-01-12 11:51:35 +01:00
c77e193bdb
rdiff: Improve CLI handling
2023-01-12 10:49:43 +01:00
ce4cd4e4e9
commandline: Add pop_project_package_targetproject_targetpackage_from_args() function
2022-12-20 16:53:21 +01:00
0384db5e2e
setlinkrev: Write a log message on setting a revision
2022-12-19 14:58:12 +01:00
2735d5a0d1
commandline: Add methods for parsing repo, arch from the arguments
2022-12-15 16:25:17 +01:00
6dcc45f272
Improve argument handling in the 'develproject' command
2022-12-13 08:45:33 +01:00
76b1821f19
Add commandline.pop_project_package_from_args()
2022-12-12 16:48:28 +01:00
0c2238435f
Merge pull request #1184 from dirkmueller/cleanups
...
Cleanups
2022-12-05 09:30:48 +01:00
Dirk Müller
adb1a9b4ef
mark boolean and integer_opts as private
...
It is unused elsewhere, and only used for unit-testing
2022-12-01 10:05:32 +01:00
dc1470a3d7
store: Remove trailing slash from apiurl
2022-11-07 13:57:24 +01:00
4e773cec32
Implement Store class that will replace store_{read,write}* functions
2022-10-25 13:09:29 +02:00
a4720eb776
Add new osc._private module
2022-10-13 10:52:17 +02:00
5094099f08
Disable configparser interpolation to allow unescaped '%' in values
2022-10-04 09:37:33 +02:00
1fe2b17957
Merge pull request #1144 from dmach/1141-search-requests-created-by-myself
...
Properly handle osc rq -M/--mine option
2022-09-20 13:09:25 +02:00
c8f4487201
Replace core.findpacs() with Package.from_paths() and Package.from_paths_nofail()
...
The original findpacs() was returning either [Package]
or ([Package], [str]) depending on the `fatal` option.
This confused pylint and it was returning false-positives:
E1101: Instance of 'list' has no '...' member (no-member)
2022-09-20 11:32:25 +02:00
8dbf859ce2
core.Package: add ordering methods, repr and hash
2022-09-20 10:48:01 +02:00
056e6f1dde
Improve 'osc rq show' output
...
* Add 'Created by' field
* Make formatting more consistent across the sections
2022-09-16 12:49:08 +02:00
30d967513e
Migrate from get_request_list() to get_request_collection()
...
The new function uses a new, fast API call.
2022-09-16 12:49:08 +02:00
783ed2b6e0
core.Request - implement ordering compatible with py3
2022-09-16 12:42:09 +02:00
fe59986e1c
Run autopep8 to fix whitespace issues
2022-09-12 13:45:19 +02:00
b511be20ff
Always import at the toplevel
2022-09-12 13:45:19 +02:00
3296fd8d89
User super() instead of referencing parent classes explicitly
2022-09-12 13:45:19 +02:00
41ceb4b5f8
Remove deprecated 'GnomeKeyringCredentialsManager' and related code
2022-08-25 13:20:25 +02:00
9cc4a5594f
Fix resource warnings (unclosed files)
2022-08-24 08:43:09 +02:00
1c581fdf2c
Move _get_fixture() to OscTestCase class
2022-08-23 14:28:57 +02:00
00956cf13a
Fix conf import in tests/common.py
2022-08-23 14:28:11 +02:00
b306bf0b91
Convert defaults to their expected types
...
Fixes problems in reading conf values before the configuration
is fully initialized.
2022-08-22 15:08:49 +02:00
8f9cd713de
tests: remove comments from oscrc fixtures
2022-08-12 10:06:00 +02:00
feb53212dd
Modernize code with pyupgrade
...
pyupgrade --keep-percent-format --py36-plus `find -name '*.py'`
2022-07-28 19:14:12 +02:00
229913a77f
Clean imports up, drop python 2 fallbacks
2022-07-28 13:17:43 +02:00
0d701556f2
Warn when using HTTP connection. Make HTTPS the default.
...
It is possible to omit protocol in -A/--apiurl now,
because https:// is the default.
2022-07-27 11:15:21 +02:00
93bc0e4731
Switch http_request() to urllib3
...
Use connection pools for better performance.
Replace M2Crypto with cryptography and urllib3's ssl context.
2022-07-27 11:15:21 +02:00
637cfe8471
Merge pull request #1023 from dmach/fix/622-additional-changes
...
parseRevisionOption(): Raise an exception on invalid revisons
2022-07-25 18:26:06 +02:00
ca9dc30643
parseRevisionOption(): Raise an exception on invalid revisions
2022-06-02 10:01:57 +02:00
25a6e04e2b
Run tests via calling 'setup.py test'
2022-03-29 14:01:55 +02:00
John Vandenberg
090bd0316c
OscTestCase: Always reset CWD
...
Fixes #970
2021-11-07 16:39:39 +08:00
Marcus Huewe
3d21f2498b
Merge branch 'tests_python3_fixes' of https://github.com/marcus-h/osc
...
Make the testsuite work with python3.8
2020-06-04 12:00:14 +02:00
Marcus Huewe
443e3ef90b
tests: Ignore the ordering of attributes in XML documents
...
Old xml.etree.cElementTree versions (python2) reorder the attributes
while recent xml.etree.cElementTree versions (python3) keep the
document order.
Example:
python3:
>>> ET.tostring(ET.fromstring('<foo y="foo" x="bar"/>'))
b'<foo y="foo" x="bar" />'
>>>
python2:
>>> ET.tostring(ET.fromstring('<foo y="foo" x="bar"/>'))
'<foo x="bar" y="foo" />'
>>>
So far, the testsuite compared two serialized XML documents via a simple
string comparison. For instance via,
self.assertEqual(actual_serialized_xml, expected_serialized_xml) where
the expected_serialized_xml is, for instance, a hardcoded str. Obviously,
this would only work for python2 or python3.
In order to support both python versions, we first parse both XML
documents and then compare the corresponding trees (this is OK because
we do not care about comments etc.).
A related issue is the way how the testsuite compares data that is "send"
to the API. So far, this was a plain bytes comparison. Again, this won't
work in case of XML documents (see above). Moreover, we have currently
no notion to "indicate" that the transmitted data is an XML document.
As a workaround, we keep the plain bytes comparison and in case it fails,
we try an xml comparison (see above) as a last resort. Strictly speaking,
this is "wrong" (there might be cases (in the future) where we want to
ensure that the transmitted XML data is bit identical to a fixture file)
but a reasonable comprise for now.
Fixes : #751 ("[python3.8] Testsuite fails")
2020-06-03 21:50:50 +02:00
Marcus Huewe
27ef627f1d
Get rid of bytes usage in tests.common
...
Simply use the .encode() method (encode using the utf-8 encoding).
2020-06-03 21:50:50 +02:00
Marcus Huewe
c0343207ea
Make tests.common.MyHTTPHandler.__mock_PUT bytes aware
...
For now, we assume that if the "exp" keyword argument is specified,
then it is a str. In this case, we simply encode it (using the utf-8
encoding).
Also, simplify the code a bit (get rid of the if-statement that is
always executed).
2020-06-03 21:50:10 +02:00