Merge branch 'broadcast-message-api' into 'master'

Add internal broadcast message API.

See gitlab/gitlab-ee#241.

Used by gitlab/gitlab-shell!53.

See merge request !1486
This commit is contained in:
Dmitriy Zaporozhets 2015-02-10 18:13:39 +00:00
commit 299340ad0e
3 changed files with 45 additions and 12 deletions

View File

@ -270,5 +270,9 @@ module API
class Contributor < Grape::Entity
expose :name, :email, :commits, :additions, :deletions
end
class BroadcastMessage < Grape::Entity
expose :message, :starts_at, :ends_at, :color, :font
end
end
end

View File

@ -69,6 +69,14 @@ module API
gitlab_rev: Gitlab::REVISION,
}
end
get "/broadcast_message" do
if message = BroadcastMessage.current
present message, with: Entities::BroadcastMessage
else
not_found!
end
end
end
end
end

View File

@ -16,6 +16,27 @@ describe API::API, api: true do
end
end
describe "GET /internal/broadcast_message" do
context "broadcast message exists" do
let!(:broadcast_message) { create(:broadcast_message, starts_at: Time.now.yesterday, ends_at: Time.now.tomorrow ) }
it do
get api("/internal/broadcast_message"), secret_token: secret_token
response.status.should == 200
json_response["message"].should == broadcast_message.message
end
end
context "broadcast message doesn't exist" do
it do
get api("/internal/broadcast_message"), secret_token: secret_token
response.status.should == 404
end
end
end
describe "GET /internal/discover" do
it do
get(api("/internal/discover"), key_id: key.id, secret_token: secret_token)
@ -37,7 +58,7 @@ describe API::API, api: true do
pull(key, project)
response.status.should == 200
JSON.parse(response.body)["status"].should be_true
json_response["status"].should be_true
end
end
@ -46,7 +67,7 @@ describe API::API, api: true do
push(key, project)
response.status.should == 200
JSON.parse(response.body)["status"].should be_true
json_response["status"].should be_true
end
end
end
@ -61,7 +82,7 @@ describe API::API, api: true do
pull(key, project)
response.status.should == 200
JSON.parse(response.body)["status"].should be_false
json_response["status"].should be_false
end
end
@ -70,7 +91,7 @@ describe API::API, api: true do
push(key, project)
response.status.should == 200
JSON.parse(response.body)["status"].should be_false
json_response["status"].should be_false
end
end
end
@ -87,7 +108,7 @@ describe API::API, api: true do
pull(key, personal_project)
response.status.should == 200
JSON.parse(response.body)["status"].should be_false
json_response["status"].should be_false
end
end
@ -96,7 +117,7 @@ describe API::API, api: true do
push(key, personal_project)
response.status.should == 200
JSON.parse(response.body)["status"].should be_false
json_response["status"].should be_false
end
end
end
@ -114,7 +135,7 @@ describe API::API, api: true do
pull(key, project)
response.status.should == 200
JSON.parse(response.body)["status"].should be_true
json_response["status"].should be_true
end
end
@ -123,7 +144,7 @@ describe API::API, api: true do
push(key, project)
response.status.should == 200
JSON.parse(response.body)["status"].should be_false
json_response["status"].should be_false
end
end
end
@ -140,7 +161,7 @@ describe API::API, api: true do
archive(key, project)
response.status.should == 200
JSON.parse(response.body)["status"].should be_true
json_response["status"].should be_true
end
end
@ -149,7 +170,7 @@ describe API::API, api: true do
archive(key, project)
response.status.should == 200
JSON.parse(response.body)["status"].should be_false
json_response["status"].should be_false
end
end
end
@ -159,7 +180,7 @@ describe API::API, api: true do
pull(key, OpenStruct.new(path_with_namespace: 'gitlab/notexists'))
response.status.should == 200
JSON.parse(response.body)["status"].should be_false
json_response["status"].should be_false
end
end
@ -168,7 +189,7 @@ describe API::API, api: true do
pull(OpenStruct.new(id: 0), project)
response.status.should == 200
JSON.parse(response.body)["status"].should be_false
json_response["status"].should be_false
end
end
end