'This test case checks create, edit, delete volume functionality:
Steps:
1. Login to Horizon Dashboard
2. Navigate to Project -> Compute -> Volumes page
3. Create new volume
4. Check that the volume is in the list
5. Check that no Error messages present
6. Edit the volume
7. Check that the volume is still in the list
8. Check that no Error messages present
9. Delete the volume via proper page (depends on user)
10. Check that the volume is absent in the list
11. Check that no Error messages present'

def test_volume_create_edit_delete(self):

    volumes_page = self.home_pg.go_to_compute_volumes_volumespage()
    volumes_page.create_volume(self.VOLUME_NAME)
    self.assertTrue(volumes_page.find_message_and_dismiss(messages.INFO))
    self.assertFalse(volumes_page.find_message_and_dismiss(messages.ERROR))
    self.assertTrue(volumes_page.is_volume_present(self.VOLUME_NAME))
    self.assertTrue(volumes_page.is_volume_status(self.VOLUME_NAME, 'Available'))
    new_name = ('edited_' + self.VOLUME_NAME)
    volumes_page.edit_volume(self.VOLUME_NAME, new_name, 'description')
    self.assertTrue(volumes_page.find_message_and_dismiss(messages.INFO))
    self.assertFalse(volumes_page.find_message_and_dismiss(messages.ERROR))
    self.assertTrue(volumes_page.is_volume_present(new_name))
    self.assertTrue(volumes_page.is_volume_status(new_name, 'Available'))
    volumes_page = self.volumes_page
    volumes_page.delete_volume(new_name)
    self.assertTrue(volumes_page.find_message_and_dismiss(messages.SUCCESS))
    self.assertFalse(volumes_page.find_message_and_dismiss(messages.ERROR))
    self.assertTrue(volumes_page.is_volume_deleted(new_name))
    if (not isinstance(self, helpers.AdminTestCase)):
        time.sleep(1)
        form = volumes_page.volumes_table.create_volume()
        form.cancel()
