Module harvester_e2e_tests.apis.test_namespaces
Classes
class TestNamespaces-
Expand source code
@pytest.mark.p0 @pytest.mark.smoke @pytest.mark.namespaces class TestNamespaces: @pytest.mark.negative def test_get_not_exist(self, api_client, unique_name): code, data = api_client.namespaces.get(unique_name) assert code == 404 assert "NotFound" == data.get("code") @pytest.mark.negative def test_delete_not_exist(self, api_client, unique_name): code, data = api_client.namespaces.delete(unique_name) assert code == 404 assert "NotFound" == data.get("code") def test_get_defaults(self, api_client): for name in ('default', 'harvester-public'): status_code, data = api_client.namespaces.get(name) assert status_code == 200, ( f"Unable to get default namespace: {name}\n" f"Response: {data}" ) @pytest.mark.dependency(name="create_namespaces") def test_create(self, api_client, unique_name): status_code, data = api_client.namespaces.create(unique_name) assert status_code == 201, ( f"Unable to create Namespace `{unique_name}`\n" f"Response: {data}" ) @pytest.mark.dependency(depends=["create_namespaces"]) def test_get(self, api_client, unique_name): # Case 1: get all namespaces status_code, data = api_client.namespaces.get() assert len(data['data']) > 2, (status_code, data) # Case 2: get created namespaces status_code, data = api_client.namespaces.get(unique_name) assert status_code == 200 assert unique_name == data['metadata'].get('name') @pytest.mark.dependency(depends=["create_namespaces"]) def test_delete(self, api_client, unique_name): status_code, data = api_client.namespaces.delete(unique_name) assert 200 == status_code, (status_code, data) assert "Terminating" == data['status']['phase'] # 3 mins for cluster to validate keypair endtime = datetime.now() + timedelta(minutes=3) while endtime > datetime.now(): status_code, data = api_client.namespaces.get(unique_name) if 404 == status_code: break sleep(5) else: raise AssertionError( f"The namespace {unique_name} still not be deleted after 3 mins" )Class variables
var pytestmark
Methods
def test_create(self, api_client, unique_name)-
Expand source code
@pytest.mark.dependency(name="create_namespaces") def test_create(self, api_client, unique_name): status_code, data = api_client.namespaces.create(unique_name) assert status_code == 201, ( f"Unable to create Namespace `{unique_name}`\n" f"Response: {data}" ) def test_delete(self, api_client, unique_name)-
Expand source code
@pytest.mark.dependency(depends=["create_namespaces"]) def test_delete(self, api_client, unique_name): status_code, data = api_client.namespaces.delete(unique_name) assert 200 == status_code, (status_code, data) assert "Terminating" == data['status']['phase'] # 3 mins for cluster to validate keypair endtime = datetime.now() + timedelta(minutes=3) while endtime > datetime.now(): status_code, data = api_client.namespaces.get(unique_name) if 404 == status_code: break sleep(5) else: raise AssertionError( f"The namespace {unique_name} still not be deleted after 3 mins" ) def test_delete_not_exist(self, api_client, unique_name)-
Expand source code
@pytest.mark.negative def test_delete_not_exist(self, api_client, unique_name): code, data = api_client.namespaces.delete(unique_name) assert code == 404 assert "NotFound" == data.get("code") def test_get(self, api_client, unique_name)-
Expand source code
@pytest.mark.dependency(depends=["create_namespaces"]) def test_get(self, api_client, unique_name): # Case 1: get all namespaces status_code, data = api_client.namespaces.get() assert len(data['data']) > 2, (status_code, data) # Case 2: get created namespaces status_code, data = api_client.namespaces.get(unique_name) assert status_code == 200 assert unique_name == data['metadata'].get('name') def test_get_defaults(self, api_client)-
Expand source code
def test_get_defaults(self, api_client): for name in ('default', 'harvester-public'): status_code, data = api_client.namespaces.get(name) assert status_code == 200, ( f"Unable to get default namespace: {name}\n" f"Response: {data}" ) def test_get_not_exist(self, api_client, unique_name)-
Expand source code
@pytest.mark.negative def test_get_not_exist(self, api_client, unique_name): code, data = api_client.namespaces.get(unique_name) assert code == 404 assert "NotFound" == data.get("code")