summaryrefslogtreecommitdiff
path: root/tests/functional/api
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2194 from python-gitlab/jlvillal/update-gitlabNejc Habjan2022-07-292-46/+9
|\ | | | | test(functional): bump GitLab docker image to 15.2.0-ee.0
| * chore(clusters): deprecate clusters supportJohn L. Villalovos2022-07-281-44/+0
| | | | | | | | | | | | | | | | | | | | | | Cluster support was deprecated in GitLab 14.5 [1]. And disabled by default in GitLab 15.0 [2] * Update docs to mark clusters as deprecated * Remove testing of clusters [1] https://docs.gitlab.com/ee/api/project_clusters.html [2] https://gitlab.com/groups/gitlab-org/configure/-/epics/8
| * chore(topics): 'title' is required when creating a topicJohn L. Villalovos2022-07-281-2/+9
| | | | | | | | In GitLab >= 15.0 `title` is required when creating a topic.
* | test: add test to show issue fixedJohn L. Villalovos2022-07-271-0/+13
| | | | | | | | | | https://github.com/python-gitlab/python-gitlab/issues/1698 has been fixed. Add test to show that.
* | fix: use the [] after key names for array variables in `params`John L. Villalovos2022-07-271-0/+5
|/ | | | | | | | | | | | | | | | | | 1. If a value is of type ArrayAttribute then append '[]' to the name of the value for query parameters (`params`). This is step 3 in a series of steps of our goal to add full support for the GitLab API data types[1]: * array * hash * array of hashes Step one was: commit 5127b1594c00c7364e9af15e42d2e2f2d909449b Step two was: commit a57334f1930752c70ea15847a39324fa94042460 Fixes: #1698 [1] https://docs.gitlab.com/ee/api/#encoding-api-parameters-of-array-and-hash-types
* test(ee): add an EE specific testJohn L. Villalovos2022-07-251-4/+6
|
* feat(namespaces): add support for namespace existence APINejc Habjan2022-07-241-3/+11
|
* test(api_func_v4): catch deprecation warning for `gl.lint()`John L. Villalovos2022-07-211-1/+2
| | | | | Catch the deprecation warning for the call to `gl.lint()`, so it won't show up in the log.
* test(functional): use both get_all and all in list() testsNejc Habjan2022-07-211-11/+22
|
* fix: add `get_all` param (and `--get-all`) to allow passing `all` to APINejc Habjan2022-07-213-9/+29
|
* chore: enable mypy check `strict_equality`John L. Villalovos2022-07-191-2/+14
| | | | Enable the `mypy` `strict_equality` check.
* test(functional): replace len() calls with list membership checksNejc Habjan2022-07-0314-172/+163
|
* test: add tests and clean up usage for new enumsNejc Habjan2022-06-273-11/+23
|
* feat(downloads): allow streaming downloads access to response iterator (#1956)Tom Catshoek2022-06-261-0/+38
| | | | | | | | | | | | | | | * 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
* feat(api): support head() method for get and list endpointsNejc Habjan2022-06-252-0/+13
|
* feat(users): add ban and unban methodsAntoine Auger2022-06-131-0/+10
|
* test: increase client coverageNejc Habjan2022-06-021-0/+15
|
* feat(client): introduce `iterator=True` and deprecate `as_list=False` in ↵John L. Villalovos2022-05-292-4/+15
| | | | | | | | | | | `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 get project storage endpointNejc Habjan2022-05-271-0/+7
|
* Merge pull request #1963 from python-gitlab/feat/deploy-token-getMax Wittig2022-04-131-4/+9
|\ | | | | feat(objects): support getting project/group deploy tokens by id
| * feat(objects): support getting project/group deploy tokens by idNejc Habjan2022-04-041-4/+9
| |
* | Merge pull request #1962 from python-gitlab/feat/user-ssh-keyMax Wittig2022-04-131-0/+3
|\ \ | | | | | | feat(user): support getting user SSH key by id
| * | feat(user): support getting user SSH key by idNejc Habjan2022-04-011-0/+3
| |/
* | feat: emit a warning when using a `list()` method returns maxJohn L. Villalovos2022-04-121-0/+45
|/ | | | | | | | | | | 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`.
* feat(api): re-add topic delete endpointNejc Habjan2022-04-011-0/+3
| | | | This reverts commit e3035a799a484f8d6c460f57e57d4b59217cd6de.
* test(functional): fix GitLab configuration to support paginationJohn L. Villalovos2022-02-052-3/+3
| | | | | | | | | | | | 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
* test(services): add functional tests for servicesNejc Habjan2022-02-031-1/+28
|
* fix: remove custom `delete` method for labelsJohn L. Villalovos2022-02-012-3/+10
| | | | | | | | | | | | | | 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
* style: use f-strings where applicableNejc Habjan2022-01-231-6/+5
|
* chore: always use context manager for file IONejc Habjan2022-01-231-1/+2
|
* style: use literals to declare data structuresNejc Habjan2022-01-232-2/+2
|
* chore(tests): use method `projects.transfer()`jlvillal/catch_warningsJohn L. Villalovos2022-01-131-2/+2
| | | | | | When doing the functional tests use the new function `projects.transfer` instead of the deprecated function `projects.transfer_project()`
* test(groups): enable group transfer testsNejc Habjan2022-01-131-6/+8
|
* feat(api): add `project.transfer()` and deprecate `transfer_project()`Nejc Habjan2022-01-132-0/+30
|
* chore: replace usage of utils._url_encode() with utils.EncodedId()jlvillal/encoded_idJohn L. Villalovos2022-01-131-1/+1
| | | | | | utils.EncodedId() has basically the same functionalityy of using utils._url_encode(). So remove utils._url_encode() as we don't need it.
* chore: add EncodedId string class to use to hold URL-encoded pathsJohn L. Villalovos2022-01-133-1/+45
| | | | | | | | | 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.
* fix: use url-encoded ID in all pathsJohn L. Villalovos2022-01-131-0/+15
| | | | | | | | | | | | 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(api): services: add missing `lazy` parameterjlvillal/lazy_serviceJohn L. Villalovos2022-01-131-0/+11
| | | | | | | | 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
* fix: remove custom URL encodingJohn L. Villalovos2022-01-081-2/+6
| | | | | | | | | | We were using `str.replace()` calls to take care of URL encoding issues. Switch them to use our `utils._url_encode()` function which itself uses `urllib.parse.quote()` Closes: #1356
* fix: remove default arguments for mergerequests.merge()John L. Villalovos2022-01-081-1/+3
| | | | | | | | | | The arguments `should_remove_source_branch` and `merge_when_pipeline_succeeds` are optional arguments. We should not be setting any default value for them. https://docs.gitlab.com/ee/api/merge_requests.html#accept-mr Closes: #1750
* chore: add functional test of mergerequest.get()jlvillal/test_1425John L. Villalovos2022-01-031-0/+16
| | | | | | | Add a functional test of test mergerequest.get() and mergerequest.get(..., lazy=True) Closes: #1425
* chore: add test case to show branch name with period worksjlvillal/dot_branchJohn L. Villalovos2022-01-031-0/+17
| | | | | | | Add a test case to show that a branch name with a period can be fetched with a `get()` Closes: #1715
* chore: skip a functional test if not using >= py3.9jlvillal/repository_func_testsJohn L. Villalovos2021-12-261-0/+4
| | | | | One of the tests requires Python 3.9 or higher to run. Mark the test to be skipped if running Python less than 3.9.
* feat(api): support file format for repository archiveMax Ludwig2021-12-211-2/+25
|
* test(api): fix current user mail count in newer gitlabNejc Habjan2021-12-111-2/+2
|
* chore(api): temporarily remove topic delete endpointNejc Habjan2021-12-111-3/+0
| | | | It is not yet available upstream.
* feat(api): add support for Topics APINejc Habjan2021-12-111-0/+21
|
* chore: use constants from gitlab.const moduleJohn L. Villalovos2021-11-302-3/+3
| | | | | Have code use constants from the gitlab.const module instead of from the top-level gitlab module.
* test(cli): improve basic CLI coveragetest/cli-coverageNejc Habjan2021-11-271-9/+3
|
* feat: add support for `projects.groups.list()`jlvillal/project_groupsJohn L. Villalovos2021-11-261-0/+18
| | | | | | Add support for `projects.groups.list()` endpoint. Closes #1717