|
3 | 3 | from collections.abc import Iterator |
4 | 4 | from pathlib import Path |
5 | 5 | from tempfile import TemporaryDirectory |
| 6 | +from test.bucketfs_protocol import BucketFSProtocol |
6 | 7 | from test.package_manager import PackageManager |
7 | 8 | from test.utils.integration_test_utils import setup_itde_module |
8 | 9 |
|
9 | 10 | import pytest |
10 | 11 | from docker.models.images import Image as DockerImage |
11 | 12 | from exasol.slc.models.compression_strategy import CompressionStrategy |
12 | 13 | from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient |
| 14 | +from exasol_integration_test_docker_environment.lib.models.api_errors import ( |
| 15 | + TaskRuntimeError, |
| 16 | +) |
13 | 17 |
|
| 18 | +from exasol.nb_connector.ai_lab_config import AILabConfig as CKey |
14 | 19 | from exasol.nb_connector.language_container_activation import ( |
15 | 20 | open_pyexasol_connection_with_lang_definitions, |
16 | 21 | ) |
@@ -154,7 +159,30 @@ def expected_activation_key(slc: ScriptLanguageContainer) -> str: |
154 | 159 | ) |
155 | 160 |
|
156 | 161 |
|
157 | | -@pytest.mark.dependency(name="deploy_slc") |
| 162 | +@pytest.fixture(scope="module") |
| 163 | +def configure_bucketfs_protocol(bucketfs_protocol, secrets_module: Secrets): |
| 164 | + if bucketfs_protocol == BucketFSProtocol.HTTPS: |
| 165 | + secrets_module.save(CKey.bfs_encryption, "True") |
| 166 | + secrets_module.save(CKey.cert_vld, "False") |
| 167 | + secrets_module.save(CKey.bfs_port, "2581") |
| 168 | + |
| 169 | + |
| 170 | +@pytest.mark.dependency(name="deploy_cert_fails") |
| 171 | +def test_deploy_cert_fails( |
| 172 | + sample_slc: ScriptLanguageContainer, |
| 173 | + setup_itde_module, |
| 174 | + secrets_module, |
| 175 | + bucketfs_protocol, |
| 176 | + configure_bucketfs_protocol, |
| 177 | +): |
| 178 | + if bucketfs_protocol == BucketFSProtocol.HTTPS: |
| 179 | + secrets_module.save(CKey.cert_vld, "True") |
| 180 | + with pytest.raises(TaskRuntimeError): |
| 181 | + sample_slc.deploy() |
| 182 | + secrets_module.save(CKey.cert_vld, "False") |
| 183 | + |
| 184 | + |
| 185 | +@pytest.mark.dependency(name="deploy_slc", depends=["deploy_cert_fails"]) |
158 | 186 | def test_deploy(sample_slc: ScriptLanguageContainer, setup_itde_module): |
159 | 187 | sample_slc.deploy() |
160 | 188 | assert sample_slc.activation_key == expected_activation_key(sample_slc) |
|
0 commit comments