Commit graph

650 commits

Author SHA1 Message Date
Sebastian Ziebell 82bd0904ff API: test checks a 404 error is returned if snippet id not found 2013-02-13 10:25:13 +01:00
Sebastian Ziebell 7cc4339f71 API: changed status codes for project hooks functions
Different status codes in the API lib are returned on hook creation, update or deletion.
If a required parameter is not given (e.g. `url` in `/projects/:id/hooks/:hook_id`) status
code 400 (Bad request) is returned. On hook deletion a 200 status code is returned, regardless if
the hook is present or not. This makes the DELETE function an idempotent operation. Appropriate tests
are added to check these status codes.
2013-02-12 17:44:42 +01:00
Sebastian Ziebell 449380265a Merge branch 'master' into fixes/api 2013-02-12 10:17:57 +01:00
Dmitriy Zaporozhets ab0cfc0036 fixing tests after refactoring 2013-02-11 20:28:27 +02:00
Dmitriy Zaporozhets d64090b8a9 No gitolite in project any more 2013-02-11 19:16:59 +02:00
Sebastian Ziebell 56b3223945 Fixes test that checks status code of hook creation 2013-02-08 18:19:59 +01:00
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
Dmitriy Zaporozhets 4e1757bfda Merge branch 'gitlab-shell' of dev.gitlabhq.com:gitlab/gitlabhq 2013-02-07 08:26:39 +00:00
Dmitriy Zaporozhets d09d87e3b0 fix deploy key spec 2013-02-07 10:25:47 +02: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
Dmitriy Zaporozhets 4bfb98ddc9 Merge pull request #2877 from former03/feature_groups_api
Add groups api
2013-02-06 03:19:29 -08:00
Dmitriy Zaporozhets 70e3bffd95 Fixed: post-receive, project remove, tests 2013-02-05 12:47:50 +02:00
Dmitriy Zaporozhets 081c272b85 Remove outdated specs and fixed key remove 2013-02-05 10:15:49 +02:00
Dmitriy Zaporozhets c75fc9c7a6 remove gitolite stub 2013-02-04 18:18:36 +02: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 d53befb0d1 Fix mailer tests 2013-02-01 15:37:21 +02: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 dfe2a742c2 fix notes specs 2013-01-31 13:13:17 +02: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 315fd7d746 fix routing specs 2013-01-31 10:08:20 +02:00
Dmitriy Zaporozhets 193a5624b2 add path and path_with_namespace to api project entity 2013-01-31 09:11:35 +02:00
Dmitriy Zaporozhets 9da7b2e8d8 add specs for api -> merge request notes 2013-01-31 08:42:11 +02:00
Dmitriy Zaporozhets 1c931fb814 fix key observer tests 2013-01-28 23:03:38 +02:00
Dmitriy Zaporozhets f7ade3b682 fix tests 2013-01-28 17:53:01 +02:00
Dmitriy Zaporozhets 9ad5fbb416 user factory username over sequence 2013-01-28 17:46:24 +02:00
Dmitriy Zaporozhets 8b54b7233e Async perform for add/remove team members 2013-01-28 17:39:02 +02:00
Dmitriy Zaporozhets bd94854929 fix tests 2013-01-28 08:59:34 +02:00
Dmitriy Zaporozhets 7175b6a769 Fixed dashboard show specs 2013-01-27 13:20:23 +02:00
Dmitriy Zaporozhets aa1f1eb680 Merge pull request #2746 from gitlabhq/features/teams
New feature: Teams
2013-01-25 00:46:20 -08:00
Dmitriy Zaporozhets 3ce79e0658 fix spec 2013-01-25 10:10:12 +02:00
Andrey Kumanyaev 690db9693f fix tests 2013-01-24 22:31:48 +02:00
Andrey Kumanyaev eb99feb4a7 simple refactoring 2013-01-24 22:31:48 +02:00
Andrey Kumanyaev a5ce8696a6 remove unused autogenerated files 2013-01-24 22:31:48 +02:00
Andrey Kumanyaev 1dd0feacc7 move Team_members controller into project (conflicts with team/members controller) 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev 497f7ab5ba save autogenerated files 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev b8dadd6427 repair rspec (remove and rename files) 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev cca9935970 save generated files 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev c5f427b0a4 save commit 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 17e9207dff add user team factories 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 8a86fe7bb0 Added UserTeam core models (team and m-t-m relationships) and updated other models 2013-01-24 22:31:23 +02:00