Use have_gitlab_http_status rather than have_http_status

parent 0f08e663
...@@ -40,7 +40,7 @@ describe 'Git LFS API and storage' do ...@@ -40,7 +40,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with 501' do it 'responds with 501' do
expect(response).to have_http_status(501) expect(response).to have_gitlab_http_status(501)
expect(json_response).to include('message' => 'Git LFS is not enabled on this GitLab server, contact your admin.') expect(json_response).to include('message' => 'Git LFS is not enabled on this GitLab server, contact your admin.')
end end
end end
...@@ -74,13 +74,13 @@ describe 'Git LFS API and storage' do ...@@ -74,13 +74,13 @@ describe 'Git LFS API and storage' do
it 'responds with a 501 message on upload' do it 'responds with a 501 message on upload' do
post_lfs_json "#{project.http_url_to_repo}/info/lfs/objects/batch", body, headers post_lfs_json "#{project.http_url_to_repo}/info/lfs/objects/batch", body, headers
expect(response).to have_http_status(501) expect(response).to have_gitlab_http_status(501)
end end
it 'responds with a 501 message on download' do it 'responds with a 501 message on download' do
get "#{project.http_url_to_repo}/gitlab-lfs/objects/#{sample_oid}", nil, headers get "#{project.http_url_to_repo}/gitlab-lfs/objects/#{sample_oid}", nil, headers
expect(response).to have_http_status(501) expect(response).to have_gitlab_http_status(501)
end end
end end
...@@ -92,13 +92,13 @@ describe 'Git LFS API and storage' do ...@@ -92,13 +92,13 @@ describe 'Git LFS API and storage' do
it 'responds with a 501 message on upload' do it 'responds with a 501 message on upload' do
post_lfs_json "#{project.http_url_to_repo}/info/lfs/objects/batch", body, headers post_lfs_json "#{project.http_url_to_repo}/info/lfs/objects/batch", body, headers
expect(response).to have_http_status(501) expect(response).to have_gitlab_http_status(501)
end end
it 'responds with a 501 message on download' do it 'responds with a 501 message on download' do
get "#{project.http_url_to_repo}/gitlab-lfs/objects/#{sample_oid}", nil, headers get "#{project.http_url_to_repo}/gitlab-lfs/objects/#{sample_oid}", nil, headers
expect(response).to have_http_status(501) expect(response).to have_gitlab_http_status(501)
end end
end end
end end
...@@ -117,14 +117,14 @@ describe 'Git LFS API and storage' do ...@@ -117,14 +117,14 @@ describe 'Git LFS API and storage' do
it 'responds with a 403 message on upload' do it 'responds with a 403 message on upload' do
post_lfs_json "#{project.http_url_to_repo}/info/lfs/objects/batch", body, headers post_lfs_json "#{project.http_url_to_repo}/info/lfs/objects/batch", body, headers
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
expect(json_response).to include('message' => 'Access forbidden. Check your access level.') expect(json_response).to include('message' => 'Access forbidden. Check your access level.')
end end
it 'responds with a 403 message on download' do it 'responds with a 403 message on download' do
get "#{project.http_url_to_repo}/gitlab-lfs/objects/#{sample_oid}", nil, headers get "#{project.http_url_to_repo}/gitlab-lfs/objects/#{sample_oid}", nil, headers
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
expect(json_response).to include('message' => 'Access forbidden. Check your access level.') expect(json_response).to include('message' => 'Access forbidden. Check your access level.')
end end
end end
...@@ -137,14 +137,14 @@ describe 'Git LFS API and storage' do ...@@ -137,14 +137,14 @@ describe 'Git LFS API and storage' do
it 'responds with a 200 message on upload' do it 'responds with a 200 message on upload' do
post_lfs_json "#{project.http_url_to_repo}/info/lfs/objects/batch", body, headers post_lfs_json "#{project.http_url_to_repo}/info/lfs/objects/batch", body, headers
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
expect(json_response['objects'].first['size']).to eq(1575078) expect(json_response['objects'].first['size']).to eq(1575078)
end end
it 'responds with a 200 message on download' do it 'responds with a 200 message on download' do
get "#{project.http_url_to_repo}/gitlab-lfs/objects/#{sample_oid}", nil, headers get "#{project.http_url_to_repo}/gitlab-lfs/objects/#{sample_oid}", nil, headers
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
end end
end end
...@@ -159,7 +159,7 @@ describe 'Git LFS API and storage' do ...@@ -159,7 +159,7 @@ describe 'Git LFS API and storage' do
shared_examples 'a deprecated' do shared_examples 'a deprecated' do
it 'responds with 501' do it 'responds with 501' do
expect(response).to have_http_status(501) expect(response).to have_gitlab_http_status(501)
end end
it 'returns deprecated message' do it 'returns deprecated message' do
...@@ -200,7 +200,7 @@ describe 'Git LFS API and storage' do ...@@ -200,7 +200,7 @@ describe 'Git LFS API and storage' do
context 'and request comes from gitlab-workhorse' do context 'and request comes from gitlab-workhorse' do
context 'without user being authorized' do context 'without user being authorized' do
it 'responds with status 401' do it 'responds with status 401' do
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(401)
end end
end end
...@@ -209,7 +209,7 @@ describe 'Git LFS API and storage' do ...@@ -209,7 +209,7 @@ describe 'Git LFS API and storage' do
let(:sendfile) { 'X-Sendfile' } let(:sendfile) { 'X-Sendfile' }
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'responds with the file location' do it 'responds with the file location' do
...@@ -227,7 +227,7 @@ describe 'Git LFS API and storage' do ...@@ -227,7 +227,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 404' do it 'responds with status 404' do
expect(response).to have_http_status(404) expect(response).to have_gitlab_http_status(404)
end end
end end
...@@ -271,7 +271,7 @@ describe 'Git LFS API and storage' do ...@@ -271,7 +271,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 404' do it 'responds with status 404' do
expect(response).to have_http_status(404) expect(response).to have_gitlab_http_status(404)
end end
end end
end end
...@@ -310,7 +310,7 @@ describe 'Git LFS API and storage' do ...@@ -310,7 +310,7 @@ describe 'Git LFS API and storage' do
end end
it 'rejects downloading code' do it 'rejects downloading code' do
expect(response).to have_http_status(other_project_status) expect(response).to have_gitlab_http_status(other_project_status)
end end
end end
end end
...@@ -350,7 +350,7 @@ describe 'Git LFS API and storage' do ...@@ -350,7 +350,7 @@ describe 'Git LFS API and storage' do
let(:authorization) { authorize_user } let(:authorization) { authorize_user }
it 'responds with status 404' do it 'responds with status 404' do
expect(response).to have_http_status(404) expect(response).to have_gitlab_http_status(404)
end end
end end
end end
...@@ -386,7 +386,7 @@ describe 'Git LFS API and storage' do ...@@ -386,7 +386,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'with href to download' do it 'with href to download' do
...@@ -414,7 +414,7 @@ describe 'Git LFS API and storage' do ...@@ -414,7 +414,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'with href to download' do it 'with href to download' do
...@@ -445,7 +445,7 @@ describe 'Git LFS API and storage' do ...@@ -445,7 +445,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'with an 404 for specific object' do it 'with an 404 for specific object' do
...@@ -482,7 +482,7 @@ describe 'Git LFS API and storage' do ...@@ -482,7 +482,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'responds with upload hypermedia link for the new object' do it 'responds with upload hypermedia link for the new object' do
...@@ -527,7 +527,7 @@ describe 'Git LFS API and storage' do ...@@ -527,7 +527,7 @@ describe 'Git LFS API and storage' do
let(:update_user_permissions) { nil } let(:update_user_permissions) { nil }
it 'responds with 404' do it 'responds with 404' do
expect(response).to have_http_status(404) expect(response).to have_gitlab_http_status(404)
end end
end end
...@@ -535,7 +535,7 @@ describe 'Git LFS API and storage' do ...@@ -535,7 +535,7 @@ describe 'Git LFS API and storage' do
let(:role) { :guest } let(:role) { :guest }
it 'responds with 403' do it 'responds with 403' do
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
end end
...@@ -563,7 +563,7 @@ describe 'Git LFS API and storage' do ...@@ -563,7 +563,7 @@ describe 'Git LFS API and storage' do
let(:pipeline) { create(:ci_empty_pipeline, project: other_project) } let(:pipeline) { create(:ci_empty_pipeline, project: other_project) }
it 'rejects downloading code' do it 'rejects downloading code' do
expect(response).to have_http_status(other_project_status) expect(response).to have_gitlab_http_status(other_project_status)
end end
end end
end end
...@@ -607,7 +607,7 @@ describe 'Git LFS API and storage' do ...@@ -607,7 +607,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200 and href to download' do it 'responds with status 200 and href to download' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'responds with status 200 and href to download' do it 'responds with status 200 and href to download' do
...@@ -635,7 +635,7 @@ describe 'Git LFS API and storage' do ...@@ -635,7 +635,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with authorization required' do it 'responds with authorization required' do
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(401)
end end
end end
end end
...@@ -668,7 +668,7 @@ describe 'Git LFS API and storage' do ...@@ -668,7 +668,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'responds with links the object to the project' do it 'responds with links the object to the project' do
...@@ -697,7 +697,7 @@ describe 'Git LFS API and storage' do ...@@ -697,7 +697,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'responds with upload hypermedia link' do it 'responds with upload hypermedia link' do
...@@ -716,7 +716,7 @@ describe 'Git LFS API and storage' do ...@@ -716,7 +716,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 406' do it 'responds with status 406' do
expect(response).to have_http_status(406) expect(response).to have_gitlab_http_status(406)
end end
it 'show correct error message' do it 'show correct error message' do
...@@ -732,7 +732,7 @@ describe 'Git LFS API and storage' do ...@@ -732,7 +732,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 406' do it 'responds with status 406' do
expect(response).to have_http_status(406) expect(response).to have_gitlab_http_status(406)
expect(json_response['documentation_url']).to include('/help') expect(json_response['documentation_url']).to include('/help')
end end
...@@ -760,7 +760,7 @@ describe 'Git LFS API and storage' do ...@@ -760,7 +760,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'responds with upload hypermedia link for the new object' do it 'responds with upload hypermedia link for the new object' do
...@@ -782,7 +782,7 @@ describe 'Git LFS API and storage' do ...@@ -782,7 +782,7 @@ describe 'Git LFS API and storage' do
let(:authorization) { authorize_user } let(:authorization) { authorize_user }
it 'responds with 403' do it 'responds with 403' do
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
...@@ -796,7 +796,7 @@ describe 'Git LFS API and storage' do ...@@ -796,7 +796,7 @@ describe 'Git LFS API and storage' do
let(:build) { create(:ci_build, :running, pipeline: pipeline, user: user) } let(:build) { create(:ci_build, :running, pipeline: pipeline, user: user) }
it 'responds with 403 (not 404 because project is public)' do it 'responds with 403 (not 404 because project is public)' do
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
...@@ -807,7 +807,7 @@ describe 'Git LFS API and storage' do ...@@ -807,7 +807,7 @@ describe 'Git LFS API and storage' do
# I'm not sure what this tests that is different from the previous test # I'm not sure what this tests that is different from the previous test
it 'responds with 403 (not 404 because project is public)' do it 'responds with 403 (not 404 because project is public)' do
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
end end
...@@ -816,7 +816,7 @@ describe 'Git LFS API and storage' do ...@@ -816,7 +816,7 @@ describe 'Git LFS API and storage' do
let(:build) { create(:ci_build, :running, pipeline: pipeline) } let(:build) { create(:ci_build, :running, pipeline: pipeline) }
it 'responds with 403 (not 404 because project is public)' do it 'responds with 403 (not 404 because project is public)' do
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
end end
...@@ -829,13 +829,13 @@ describe 'Git LFS API and storage' do ...@@ -829,13 +829,13 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 401' do it 'responds with status 401' do
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(401)
end end
end end
context 'when user does not have push access' do context 'when user does not have push access' do
it 'responds with status 401' do it 'responds with status 401' do
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(401)
end end
end end
end end
...@@ -855,7 +855,7 @@ describe 'Git LFS API and storage' do ...@@ -855,7 +855,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 404' do it 'responds with status 404' do
expect(response).to have_http_status(404) expect(response).to have_gitlab_http_status(404)
end end
end end
end end
...@@ -866,12 +866,7 @@ describe 'Git LFS API and storage' do ...@@ -866,12 +866,7 @@ describe 'Git LFS API and storage' do
let(:project) { create(:project) } let(:project) { create(:project) }
let(:path) { "#{project.http_url_to_repo}/info/lfs/objects/batch" } let(:path) { "#{project.http_url_to_repo}/info/lfs/objects/batch" }
let(:body) do let(:body) do
{ { 'objects' => [{ 'oid' => sample_oid, 'size' => sample_size }] }
'objects' => [
{ 'oid' => sample_oid,
'size' => sample_size }
]
}
end end
before do before do
...@@ -883,13 +878,13 @@ describe 'Git LFS API and storage' do ...@@ -883,13 +878,13 @@ describe 'Git LFS API and storage' do
it 'responds with a 200 message on download' do it 'responds with a 200 message on download' do
post_lfs_json path, body.merge('operation' => 'download'), headers post_lfs_json path, body.merge('operation' => 'download'), headers
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'responds with a 403 message on upload' do it 'responds with a 403 message on upload' do
post_lfs_json path, body.merge('operation' => 'upload'), headers post_lfs_json path, body.merge('operation' => 'upload'), headers
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
expect(json_response).to include('message' => "You cannot write to a secondary GitLab Geo instance. Please use #{project.http_url_to_repo} instead.") expect(json_response).to include('message' => "You cannot write to a secondary GitLab Geo instance. Please use #{project.http_url_to_repo} instead.")
end end
end end
...@@ -906,7 +901,7 @@ describe 'Git LFS API and storage' do ...@@ -906,7 +901,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 401' do it 'responds with status 401' do
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(401)
end end
end end
...@@ -916,7 +911,7 @@ describe 'Git LFS API and storage' do ...@@ -916,7 +911,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 401' do it 'responds with status 401' do
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(401)
end end
end end
...@@ -926,7 +921,7 @@ describe 'Git LFS API and storage' do ...@@ -926,7 +921,7 @@ describe 'Git LFS API and storage' do
end end
it 'does not recognize it as a valid lfs command' do it 'does not recognize it as a valid lfs command' do
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(401)
end end
end end
end end
...@@ -938,7 +933,7 @@ describe 'Git LFS API and storage' do ...@@ -938,7 +933,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with 403' do it 'responds with 403' do
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
...@@ -948,7 +943,7 @@ describe 'Git LFS API and storage' do ...@@ -948,7 +943,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with 403' do it 'responds with 403' do
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
...@@ -958,7 +953,7 @@ describe 'Git LFS API and storage' do ...@@ -958,7 +953,7 @@ describe 'Git LFS API and storage' do
end end
it 'does not recognize it as a valid lfs command' do it 'does not recognize it as a valid lfs command' do
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
end end
...@@ -986,7 +981,7 @@ describe 'Git LFS API and storage' do ...@@ -986,7 +981,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'uses the gitlab-workhorse content type' do it 'uses the gitlab-workhorse content type' do
...@@ -1006,7 +1001,7 @@ describe 'Git LFS API and storage' do ...@@ -1006,7 +1001,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'lfs object is linked to the project' do it 'lfs object is linked to the project' do
...@@ -1024,19 +1019,19 @@ describe 'Git LFS API and storage' do ...@@ -1024,19 +1019,19 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
end end
context 'invalid tempfiles' do context 'invalid tempfiles' do
it 'rejects slashes in the tempfile name (path traversal' do it 'rejects slashes in the tempfile name (path traversal' do
put_finalize('foo/bar') put_finalize('foo/bar')
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
it 'rejects tempfile names that do not start with the oid' do it 'rejects tempfile names that do not start with the oid' do
put_finalize("foo#{sample_oid}") put_finalize("foo#{sample_oid}")
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
end end
...@@ -1065,7 +1060,7 @@ describe 'Git LFS API and storage' do ...@@ -1065,7 +1060,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with 403 (not 404 because the build user can read the project)' do it 'responds with 403 (not 404 because the build user can read the project)' do
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
...@@ -1079,7 +1074,7 @@ describe 'Git LFS API and storage' do ...@@ -1079,7 +1074,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with 404 (do not leak non-public project existence)' do it 'responds with 404 (do not leak non-public project existence)' do
expect(response).to have_http_status(404) expect(response).to have_gitlab_http_status(404)
end end
end end
end end
...@@ -1092,7 +1087,7 @@ describe 'Git LFS API and storage' do ...@@ -1092,7 +1087,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with 404 (do not leak non-public project existence)' do it 'responds with 404 (do not leak non-public project existence)' do
expect(response).to have_http_status(404) expect(response).to have_gitlab_http_status(404)
end end
end end
end end
...@@ -1121,7 +1116,7 @@ describe 'Git LFS API and storage' do ...@@ -1121,7 +1116,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'with location of lfs store and object details' do it 'with location of lfs store and object details' do
...@@ -1137,7 +1132,7 @@ describe 'Git LFS API and storage' do ...@@ -1137,7 +1132,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'lfs object is linked to the source project' do it 'lfs object is linked to the source project' do
...@@ -1165,7 +1160,7 @@ describe 'Git LFS API and storage' do ...@@ -1165,7 +1160,7 @@ describe 'Git LFS API and storage' do
let(:build) { create(:ci_build, :running, pipeline: pipeline, user: user) } let(:build) { create(:ci_build, :running, pipeline: pipeline, user: user) }
it 'responds with 403 (not 404 because project is public)' do it 'responds with 403 (not 404 because project is public)' do
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
...@@ -1176,7 +1171,7 @@ describe 'Git LFS API and storage' do ...@@ -1176,7 +1171,7 @@ describe 'Git LFS API and storage' do
# I'm not sure what this tests that is different from the previous test # I'm not sure what this tests that is different from the previous test
it 'responds with 403 (not 404 because project is public)' do it 'responds with 403 (not 404 because project is public)' do
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
end end
...@@ -1185,7 +1180,7 @@ describe 'Git LFS API and storage' do ...@@ -1185,7 +1180,7 @@ describe 'Git LFS API and storage' do
let(:build) { create(:ci_build, :running, pipeline: pipeline) } let(:build) { create(:ci_build, :running, pipeline: pipeline) }
it 'responds with 403 (not 404 because project is public)' do it 'responds with 403 (not 404 because project is public)' do
expect(response).to have_http_status(403) expect(response).to have_gitlab_http_status(403)
end end
end end
end end
...@@ -1210,7 +1205,7 @@ describe 'Git LFS API and storage' do ...@@ -1210,7 +1205,7 @@ describe 'Git LFS API and storage' do
end end
it 'responds with status 200' do it 'responds with status 200' do
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'links the lfs object to the project' do it 'links the lfs object to the project' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment