Commit graph

128 commits

Author SHA1 Message Date
Sebastian Ziebell 9544f90389 Adding a project hook returns status code 400 if url is not given
When adding a project hook a url must be specified or a 400 error code is returned

* Specs added to check status code on handling project hooks
* refactored code, extracted a method
2013-02-08 16:48:05 +01:00
Sebastian Ziebell 818caf0b5d API: refined status code handling when adding or updating a project member
When a user is added to a project that is already a member of, a status code 201 is now returned to
signal an idempotent operation. If something fails then instead of returning error code 404 different
more specific error codes are returned. Status code 400 (Bad request) is returned when a required
attribute, e.g. `access_level` is not given or 422 if there is a semantic error, e.g. should
the `access_level` have an unsupported value.

Specs are added to check these status codes.
2013-02-08 14:33:29 +01:00
Sebastian Ziebell 8045a81bcf Merge branch 'master' into fixes/api 2013-02-08 10:32:42 +01:00
Sebastian Ziebell 5d8a99f104 Test to check a user must be part of the team to see project.
A user must be part of the team to see a protected project. A test is given
to check that a 404 error is returned if the user can not see the project.
2013-02-06 17:11:01 +01:00
Sebastian Ziebell bb24275f8d Status code 400 is returned if body is missing on note creation.
If a note is created with a POST request via API (`/projects/:id/notes`) status
code 400 is returned instead of 404. The resource itself exists but the request
is incomplete. Specs added to check different status codes when accessing, creating
and updating notes.
2013-02-06 17:11:00 +01:00
Sebastian Ziebell b9d40d2524 Tests added to check status codes when handling milestone via API
A few more tests added to check status code when creating or updating milestones.
2013-02-06 17:11:00 +01:00
Sebastian Ziebell 41e93bbfe2 Test added to check creation of note to a non-existent MR via API 2013-02-06 17:05:55 +01:00
Sebastian Ziebell f978a71f41 Creating MR comment without a note returns status code 400 (Bad request)
Creating a comment to an existing merge request via API without providing a note
returns a status code 400 now, suggesting a bad request. The reason for this
is the resource itself (MR) exists but the required property is not set.
2013-02-06 17:02:30 +01:00
Sebastian Ziebell 413952ff94 Creating or updating a MR returns more informative status codes.
Using the API library to create or update a merge request at the moment a 404 error is returned.
This is fine when the merge request in question does not exist, but does not provide good
information that for example a required attribute is missing.
A status code of 400 (Bad request) is returned when creating or updating a merge request
when either `source_branch` or `target_branch` is missing. A status code of 409 is returned
when `source_branch` and `target_branch` are the same. Tests are added for these cases.
2013-02-06 16:57:00 +01:00
Christian Simon 6dba727cb2 Add test for duplicate group paths 2013-02-01 18:58:53 +01:00
Christian Simon fc0c692870 Add docs/tests for groups api 2013-02-01 14:59:22 +01:00
Felix Gilcher ce6436b98a Don't crash when removing a user that's not project member
The attempt to revoke project access for a user that was not member of the
project results in a 500 Internal Server error where it actually should
result in a 200 OK since after the operation, the user is not member of
the project. This turns the operation into an idempotent call that can
be repeated with no ill effects.

Updated the spec and changed the code accordingly. However, the result differs
slightly, as we can't return the users project access level if the user was not
member. I'm not aware if anybody relies on the result of this call.

Fixes #2832
2013-02-01 13:53:35 +00:00
Dmitriy Zaporozhets 5857a7a9ce Merge pull request #2839 from m4tthumphrey/protected-branches-api
Added methods to protect and unprotect branches in from the API
2013-01-31 10:44:20 -08:00
Dmitriy Zaporozhets fd1b9fdc12 Merge branch 'extend_user_api' of https://github.com/bladealslayer/gitlabhq into bladealslayer-extend_user_api
Conflicts:
	spec/requests/api/users_spec.rb
2013-01-31 13:00:50 +02:00
Matt Humphrey 2c7554e897 Added methods to protect and unprotect branches 2013-01-31 09:26:03 +00:00
Dmitriy Zaporozhets 9da7b2e8d8 add specs for api -> merge request notes 2013-01-31 08:42:11 +02:00
Marin Jankovski 296cdd591f Add optional signup. 2013-01-18 11:57:31 +01:00
Dmitriy Zaporozhets afbdbb0c95 Rspec fixes 2013-01-04 18:50:31 +02:00
Dmitriy Zaporozhets ccf0686b01 Fix api specs. Use id instead path 2013-01-02 19:46:06 +02:00
Dmitriy Zaporozhets d431e43392 Fix few bugs and tests after refactoring ownership logic 2013-01-02 19:32:34 +02:00
Dmitriy Zaporozhets fa8f834374 Fix import rake task and tests 2012-12-23 00:15:48 +02:00
Valeriy Sizov 77d632890b refactoring gfm_autocomplete 2012-12-20 20:52:12 +02:00
Boyan Tabakov e954438a1d Extended users API to support updating and deleting users.
Also added tests.
2012-12-18 21:24:31 +02:00
Nihad Abbasov 270a43370a API: get a single wall note 2012-12-01 02:20:45 -08:00
Nihad Abbasov ee6187bd55 API: ability to create a wall note 2012-11-29 15:52:56 -08:00
Nihad Abbasov c946bf886c API: create new notes 2012-11-29 12:11:00 -08:00
Nihad Abbasov 1c5aa848ce API: get a single note 2012-11-29 12:11:00 -08:00
Nihad Abbasov 01eab583d0 API: list wall, snippet and issue notes 2012-11-29 12:11:00 -08:00
Dmitriy Zaporozhets 0e1635a68a Fixing requests after namespaces. Fixed admin bug with access to project 2012-11-23 22:25:28 +02:00
Dmitriy Zaporozhets 9304d049de Fixed some tests and snippet colorize 2012-11-23 22:31:09 +03:00
Vincent Bonmalais 80fb38de7a Remove backward compatibility of factories. 2012-11-13 22:27:45 +11:00
Valeriy Sizov d6a5e3dad7 Merge pull request #1735 from NARKOZ/api
API fixes
2012-11-07 03:50:42 -08:00
randx 3c5a3fe0ae Merge branch 'front-end' of https://github.com/NARKOZ/gitlabhq into NARKOZ-front-end
Conflicts:
	app/views/issues/_form.html.haml
2012-10-27 11:24:11 +03:00
Valeriy Sizov 56bf829c75 API: fix after review 2012-10-25 13:19:18 +03:00
Valeriy Sizov e6cdfb607a API: tests for merge_requests 2012-10-25 13:13:01 +03:00
Nihad Abbasov b1ef7d7a44 fix typo in spec 2012-10-19 03:41:09 -07:00
Nihad Abbasov 0369c74e58 fix wrong test case 2012-10-19 03:28:26 -07:00
Nihad Abbasov 2dc0f098fd fix typos in specs 2012-10-19 03:25:39 -07:00
Nihad Abbasov c610206321 fix mass-assignment error in user create API 2012-10-19 03:23:10 -07:00
jozefvaclavik 96abbf02e3 Update spec/requests/api/projects_spec.rb
Fixed mistake with updating project hook
2012-10-12 11:30:39 +03:00
jozefvaclavik 3f2e04254f Update projects_spec.rb for Hook list and edit
Also (I think) I found few mistakes with snippets requests.
2012-10-12 11:00:59 +03:00
Nihad Abbasov 61f12da3a5 API: add project snippets listing 2012-10-08 02:13:53 -07:00
Valeriy Sizov bda0a75581 #1585 Api for user creation: rspec 2012-10-02 13:59:22 +03:00
Nihad Abbasov 1bae64d7f6 whitespace 2012-09-21 04:53:13 -07:00
Nihad Abbasov b62445813d API: SSH keys belong to user entity 2012-09-21 04:49:28 -07:00
Nihad Abbasov 4a072be2d7 API: commits belong to project repository 2012-09-21 04:34:07 -07:00
Dmitriy Zaporozhets 131553627d Merge pull request #1521 from NARKOZ/api
API for project team members
2012-09-21 04:19:16 -07:00
Nihad Abbasov 25b745271a add API for project team members 2012-09-21 03:23:17 -07:00
Dmitriy Zaporozhets 10d3a30b25 APi for commits. Better api docs 2012-09-21 13:22:30 +03:00
Nihad Abbasov b08d33f6a9 API: return 401 for invalid session 2012-09-20 08:38:08 -07:00
Dmitriy Zaporozhets 9aafe77e70 I want be able to get token via api. Used for mobile applications 2012-09-20 17:45:07 +03:00
Alex Denisov 87d40fd276 Docs added 2012-09-16 18:21:59 +03:00
Alex Denisov c23eb40829 SSH Keys API implemented 2012-09-16 17:52:06 +03:00
Dmitriy Zaporozhets 3643df1f7c Merge pull request #1411 from miks/project_hooks_api
Project hooks API
2012-09-12 12:16:35 -07:00
Dmitriy Zaporozhets 6233fb6b5d Merge pull request #1446 from NARKOZ/refactoring
specs DRY up
2012-09-12 09:08:42 -07:00
Nihad Abbasov b6f249dc1f make API specs more organized and readable 2012-09-12 05:11:56 -07:00
miks 2e34a6d3c4 Merge branch 'master' into project_hooks_api 2012-09-10 16:47:31 +03:00
Alex Denisov a065557208 Common errors method added 2012-09-10 13:49:00 +03:00
miks 3b5a90bdf6 Projects hooks API implemented 2012-09-08 20:51:12 +03:00
miks 499ff8b441 fix failing tests 2012-09-08 19:39:10 +03:00
miks 0d1009af85 "users" GET test added 2012-09-08 17:51:28 +03:00
miks 8a3408180a move "users" test after project tests 2012-09-08 17:40:36 +03:00
miks 4226458faf Merge branch 'master' into project_users_api 2012-09-08 10:50:24 +03:00
miks 909c8c345d Make project users API more RESTful 2012-09-06 23:49:29 +03:00
miks ab057bb5db proper Grape params hash simulation 2012-09-06 10:20:59 +03:00
miks cd846ba2b5 Fix tests 2012-09-06 09:52:27 +03:00
miks 94c5054566 count against last project 2012-09-06 01:06:02 +03:00
miks 8f7360f390 API on adding users to project implemented 2012-09-05 23:01:03 +03:00
Alex Denisov 4bd3024580 json_spec removed 2012-09-04 10:29:26 +03:00
Alex Denisov b73d4419ea json_spec added. Create project via REST API fixed 2012-09-04 09:38:48 +03:00
Alex Denisov e078a173d6 Create project via API: fixes added 2012-09-03 18:00:24 +03:00
Alex Denisov c1173e2707 API on Projects creation implemented 2012-08-31 10:15:37 +03:00
Robert Speicher dde8ed4455 Fix milestone API specs and moved to requests/api
Closes #1331
2012-08-29 11:58:33 -04:00
Dmitriy Zaporozhets 8c44789e6f Mark api milestone specs as pending 2012-08-29 18:09:41 +03:00
Dmitriy Zaporozhets 14f5d1727a Merge branch 'milestone_api' of https://github.com/tsigo/gitlabhq into tsigo-milestone_api
Conflicts:
	spec/requests/api/issues_spec.rb
2012-08-29 15:35:12 +03:00
Robert Speicher 232389f4e8 Clean up request specs 2012-08-25 14:19:15 -04:00
Robert Speicher b2a5344a2d Add a simple api method to ApiHelpers, replacing api_prefix
See docs for usage
2012-08-25 14:19:15 -04:00
Robert Speicher fba174e9bc Cleanup spec/support folder and spec/spec_helper
Changes:
* Move spec/monkeypatch to spec/support
* Remove unused support/shared_examples
* Move support/api to support/api_helpers to match module name
* Move support/login to support/login_helpers to match module name
* Move API specs to requests/api (convention over configuration)
* Remove unused support/js_patch
* Simplify login_as helper
* Move DatabaseCleaner stuff to its own support file
* Remove unnecessary configuration and requires from spec_helper
2012-08-25 14:19:15 -04:00