Skip to content

Commit

Permalink
Merge branch 'main' into added-mocked-test-databases-4
Browse files Browse the repository at this point in the history
  • Loading branch information
work-mohit authored Oct 2, 2023
2 parents 96961d2 + 7d8bbf2 commit ddfa96f
Showing 1 changed file with 198 additions and 0 deletions.
198 changes: 198 additions & 0 deletions tests/mocked/test_block_storage.py
Original file line number Diff line number Diff line change
Expand Up @@ -329,3 +329,201 @@ def test_block_storage_snapshots_create(mock_client: Client, mock_client_url):
)

assert create_resp == expected


@responses.activate
def test_volume_actions_get(mock_client: Client, mock_client_url):
"""Tests to retrieve the status of a volume action"""
expected = {
"action": {
"id": 72531856,
"status": "completed",
"type": "attach_volume",
"started_at": "2020-11-12T17:51:03Z",
"completed_at": "2020-11-12T17:51:14Z",
"resource_type": "volume",
"region": {
"name": "New York 1",
"slug": "nyc1",
"sizes": [
"s-1vcpu-1gb",
"s-1vcpu-2gb",
"s-1vcpu-3gb",
"s-2vcpu-2gb",
"s-3vcpu-1gb",
"s-2vcpu-4gb",
"s-4vcpu-8gb",
"s-6vcpu-16gb",
"s-8vcpu-32gb",
"s-12vcpu-48gb",
"s-16vcpu-64gb",
"s-20vcpu-96gb",
"s-24vcpu-128gb",
"s-32vcpu-192gb",
],
"features": ["private_networking", "backups", "ipv6", "metadata"],
"available": True,
},
"region_slug": "nyc1",
}
}

responses.add(
responses.GET,
f"{mock_client_url}/v2/volumes/7724db7c/actions/72531856",
json=expected,
status=200,
)

get_resp = mock_client.volume_actions.get(
volume_id="7724db7c", action_id="72531856"
)

assert get_resp == expected


@responses.activate
def test_volume_actions_list(mock_client: Client, mock_client_url):
"""Tests retrieving all actions that have been executed on a volume"""
expected = {
"actions": [
{
"id": 72531856,
"status": "completed",
"type": "attach_volume",
"started_at": "2020-11-21T21:51:09Z",
"completed_at": "2020-11-21T21:51:09Z",
"resource_type": "volume",
"region": {
"name": "New York 1",
"slug": "nyc1",
"sizes": [
"s-1vcpu-1gb",
"s-1vcpu-2gb",
"s-1vcpu-3gb",
"s-2vcpu-2gb",
"s-3vcpu-1gb",
"s-2vcpu-4gb",
"s-4vcpu-8gb",
"s-6vcpu-16gb",
"s-8vcpu-32gb",
"s-12vcpu-48gb",
"s-16vcpu-64gb",
"s-20vcpu-96gb",
"s-24vcpu-128gb",
"s-32vcpu-192gb",
],
"features": ["private_networking", "backups", "ipv6", "metadata"],
"available": True,
},
"region_slug": "nyc1",
}
],
"links": {},
"meta": {"total": 1},
}

responses.add(
responses.GET,
f"{mock_client_url}/v2/volumes/7724db7c/actions",
json=expected,
status=200,
)

get_resp = mock_client.volume_actions.list(volume_id="7724db7c")

assert get_resp == expected


@responses.activate
def test_volume_actions_post(mock_client: Client, mock_client_url):
"""Tests to initiate an action on a block storage volume by Name"""
expected = {
"action": {
"id": 72531856,
"status": "completed",
"type": "attach_volume",
"started_at": "2020-11-12T17:51:03Z",
"completed_at": "2020-11-12T17:51:14Z",
"resource_type": "volume",
"region": {
"name": "New York 1",
"slug": "nyc1",
"sizes": [
"s-1vcpu-1gb",
"s-1vcpu-2gb",
"s-1vcpu-3gb",
"s-2vcpu-2gb",
"s-3vcpu-1gb",
"s-2vcpu-4gb",
"s-4vcpu-8gb",
"s-6vcpu-16gb",
"s-8vcpu-32gb",
"s-12vcpu-48gb",
"s-16vcpu-64gb",
"s-20vcpu-96gb",
"s-24vcpu-128gb",
"s-32vcpu-192gb",
],
"features": ["private_networking", "backups", "ipv6", "metadata"],
"available": True,
},
"region_slug": "nyc1",
}
}

post_body = {
"type": "attach",
"volume_name": "example",
"droplet_id": 11612190,
"region": "nyc1",
"tags": ["aninterestingtag"],
}

responses.add(
responses.POST,
f"{mock_client_url}/v2/volumes/actions",
json=expected,
status=202,
)

create_resp = mock_client.volume_actions.post(body=post_body)

assert create_resp == expected


@responses.activate
def test_volume_actions_post_by_id(mock_client: Client, mock_client_url):
"""Tests to initiate an action on a block storage volume by Id"""
expected = {
"action": {
"id": 72531856,
"status": "completed",
"type": "attach_volume",
"started_at": "2020-11-12T17:51:03Z",
"completed_at": "2020-11-12T17:51:14Z",
"resource_type": "volume",
"region": {},
"region_slug": "nyc1",
}
}

post_body = {
"type": "attach",
"droplet_id": 11612190,
"region": "nyc1",
"tags": ["aninterestingtag"],
}

responses.add(
responses.POST,
f"{mock_client_url}/v2/volumes/7724db7c/actions",
json=expected,
status=202,
)

create_resp = mock_client.volume_actions.post_by_id(
volume_id="7724db7c", body=post_body
)

assert create_resp == expected

0 comments on commit ddfa96f

Please sign in to comment.