-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathtest_instances.py
More file actions
36 lines (29 loc) · 1.23 KB
/
test_instances.py
File metadata and controls
36 lines (29 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import os
import pytest
from datacrunch.datacrunch import DataCrunchClient
from datacrunch.constants import Locations
IN_GITHUB_ACTIONS = os.getenv('GITHUB_ACTIONS') == 'true'
@pytest.mark.skipif(IN_GITHUB_ACTIONS, reason="Test doesn't work in Github Actions.")
@pytest.mark.withoutresponses
class TestInstances:
def test_create_instance(self, datacrunch_client: DataCrunchClient):
# get ssh key
ssh_key = datacrunch_client.ssh_keys.get()[0]
# create instance
instance = datacrunch_client.instances.create(
hostname='test-instance',
location=Locations.FIN_03,
instance_type='CPU.4V',
description='test instance',
image='ubuntu-18.04',
ssh_key_ids=[ssh_key.id],
)
# assert instance is created
assert instance.id is not None
assert instance.status == datacrunch_client.constants.instance_status.PROVISIONING
# delete instance
datacrunch_client.instances.action(instance.id, 'delete')
# permanently delete all volumes in trash
trash = datacrunch_client.volumes.get_in_trash()
for volume in trash:
datacrunch_client.volumes.delete(volume.id, is_permanent=True)