Commit 7bd32bfe authored by Michael Kozono's avatar Michael Kozono

Merge branch 'plan-limits-api-terraform-module' into 'master'

Extend Plan limits API with `terraform_module_max_file_size`

See merge request gitlab-org/gitlab!65425
parents 2e417fd5 07804f54
...@@ -41,7 +41,8 @@ Example response: ...@@ -41,7 +41,8 @@ Example response:
"maven_max_file_size": 3221225472, "maven_max_file_size": 3221225472,
"npm_max_file_size": 524288000, "npm_max_file_size": 524288000,
"nuget_max_file_size": 524288000, "nuget_max_file_size": 524288000,
"pypi_max_file_size": 3221225472 "pypi_max_file_size": 3221225472,
"terraform_module_max_file_size": 1073741824
} }
``` ```
...@@ -62,6 +63,7 @@ PUT /application/plan_limits ...@@ -62,6 +63,7 @@ PUT /application/plan_limits
| `npm_max_file_size` | integer | no | Maximum NPM package file size in bytes. | | `npm_max_file_size` | integer | no | Maximum NPM package file size in bytes. |
| `nuget_max_file_size` | integer | no | Maximum NuGet package file size in bytes. | | `nuget_max_file_size` | integer | no | Maximum NuGet package file size in bytes. |
| `pypi_max_file_size` | integer | no | Maximum PyPI package file size in bytes. | | `pypi_max_file_size` | integer | no | Maximum PyPI package file size in bytes. |
| `terraform_module_max_file_size` | integer | no | Maximum Terraform Module package file size in bytes. |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/application/plan_limits?plan_name=default&conan_max_file_size=3221225472" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/application/plan_limits?plan_name=default&conan_max_file_size=3221225472"
...@@ -76,6 +78,7 @@ Example response: ...@@ -76,6 +78,7 @@ Example response:
"maven_max_file_size": 3221225472, "maven_max_file_size": 3221225472,
"npm_max_file_size": 524288000, "npm_max_file_size": 524288000,
"nuget_max_file_size": 524288000, "nuget_max_file_size": 524288000,
"pypi_max_file_size": 3221225472 "pypi_max_file_size": 3221225472,
"terraform_module_max_file_size": 1073741824
} }
``` ```
...@@ -41,6 +41,7 @@ module API ...@@ -41,6 +41,7 @@ module API
optional :npm_max_file_size, type: Integer, desc: 'Maximum NPM package file size in bytes' optional :npm_max_file_size, type: Integer, desc: 'Maximum NPM package file size in bytes'
optional :nuget_max_file_size, type: Integer, desc: 'Maximum NuGet package file size in bytes' optional :nuget_max_file_size, type: Integer, desc: 'Maximum NuGet package file size in bytes'
optional :pypi_max_file_size, type: Integer, desc: 'Maximum PyPI package file size in bytes' optional :pypi_max_file_size, type: Integer, desc: 'Maximum PyPI package file size in bytes'
optional :terraform_module_max_file_size, type: Integer, desc: 'Maximum Terraform Module package file size in bytes'
end end
put "application/plan_limits" do put "application/plan_limits" do
params = declared_params(include_missing: false) params = declared_params(include_missing: false)
......
...@@ -9,6 +9,7 @@ module API ...@@ -9,6 +9,7 @@ module API
expose :npm_max_file_size expose :npm_max_file_size
expose :nuget_max_file_size expose :nuget_max_file_size
expose :pypi_max_file_size expose :pypi_max_file_size
expose :terraform_module_max_file_size
end end
end end
end end
...@@ -14,7 +14,8 @@ RSpec.describe API::Entities::PlanLimit do ...@@ -14,7 +14,8 @@ RSpec.describe API::Entities::PlanLimit do
:maven_max_file_size, :maven_max_file_size,
:npm_max_file_size, :npm_max_file_size,
:nuget_max_file_size, :nuget_max_file_size,
:pypi_max_file_size :pypi_max_file_size,
:terraform_module_max_file_size
) )
end end
......
...@@ -29,6 +29,7 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits' do ...@@ -29,6 +29,7 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits' do
expect(json_response['npm_max_file_size']).to eq(Plan.default.actual_limits.npm_max_file_size) expect(json_response['npm_max_file_size']).to eq(Plan.default.actual_limits.npm_max_file_size)
expect(json_response['nuget_max_file_size']).to eq(Plan.default.actual_limits.nuget_max_file_size) expect(json_response['nuget_max_file_size']).to eq(Plan.default.actual_limits.nuget_max_file_size)
expect(json_response['pypi_max_file_size']).to eq(Plan.default.actual_limits.pypi_max_file_size) expect(json_response['pypi_max_file_size']).to eq(Plan.default.actual_limits.pypi_max_file_size)
expect(json_response['terraform_module_max_file_size']).to eq(Plan.default.actual_limits.terraform_module_max_file_size)
end end
end end
...@@ -48,6 +49,7 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits' do ...@@ -48,6 +49,7 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits' do
expect(json_response['npm_max_file_size']).to eq(Plan.default.actual_limits.npm_max_file_size) expect(json_response['npm_max_file_size']).to eq(Plan.default.actual_limits.npm_max_file_size)
expect(json_response['nuget_max_file_size']).to eq(Plan.default.actual_limits.nuget_max_file_size) expect(json_response['nuget_max_file_size']).to eq(Plan.default.actual_limits.nuget_max_file_size)
expect(json_response['pypi_max_file_size']).to eq(Plan.default.actual_limits.pypi_max_file_size) expect(json_response['pypi_max_file_size']).to eq(Plan.default.actual_limits.pypi_max_file_size)
expect(json_response['terraform_module_max_file_size']).to eq(Plan.default.actual_limits.terraform_module_max_file_size)
end end
end end
...@@ -85,7 +87,8 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits' do ...@@ -85,7 +87,8 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits' do
'maven_max_file_size': 30, 'maven_max_file_size': 30,
'npm_max_file_size': 40, 'npm_max_file_size': 40,
'nuget_max_file_size': 50, 'nuget_max_file_size': 50,
'pypi_max_file_size': 60 'pypi_max_file_size': 60,
'terraform_module_max_file_size': 70
} }
expect(response).to have_gitlab_http_status(:ok) expect(response).to have_gitlab_http_status(:ok)
...@@ -96,6 +99,7 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits' do ...@@ -96,6 +99,7 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits' do
expect(json_response['npm_max_file_size']).to eq(40) expect(json_response['npm_max_file_size']).to eq(40)
expect(json_response['nuget_max_file_size']).to eq(50) expect(json_response['nuget_max_file_size']).to eq(50)
expect(json_response['pypi_max_file_size']).to eq(60) expect(json_response['pypi_max_file_size']).to eq(60)
expect(json_response['terraform_module_max_file_size']).to eq(70)
end end
it 'updates single plan limits' do it 'updates single plan limits' do
...@@ -128,7 +132,8 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits' do ...@@ -128,7 +132,8 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits' do
'maven_max_file_size': 'c', 'maven_max_file_size': 'c',
'npm_max_file_size': 'd', 'npm_max_file_size': 'd',
'nuget_max_file_size': 'e', 'nuget_max_file_size': 'e',
'pypi_max_file_size': 'f' 'pypi_max_file_size': 'f',
'terraform_module_max_file_size': 'g'
} }
expect(response).to have_gitlab_http_status(:bad_request) expect(response).to have_gitlab_http_status(:bad_request)
...@@ -139,7 +144,8 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits' do ...@@ -139,7 +144,8 @@ RSpec.describe API::Admin::PlanLimits, 'PlanLimits' do
'generic_packages_max_file_size is invalid', 'generic_packages_max_file_size is invalid',
'npm_max_file_size is invalid', 'npm_max_file_size is invalid',
'nuget_max_file_size is invalid', 'nuget_max_file_size is invalid',
'pypi_max_file_size is invalid' 'pypi_max_file_size is invalid',
'terraform_module_max_file_size is invalid'
) )
end end
end end
......
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