| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Saw issues in the CI where reset_gitlab() would fail. It would fail to
delete the group that is created when GitLab starts up. Extending the
timeout didn't fix the issue.
Changed the code to use the new `helpers.safe_delete()` function.
Which will delete the resource and then make sure it is deleted before
returning.
Also added some logging functionality that can be seen if logging is
turned on in pytest.
|
| |\
| |
| | |
chore: fixtures: after delete() wait to verify deleted
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In our fixtures that create:
- groups
- project merge requests
- projects
- users
They delete the created objects after use. Now wait to ensure the
objects are deleted before continuing as having unexpected objects
existing can impact some of our tests.
|
| |/
|
|
|
| |
Catch the deprecation warning for the call to `gl.lint()`, so it won't
show up in the log.
|
| | |
|
| | |
|
| |
|
|
| |
Enable the `mypy` `strict_equality` check.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Ensure the path elements that are passed to the server are escaped.
For example a "/" will be changed to "%2F"
Closes: #2116
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* feat(downloads): allow streaming downloads access to response iterator
Allow access to the underlying response iterator when downloading in
streaming mode by specifying `iterator=True`.
Update type annotations to support this change.
* docs(api-docs): add iterator example to artifact download
Document the usage of the `iterator=True` option when downloading
artifacts
* test(packages): add tests for streaming downloads
|
| | |
|
| |
|
|
|
| |
Have been seeing timeout issues more and more. Increase timeout from
200 seconds to 300 seconds (5 minutes).
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Since ac1c619cae6481833f5df91862624bf0380fef67 we delete parent arg keys
from the args dict so this has been trying to access the wrong attribute.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
`list()`
`as_list=False` is confusing as it doesn't explain what is being
returned. Replace it with `iterator=True` which more clearly explains
to the user that an iterator/generator will be returned.
This maintains backward compatibility with `as_list` but does issue a
DeprecationWarning if `as_list` is set.
|
| | |
|
| |\
| |
| | |
feat(objects): support getting project/group deploy tokens by id
|
| | | |
|
| |\ \
| | |
| | | |
feat(user): support getting user SSH key by id
|
| | |/ |
|
| |/
|
|
|
|
|
|
|
|
|
| |
A common cause of issues filed and questions raised is that a user
will call a `list()` method and only get 20 items. As this is the
default maximum of items that will be returned from a `list()` method.
To help with this we now emit a warning when the result from a
`list()` method is greater-than or equal to 20 (or the specified
`per_page` value) and the user is not using either `all=True`,
`all=False`, `as_list=False`, or `page=X`.
|
| | |
|
| |
|
|
| |
This reverts commit e3035a799a484f8d6c460f57e57d4b59217cd6de.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When pagination occurs python-gitlab uses the URL provided by the
GitLab server to use for the next request.
We had previously set the GitLab server configuraiton to say its URL
was `http://gitlab.test` which is not in DNS. Set the hostname
in the URL to `http://127.0.0.1:8080` which is the correct URL for the
GitLab server to be accessed while doing functional tests.
Closes: #1877
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The usage of deleting was incorrect according to the current API.
Remove custom `delete()` method as not needed.
Add tests to show it works with labels needing to be encoded.
Also enable the test_group_labels() test function. Previously it was
disabled.
Add ability to do a `get()` for group labels.
Closes: #1867
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
When doing the functional tests use the new function
`projects.transfer` instead of the deprecated function
`projects.transfer_project()`
|
| | |
|
| | |
|
| |\
| |
| | |
fix: use url-encoded ID in all paths
|
| | |
| |
| |
| |
| |
| | |
utils.EncodedId() has basically the same functionalityy of using
utils._url_encode(). So remove utils._url_encode() as we don't need
it.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Add EncodedId string class. This class returns a URL-encoded string
but ensures it will only URL-encode it once even if recursively
called.
Also added some functional tests of 'lazy' objects to make sure they
work.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure all usage of the ID in the URL path is encoded. Normally it
isn't an issue as most IDs are integers or strings which don't contain
a slash ('/'). But when the ID is a string with a slash character it
will break things.
Add a test case that shows this fixes wikis issue with subpages which
use the slash character.
Closes: #1079
|
| |\ \
| |/
|/| |
fix: members: use new *All objects for *AllManager managers
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change it so that:
GroupMemberAllManager uses GroupMemberAll object
ProjectMemberAllManager uses ProjectMemberAll object
Create GroupMemberAll and ProjectMemberAll objects that do not support
any Mixin type methods. Previously we were using GroupMember and
ProjectMember which support the `save()` and `delete()` methods but
those methods will not work with objects retrieved using the
`/members/all/` API calls.
`list()` API calls: [1]
GET /groups/:id/members/all
GET /projects/:id/members/all
`get()` API calls: [2]
GET /groups/:id/members/all/:user_id
GET /projects/:id/members/all/:user_id
Closes: #1825
Closes: #848
[1] https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project-including-inherited-and-invited-members
[2] https://docs.gitlab.com/ee/api/members.html#get-a-member-of-a-group-or-project-including-inherited-and-invited-members
|
| |/
|
|
|
|
|
|
| |
Commit 8da0b758c589f608a6ae4eeb74b3f306609ba36d added the `lazy`
parameter to the services `get()` method but missed then using the
`lazy` parameter when it called `super(...).get(...)`
Closes: #1828
|