diff options
author | Rémy Coutable <remy@rymai.me> | 2016-11-02 11:46:45 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-11-02 11:46:45 +0000 |
commit | 2023511753d75545aa76968a2991dc962f7a99db (patch) | |
tree | ea0ea32f4ea3c61ef25717840dcf0cd54c136a89 /spec | |
parent | ee6d087ef2a7bbfede43741e04e850b363c74cb3 (diff) | |
parent | f77be11cb9caa62cdd4690a53c73b6d34e102148 (diff) | |
download | gitlab-ce-2023511753d75545aa76968a2991dc962f7a99db.tar.gz |
Merge branch 'gpocentek/gitlab-ce-api-webhook-token' into 'master'
This MR adds support for the `token` attribute in the project hook API.
Feature requested on a dependant project: https://github.com/gpocentek/python-gitlab/issues/170
See merge request !7220
Diffstat (limited to 'spec')
-rw-r--r-- | spec/requests/api/project_hooks_spec.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/requests/api/project_hooks_spec.rb b/spec/requests/api/project_hooks_spec.rb index cfcdcad74cd..5f39329a1b8 100644 --- a/spec/requests/api/project_hooks_spec.rb +++ b/spec/requests/api/project_hooks_spec.rb @@ -88,6 +88,7 @@ describe API::API, 'ProjectHooks', api: true do expect do post api("/projects/#{project.id}/hooks", user), url: "http://example.com", issues_events: true end.to change {project.hooks.count}.by(1) + expect(response).to have_http_status(201) expect(json_response['url']).to eq('http://example.com') expect(json_response['issues_events']).to eq(true) @@ -99,6 +100,24 @@ describe API::API, 'ProjectHooks', api: true do expect(json_response['pipeline_events']).to eq(false) expect(json_response['wiki_page_events']).to eq(false) expect(json_response['enable_ssl_verification']).to eq(true) + expect(json_response).not_to include('token') + end + + it "adds the token without including it in the response" do + token = "secret token" + + expect do + post api("/projects/#{project.id}/hooks", user), url: "http://example.com", token: token + end.to change {project.hooks.count}.by(1) + + expect(response).to have_http_status(201) + expect(json_response["url"]).to eq("http://example.com") + expect(json_response).not_to include("token") + + hook = project.hooks.find(json_response["id"]) + + expect(hook.url).to eq("http://example.com") + expect(hook.token).to eq(token) end it "returns a 400 error if url not given" do @@ -129,6 +148,19 @@ describe API::API, 'ProjectHooks', api: true do expect(json_response['enable_ssl_verification']).to eq(hook.enable_ssl_verification) end + it "adds the token without including it in the response" do + token = "secret token" + + put api("/projects/#{project.id}/hooks/#{hook.id}", user), url: "http://example.org", token: token + + expect(response).to have_http_status(200) + expect(json_response["url"]).to eq("http://example.org") + expect(json_response).not_to include("token") + + expect(hook.reload.url).to eq("http://example.org") + expect(hook.reload.token).to eq(token) + end + it "returns 404 error if hook id not found" do put api("/projects/#{project.id}/hooks/1234", user), url: 'http://example.org' expect(response).to have_http_status(404) |