generated from jCloud/repository-template
Add unit tests for integrations.gitea.middlewares.check_enabled.GiteaCheckEnabledMiddleware
This commit is contained in:
+225
@@ -0,0 +1,225 @@
|
||||
# Copyright 2026 jCloud
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from src.jcloud_deployment_server.integrations.gitea.middlewares.check_enabled import GiteaCheckEnabledMiddleware
|
||||
from tests.utils.make_request import call_next, make_request
|
||||
from jcloud_config_parser.ini import INIConfiguration
|
||||
import pytest
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.parametrize('path,enabled,should_fail', [
|
||||
('/gitea', 'false', True),
|
||||
('/gitea', '', True),
|
||||
('/gitea', 'f', True),
|
||||
('/gitea', 'n', True),
|
||||
('/gitea', '42', True),
|
||||
('/gitea', 'abcdefg', True),
|
||||
|
||||
('/gitea/', 'false', True),
|
||||
('/gitea/', '', True),
|
||||
('/gitea/', 'f', True),
|
||||
('/gitea/', 'n', True),
|
||||
('/gitea/', '42', True),
|
||||
('/gitea/', 'abcdefg', True),
|
||||
|
||||
('/gitea/42', 'false', True),
|
||||
('/gitea/42', '', True),
|
||||
('/gitea/42', 'f', True),
|
||||
('/gitea/42', 'n', True),
|
||||
('/gitea/42', '42', True),
|
||||
('/gitea/42', 'abcdefg', True),
|
||||
|
||||
('/gitea/ ', 'false', True),
|
||||
('/gitea/ ', '', True),
|
||||
('/gitea/ ', 'f', True),
|
||||
('/gitea/ ', 'n', True),
|
||||
('/gitea/ ', '42', True),
|
||||
('/gitea/ ', 'abcdefg', True),
|
||||
|
||||
|
||||
('/gitea/a', 'false', True),
|
||||
('/gitea/a', '', True),
|
||||
('/gitea/a', 'f', True),
|
||||
('/gitea/a', 'n', True),
|
||||
('/gitea/a', '42', True),
|
||||
('/gitea/a', 'abcdefg', True),
|
||||
|
||||
('/gitea/a/b', 'false', True),
|
||||
('/gitea/a/b', '', True),
|
||||
('/gitea/a/b', 'f', True),
|
||||
('/gitea/a/b', 'n', True),
|
||||
('/gitea/a/b', '42', True),
|
||||
('/gitea/a/b', 'abcdefg', True),
|
||||
|
||||
('/gitea/a/', 'false', True),
|
||||
('/gitea/a/', '', True),
|
||||
('/gitea/a/', 'f', True),
|
||||
('/gitea/a/', 'n', True),
|
||||
('/gitea/a/', '42', True),
|
||||
('/gitea/a/', 'abcdefg', True),
|
||||
|
||||
('/gitea/a/b/', 'false', True),
|
||||
('/gitea/a/b/', '', True),
|
||||
('/gitea/a/b/', 'f', True),
|
||||
('/gitea/a/b/', 'n', True),
|
||||
('/gitea/a/b/', '42', True),
|
||||
('/gitea/a/b/', 'abcdefg', True),
|
||||
|
||||
|
||||
('/gite', 'false', False),
|
||||
('/gite', '', False),
|
||||
('/gite', 'f', False),
|
||||
('/gite', 'n', False),
|
||||
('/gite', '42', False),
|
||||
('/gite', 'abcdefg', False),
|
||||
|
||||
('/g', 'false', False),
|
||||
('/g', '', False),
|
||||
('/g', 'f', False),
|
||||
('/g', 'n', False),
|
||||
('/g', '42', False),
|
||||
('/g', 'abcdefg', False),
|
||||
|
||||
('/a', 'false', False),
|
||||
('/a', '', False),
|
||||
('/a', 'f', False),
|
||||
('/a', 'n', False),
|
||||
('/a', '42', False),
|
||||
('/a', 'abcdefg', False),
|
||||
|
||||
('/a/', 'false', False),
|
||||
('/a/', '', False),
|
||||
('/a/', 'f', False),
|
||||
('/a/', 'n', False),
|
||||
('/a/', '42', False),
|
||||
('/a/', 'abcdefg', False),
|
||||
|
||||
('/a/b', 'false', False),
|
||||
('/a/b', '', False),
|
||||
('/a/b', 'f', False),
|
||||
('/a/b', 'n', False),
|
||||
('/a/b', '42', False),
|
||||
('/a/b', 'abcdefg', False),
|
||||
|
||||
('/a/b/', 'false', False),
|
||||
('/a/b/', '', False),
|
||||
('/a/b/', 'f', False),
|
||||
('/a/b/', 'n', False),
|
||||
('/a/b/', '42', False),
|
||||
('/a/b/', 'abcdefg', False),
|
||||
|
||||
('/', 'false', False),
|
||||
('/', '', False),
|
||||
('/', 'f', False),
|
||||
('/', 'n', False),
|
||||
('/', '42', False),
|
||||
('/', 'abcdefg', False),
|
||||
|
||||
|
||||
|
||||
('/gitea', 'true', False),
|
||||
('/gitea', 'yes', False),
|
||||
('/gitea', 't', False),
|
||||
('/gitea', 'y', False),
|
||||
|
||||
('/gitea/', 'true', False),
|
||||
('/gitea/', 'yes', False),
|
||||
('/gitea/', 't', False),
|
||||
('/gitea/', 'y', False),
|
||||
|
||||
('/gitea/42', 'true', False),
|
||||
('/gitea/42', 'yes', False),
|
||||
('/gitea/42', 't', False),
|
||||
('/gitea/42', 'y', False),
|
||||
|
||||
('/gitea/ ', 'true', False),
|
||||
('/gitea/ ', 'yes', False),
|
||||
('/gitea/ ', 't', False),
|
||||
('/gitea/ ', 'y', False),
|
||||
|
||||
|
||||
('/gitea/a', 'true', False),
|
||||
('/gitea/a', 'yes', False),
|
||||
('/gitea/a', 't', False),
|
||||
('/gitea/a', 'y', False),
|
||||
|
||||
('/gitea/a/b', 'true', False),
|
||||
('/gitea/a/b', 'yes', False),
|
||||
('/gitea/a/b', 't', False),
|
||||
('/gitea/a/b', 'y', False),
|
||||
|
||||
('/gitea/a/', 'true', False),
|
||||
('/gitea/a/', 'yes', False),
|
||||
('/gitea/a/', 't', False),
|
||||
('/gitea/a/', 'y', False),
|
||||
|
||||
('/gitea/a/b/', 'true', False),
|
||||
('/gitea/a/b/', 'yes', False),
|
||||
('/gitea/a/b/', 't', False),
|
||||
('/gitea/a/b/', 'y', False),
|
||||
|
||||
|
||||
('/gite', 'true', False),
|
||||
('/gite', 'yes', False),
|
||||
('/gite', 't', False),
|
||||
('/gite', 'y', False),
|
||||
|
||||
('/g', 'true', False),
|
||||
('/g', 'yes', False),
|
||||
('/g', 't', False),
|
||||
('/g', 'y', False),
|
||||
|
||||
('/a', 'true', False),
|
||||
('/a', 'yes', False),
|
||||
('/a', 't', False),
|
||||
('/a', 'y', False),
|
||||
|
||||
('/a/', 'true', False),
|
||||
('/a/', 'yes', False),
|
||||
('/a/', 't', False),
|
||||
('/a/', 'y', False),
|
||||
|
||||
('/a/b', 'true', False),
|
||||
('/a/b', 'yes', False),
|
||||
('/a/b', 't', False),
|
||||
('/a/b', 'y', False),
|
||||
|
||||
('/a/b/', 'true', False),
|
||||
('/a/b/', 'yes', False),
|
||||
('/a/b/', 't', False),
|
||||
('/a/b/', 'y', False),
|
||||
|
||||
('/', 'true', False),
|
||||
('/', 'yes', False),
|
||||
('/', 't', False),
|
||||
('/', 'y', False),
|
||||
])
|
||||
async def test_GiteaCheckEnabledMiddleware(path, enabled, should_fail):
|
||||
configuration = INIConfiguration()
|
||||
gitea_config = INIConfiguration()
|
||||
gitea_config.enabled = enabled
|
||||
configuration.gitea = gitea_config
|
||||
|
||||
middleware = GiteaCheckEnabledMiddleware(None, configuration)
|
||||
|
||||
req = make_request(
|
||||
b'',
|
||||
path
|
||||
)
|
||||
|
||||
res = await middleware.dispatch(req, call_next)
|
||||
if should_fail:
|
||||
assert res.status_code == 403
|
||||
else:
|
||||
assert hasattr(res, 'called')
|
||||
Reference in New Issue
Block a user