Commit graph

792 commits

Author SHA1 Message Date
Dmitriy Zaporozhets d2cec12632 block user should not be able to push 2013-03-07 14:18:30 +02:00
Dmitriy Zaporozhets 0d66fa89fc fix stubbed repo 2013-03-07 11:45:44 +02:00
Dmitriy Zaporozhets 7c408960ce Merge pull request #3146 from amacarthur/AdminAPIs
Additional Admin APIs
2013-03-06 22:57:24 -08:00
Dmitriy Zaporozhets afee5303ff Merge pull request #3149 from m4tthumphrey/api-deploy-keys
Added methods to manage project deploy keys via API
2013-03-06 07:43:45 -08:00
Dmitriy Zaporozhets 65d78253cb Merge pull request #3156 from m4tthumphrey/api-system-hooks
Added methods to manage system hooks from API
2013-03-06 07:42:43 -08:00
Matt Humphrey 1dd712ddc2 System hooks API. 2013-03-06 15:15:26 +00:00
Sato Hiroyuki 6224ac0647 Add and fix some tests for routing.
It is linked to #2598.
2013-03-06 16:36:01 +09:00
Sebastian Ziebell 61cfa2a7a6 Merge branch 'master' into fixes/api
Conflicts:
	lib/api/projects.rb
2013-03-05 22:29:49 +01:00
Matt Humphrey f411772e33 Project deploy keys API 2013-03-05 21:23:29 +00:00
Angus MacArthur 61ffcab60f Additional Admin APIs 2013-03-05 10:38:43 -05:00
Dmitriy Zaporozhets 2d2a235c06 fixed omniauth email spec 2013-03-05 16:50:37 +02:00
Dmitriy Zaporozhets da6b53a80e Merge branch 'omniauth_no_email_1' of https://github.com/gliptak/gitlabhq into gliptak-omniauth_no_email_1
Conflicts:
	app/observers/user_observer.rb
	spec/observers/user_observer_spec.rb
2013-03-05 16:48:18 +02:00
Andrew8xx8 0d9a6fe7b1 User's blocked field refactored to use state machine 2013-03-04 18:52:30 +04:00
Dmitriy Zaporozhets 5c3cb47c16 Merge branch 'team-and-group-descriptions' of https://github.com/Undev/gitlabhq into Undev-team-and-group-descriptions
Conflicts:
	db/schema.rb
2013-03-01 16:05:51 +02:00
Dmitriy Zaporozhets 1c517153a8 fix admin users tests 2013-02-28 19:56:36 +02:00
Andrew8xx8 ba5373805a Description added to user temas factory 2013-02-28 17:15:22 +04:00
Andrew8xx8 8caccae454 Issue helper tests improved 2013-02-28 16:11:14 +04:00
Andrew8xx8 c643b50dbd Default value for issues_tracker setting added 2013-02-28 16:11:13 +04:00
Andrew8xx8 16c720fd96 Issues helper improved 2013-02-28 16:11:13 +04:00
Andrew8xx8 0afdf39dbc New field added 2013-02-28 16:11:13 +04:00
Andrew8xx8 68a7ecdaaf Project issue tracker functions refactored 2013-02-28 16:10:00 +04:00
Andrew8xx8 e6d2e56961 Issue tracker field added to projects 2013-02-28 16:10:00 +04:00
Sebastian Ziebell d269d107d8 API: fixed adding a note
Now the correct attribute is checked if it's available or not. Also fixed a test.
2013-02-27 18:12:02 +01:00
Sebastian Ziebell 7499f65014 API: extracted helper method to validate required parameters, code clean up
Added a helper method to check if required parameters are given in an API call. Can be used
to return a `400 Bad Request` return code if a required attribute is missing.
Code clean up and fixed tests.
2013-02-27 17:50:30 +01:00
Sebastian Ziebell 3b3add35fb API: merge request documentation updated, added return codes to functions
The API documentation of merge requests contains info to status codes for all functions.
Required arguments are now checked in the merge requests API functions and a `400 Bad Request` error is
returned if they are not given.
2013-02-27 15:07:42 +01:00
Sebastian Ziebell e96d77d3db API: issues documentation and API functions updated
The issues documentation is updated with infos to status codes and the deprecated `DELETE` function and
how to close an issue. A few more tests added to check status codes of API functions.
2013-02-27 14:36:20 +01:00
Sebastian Ziebell dffc2b8a8b API: session documentation updated and test added 2013-02-27 12:58:06 +01:00
Sebastian Ziebell 873db06255 API: groups documentation updated, functions return different status codes
Updates the API documentation of groups with infos to return codes. The function calls
in the groups API have updated documentation and return `400 Bad Request` status code
if a required attribute is missing.
2013-02-27 12:34:45 +01:00
Sebastian Ziebell e119b0a0cb API repository documentation updated, includes infos to return codes
The API documentation of repository is updated and now contains infos to status codes.
Code documentation is also adjusted for `GET /projects/:id/repository/commits` and includes infos to
pagination attributes. Tests are updated.
2013-02-27 11:24:12 +01:00
Sebastian Ziebell ac4a09e9cc Merge branch 'master' into fixes/api 2013-02-27 10:16:48 +01:00
Dmitriy Zaporozhets 135418dcbf fixed popen test 2013-02-27 08:24:12 +02:00
Dmitriy Zaporozhets 4e5164338a specs for api/internal 2013-02-26 22:53:59 +02:00
Dmitriy Zaporozhets 2c5e4955c0 specs for Gitlab::Popen 2013-02-26 22:53:46 +02:00
Dmitriy Zaporozhets 9c252a60c1 remove tests for unexisting methods 2013-02-26 11:17:02 +02:00
Dmitriy Zaporozhets d7b667fee2 Merge branch 'state-machine-stage-2' of https://github.com/Undev/gitlabhq into Undev-state-machine-stage-2
Conflicts:
	app/models/merge_request.rb
2013-02-26 10:38:40 +02:00
Dmitriy Zaporozhets c9b1df1201 Fixing tests 2013-02-25 23:16:34 +02:00
Dmitriy Zaporozhets 7bab81b199 Move git post push logic to service 2013-02-25 21:21:38 +02:00
Dmitriy Zaporozhets 9611640e38 Merge pull request #3052 from Undev/system-hook-observer-improves
System hooks code & logic refactoring
2013-02-25 10:15:23 -08:00
Sebastian Ziebell 9ee6c58acc API documentation updated for project snippets.
The API Documentation for project snippets got infos to return codes. Tests are added
to check status codes when handling project snippets.
2013-02-21 21:13:46 +01:00
Sebastian Ziebell ce9e35c295 API: Fixes tests for changed hook deletion 2013-02-21 21:04:16 +01:00
Dmitriy Zaporozhets 99b6750e15 Restore old order for MR lists. Fix failing tests 2013-02-21 16:26:09 +02:00
Dmitriy Zaporozhets 4a137651ec Fix merge request closed filter. Fixed one more test 2013-02-21 14:11:24 +02:00
Dmitriy Zaporozhets cce14e0b01 Removing ambiguity and non-working selectors 2013-02-21 13:28:05 +02:00
Dmitriy Zaporozhets 5aeaf248f1 Fixing rspec after upgrade to capybara pt1 2013-02-21 13:09:47 +02:00
Dmitriy Zaporozhets 37187336b1 Team features are green now 2013-02-21 12:27:52 +02:00
Dmitriy Zaporozhets 28da2a8bdc Monkeypatch satellite call for merge request in tests 2013-02-21 11:44:33 +02:00
Dmitriy Zaporozhets 42ce2c1080 improve selectors to pass capybara 2.0 2013-02-21 11:27:22 +02:00
Dmitriy Zaporozhets 03f6a28ec0 move capybara scenarios to spec/features 2013-02-21 10:41:37 +02:00
Dmitriy Zaporozhets 9f722427e5 Add LoginHelpers to feature type 2013-02-21 10:41:13 +02:00
Sebastian Ziebell 4a60c377b8 API documentation update for milestones
Updated the milestones API documentation and added return codes descriptions.
2013-02-20 22:51:59 +01:00
Sebastian Ziebell 33c1463645 API: fixes return codes for notes, documentation updated
The notes API documentation updated with return codes. API now returns `400 Bad Request` if
required attributes are not present. Return codes are documented now, also tested in added tests.
The documentation now reflects the current state of the API.
2013-02-20 22:17:05 +01:00
Andrew8xx8 e2d94e0719 State machine added for merge_status field 2013-02-20 17:49:48 +04:00
Sebastian Ziebell f0e417091c Merge branch 'master' into fixes/api
Conflicts:
	spec/requests/api/projects_spec.rb
2013-02-20 14:30:11 +01:00
Sebastian Ziebell 512d826cc3 API: fixes test if project limit is reached
Fixes a test that checks if the project limit is reached.
2013-02-20 14:15:04 +01:00
Matt Humphrey dddf6eab2d Removed unnecessary paramter hash. Also tidied up hash format in hook creation spec 2013-02-20 11:45:54 +00:00
Sebastian Ziebell eefb27f5ae Merge branch 'master' into fixes/api
Conflicts:
	spec/requests/api/projects_spec.rb
2013-02-20 12:43:32 +01:00
Matt Humphrey 33c513274d Fix RESTfulness of project hook deletions by API 2013-02-20 11:35:36 +00:00
Sebastian Ziebell 1b97a2eee8 API: fixes return codes, documentation updated with status codes, tests added
The users API updated with return codes, e.g. if required parameters are missing
a `400 Bad Request` error is returned instead of `404`. Fixes return codes of functions,
e.g. deletion of a ssh key is an idempotent function now.
The API documentation is updated to reflect the current status of the API. Descriptions
are more detailed and complete, infos to return values are added to all functions.
2013-02-20 12:23:56 +01:00
Andrew8xx8 aa1780d03c System hooks execution moved to System hook service 2013-02-20 14:53:15 +04:00
Dmitriy Zaporozhets b7ac654b88 Merge pull request #2988 from Asquera/error_project_limit
API: creating last project before limit returns 404
2013-02-20 02:47:30 -08:00
Dmitriy Zaporozhets 25e4c512d4 Merge pull request #3011 from Asquera/fix_access_to_nonvisible_hook
API: fixes visibility of project hook
2013-02-20 02:45:07 -08:00
Dmitriy Zaporozhets 155703c613 Merge branch 'state-machine' of https://github.com/Undev/gitlabhq into Undev-state-machine
Conflicts:
	app/models/issue.rb
	app/models/merge_request.rb
2013-02-19 11:01:19 +02:00
Andrew8xx8 41e97a766b Creating test values moved to before 2013-02-18 17:52:39 +04:00
Andrew8xx8 69698aacbc Additional tests added to Issue 2013-02-18 14:43:50 +04:00
Andrew8xx8 b607c70e8f Additional tests added to Milestone 2013-02-18 14:43:50 +04:00
Andrew8xx8 1644117a1a Issue uses StateMachine now 2013-02-18 14:43:50 +04:00
Andrew8xx8 0b512af803 Milestone uses StateMachine now 2013-02-18 14:43:50 +04:00
Andrew8xx8 29f70acc98 Merge Request uses StateMachine now 2013-02-18 14:43:50 +04:00
Andrew8xx8 b45e9aefd3 Merge Request uses StateMachine now 2013-02-18 14:43:50 +04:00
Andrew8xx8 f97296597c Issuable consern uses StateMachine now 2013-02-18 14:43:49 +04:00
Andrew8xx8 8db3920c01 State renamed to merge_status 2013-02-18 14:43:49 +04:00
Jaakko Kantojärvi 27f4cf7542 Tests to validate that invalid keys are rejected 2013-02-17 21:31:20 +02:00
Sebastian Ziebell e9d3b96595 API: fixes visibility of project hook
When a user is not authorized to see the list of hooks for a project, he is
still able to access the hooks separately. For example if access to
`GET /projects/:id/hooks` fails and returns a `403 Unauthorized` error it is
still possible to access a hook directly via `GET /projects/:id/hooks/:hook_id`.

Fixes access, also added tests to check access and status codes of hooks.
2013-02-16 14:42:49 +01:00
Sebastian Ziebell 5417fbfecd Test to check 404 error when project id not found 2013-02-14 21:00:05 +01:00
Sebastian Ziebell c8b92a4be2 Merge branch 'master' into fixes/api 2013-02-14 17:02:16 +01:00
Sebastian Ziebell c305eb31aa API: tests that check status codes for project branches and hooks
Status code 422 (Unprocessable Entity) returned if invalid url is given when creating
or updating a project hook.
2013-02-14 16:55:33 +01:00
Sebastian Ziebell 6df02adc7a API: status code 403 returned if new project would exceed limit
When the project limit is reached the user is not allowed to create new ones.
Instead of error code 404 the status code 403 (Forbidden) is returned with error
message via API.
2013-02-14 15:51:56 +01:00
Sebastian Ziebell 1a01fc0c96 API: tests to show incorrect behavior when reaching project limit
When reaching the project limit the API returns an error code 404 on the last possible
project. The project itself is created and is available in the database (seems valid).
A similar behavior can be observed when reaching the project limit via web client, but
in this case the user is notified that the maximum number of projects is reached. The project
itself is still created and can be accessed.

Tests are added to check the behavior when reaching the project limit or one tries
to exceed it via the API.
2013-02-14 11:13:25 +01:00
Sebastian Ziebell 6fc3263e15 API: extracted helper method to provide 400 bad request error with description
Extracted a method for 400 error (Bad request) and adjusted code accordingly. The name of
the missing attribute is used to show which one was missing from the request. It is used to
give an appropriate message in the json response.
2013-02-13 15:48:52 +01:00
Sebastian Ziebell 54ab9bb6df API: return status code 400 if filepath of raw file blob not given 2013-02-13 14:47:59 +01:00
Andrew8xx8 839957cf56 Constants in Events looks good now 2013-02-13 15:48:16 +04:00
Sebastian Ziebell fd01f3aacd API: fixes a few return codes for project snippets
When using project snippets via API the functions now provide status codes for
different situations other then only returning 404 error. If required parameters are missing,
e.g. `title` when creating a project snippet a 400 (Bad request) error is returned. The snippet
delete function now is idempotent and returns a 200 (Ok) regardless if the snippet with the
given id is available or not. Changing return codes of these functions has the advantage that
the 404 error is used only for resources, which are not available.

Tests added to check these status codes when handling project snippets.
2013-02-13 12:09:16 +01:00
Sebastian Ziebell 375caeefcf Merge branch 'master' into fixes/api 2013-02-13 10:31:06 +01:00
Sebastian Ziebell ae40e855ef API: test checks a 400 code is returned if snippet title not given 2013-02-13 10:29:42 +01:00
Sebastian Ziebell 82bd0904ff API: test checks a 404 error is returned if snippet id not found 2013-02-13 10:25:13 +01:00
Dmitriy Zaporozhets 8f9c01feed Merge pull request #2946 from Asquera/fix/access_to_non_existent_branch
API: Fixes return code when accessing non existent branch (#2922)
2013-02-12 09:24:54 -08: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
Dmitriy Zaporozhets 06dd530ede Merge branch 'user_delete_account' of /home/git/repositories/gitlab/gitlabhq 2013-02-12 10:53:51 +00:00
Dmitriy Zaporozhets 9f2041ad0e Merge pull request #2965 from yurifury/fix-blob-route
Gitlab incorrectly routes blobs to the compare controller depending on filename.
2013-02-12 01:50:03 -08:00
Sebastian Ziebell 449380265a Merge branch 'master' into fixes/api 2013-02-12 10:17:57 +01:00
Yuri Feldman 918e2213e7 Test to show incorrect routing to Compare controller 2013-02-12 19:28:37 +11:00
Andrew8xx8 9a22ac63ec Dynamic values must be in blocks if FG 2013-02-12 10:54:56 +04: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
Marin Jankovski f339af858b Test the delete acount option. 2013-02-11 13:06:37 +01:00
Sebastian Ziebell 56b3223945 Fixes test that checks status code of hook creation 2013-02-08 18:19:59 +01:00
Sebastian Ziebell 40e7846f3e Status code 404 returned when retrieving non existent branch (issue #2922)
Accessing a repository branch that does not exist returns a 404 error instead
of 200 now. Added a test.
2013-02-08 17:04:08 +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