Module harvester_e2e_tests.apis.test_settings

Functions

def test_get_all_settings(api_client, expected_settings)
def test_get_all_settings_v110(api_client, expected_settings)
def test_get_storage_network(api_client)
def test_update_log_level(api_client)

Classes

class TestUpdateInvalidBackupTarget
Expand source code
@pytest.mark.p0
@pytest.mark.negative
@pytest.mark.settings
class TestUpdateInvalidBackupTarget:
    def test_invalid_nfs(self, api_client):
        NFSSpec = api_client.settings.BackupTargetSpec.NFS

        spec = NFSSpec('not_starts_with_nfs://')
        code, data = api_client.settings.update('backup-target', spec)
        assert 422 == code, (
            f"NFS backup-target should check endpoint starting with `nfs://`\n"
            f"API Status({code}): {data}"
        )

        spec = NFSSpec('nfs://:/lack_server')
        code, data = api_client.settings.update('backup-target', spec)
        assert 422 == code, (
            f"NFS backup-target should check endpoint had server path\n"
            f"API Status({code}): {data}"
        )

        spec = NFSSpec('nfs://127.0.0.1:')
        code, data = api_client.settings.update('backup-target', spec)
        assert 422 == code, (
            f"NFS backup-target should check endpoint had mount path\n"
            f"API Status({code}): {data}"
        )

    def test_invalid_S3(self, api_client):
        S3Spec = api_client.settings.BackupTargetSpec.S3

        spec = S3Spec('bogus_bucket', 'bogus_region', 'bogus_key', 'bogus_secret')
        code, data = api_client.settings.update('backup-target', spec)
        assert 422 == code, (
            f"S3 backup-target should check key/secret/bucket/region"
            f"API Status({code}): {data}"
        )

        spec = S3Spec('', '', '', '', endpoint="http://127.0.0.1")
        code, data = api_client.settings.update('backup-target', spec)
        assert 422 == code, (
            f"S3 backup-target should check key/secret/bucket/region"
            f"API Status({code}): {data}"
        )

Class variables

var pytestmark

Methods

def test_invalid_S3(self, api_client)
def test_invalid_nfs(self, api_client)
class TestUpdateInvalidStorageNetwork
Expand source code
@pytest.mark.p0
@pytest.mark.negative
@pytest.mark.settings
class TestUpdateInvalidStorageNetwork:
    invalid_vlan_id = 4095
    invalid_ip_range = "127.0.0.1/24"
    mgmt_network = "mgmt"

    def test_invalid_vlanid(self, api_client):
        spec = api_client.settings.StorageNetworkSpec.enable_with(
            self.invalid_vlan_id, self.mgmt_network, "192.168.1.0/24"
        )
        code, data = api_client.settings.update('storage-network', spec)

        assert 422 == code, (
            f"Storage Network should NOT able to create with VLAN ID: {self.invalid_vlan_id}\n"
            f"API Status({code}): {data}"
        )

    def test_invalid_iprange(self, api_client):
        valid_vlan_id = 1
        spec = api_client.settings.StorageNetworkSpec.enable_with(
            valid_vlan_id, self.mgmt_network, self.invalid_ip_range
        )
        code, data = api_client.settings.update('storage-network', spec)

        assert 422 == code, (
            f"Storage Network should NOT able to create with IP Range: {self.invalid_ip_range}\n"
            f"API Status({code}): {data}"
        )

Class variables

var invalid_ip_range
var invalid_vlan_id
var mgmt_network
var pytestmark

Methods

def test_invalid_iprange(self, api_client)
def test_invalid_vlanid(self, api_client)
class TestUpdateKubeconfigDefaultToken
Expand source code
@pytest.mark.p0
@pytest.mark.settings
class TestUpdateKubeconfigDefaultToken:
    @pytest.mark.skip_version_before("v1.3.2", reason="Issue#5891 fixed after v1.3.2")
    def test_invalid_kubeconfig_ttl_min(self, api_client):
        KubeconfigTTLMinSpec = api_client.settings.KubeconfigDefaultTokenTTLSpec.TTL
        spec = KubeconfigTTLMinSpec(99999999999999)
        code, data = api_client.settings.update('kubeconfig-default-token-ttl-minutes', spec)
        assert 422 == code, (
            f"Kubeconfig Default Token TTL Minutes should not exceed 100yrs\n"
            f"API Status({code}): {data}"
        )

    @pytest.mark.skip_version_before('v1.3.1')
    def test_valid_kubeconfig_ttl_min(self, api_client):
        KubeconfigTTLMinSpec = api_client.settings.KubeconfigDefaultTokenTTLSpec.TTL
        spec = KubeconfigTTLMinSpec(172800)
        code, data = api_client.settings.update('kubeconfig-default-token-ttl-minutes', spec)
        assert 200 == code, (
            f"Kubeconfig Default Token TTL Minutes be allowed to be set for 120 days\n"
            f"API Status({code}): {data}"
        )

Class variables

var pytestmark

Methods

def test_invalid_kubeconfig_ttl_min(self, api_client)
def test_valid_kubeconfig_ttl_min(self, api_client)