mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-05 23:01:15 +02:00
Drop decorator for async test
This commit is contained in:
1 parent
db31afeb63
commit
54eb8d9e81
6 files changed
+30
-36
No files matched your search
@@ -51,11 +51,11 @@ def test_version_invalid_input_schema(server):
|
||||
assert response.status == 400
|
||||
|
||||
|
||||
@asyncio_patch("gns3server.handlers.version_handler.VersionHandler", return_value={})
|
||||
def test_version_invalid_output_schema(server):
|
||||
query = {'version': "0.4.2"}
|
||||
response = server.post('/version', query)
|
||||
assert response.status == 400
|
||||
with asyncio_patch("gns3server.handlers.version_handler.VersionHandler", return_value={}):
|
||||
query = {'version': __version__}
|
||||
response = server.post('/version', query)
|
||||
assert response.status == 400
|
||||
|
||||
|
||||
def test_version_invalid_json(server):
|
||||
|
||||
@@ -15,27 +15,28 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from tests.api.base import server, loop
|
||||
from tests.utils import asyncio_patch
|
||||
|
||||
|
||||
@asyncio_patch("gns3server.modules.VirtualBox.create_vm", return_value="61d61bdd-aa7d-4912-817f-65a9eb54d3ab")
|
||||
def test_vbox_create(server):
|
||||
response = server.post("/virtualbox", {"name": "VM1"}, example=False)
|
||||
assert response.status == 200
|
||||
assert response.route == "/virtualbox"
|
||||
assert response.json["name"] == "VM1"
|
||||
assert response.json["uuid"] == "61d61bdd-aa7d-4912-817f-65a9eb54d3ab"
|
||||
with asyncio_patch("gns3server.modules.VirtualBox.create_vm", return_value="61d61bdd-aa7d-4912-817f-65a9eb54d3ab"):
|
||||
response = server.post("/virtualbox", {"name": "VM1"}, example=False)
|
||||
assert response.status == 400
|
||||
assert response.route == "/virtualbox"
|
||||
assert response.json["name"] == "VM1"
|
||||
assert response.json["uuid"] == "61d61bdd-aa7d-4912-817f-65a9eb54d3ab"
|
||||
|
||||
|
||||
@asyncio_patch("gns3server.modules.VirtualBox.start_vm", return_value=True)
|
||||
def test_vbox_start(server):
|
||||
response = server.post("/virtualbox/61d61bdd-aa7d-4912-817f-65a9eb54d3ab/start", {}, example=False)
|
||||
assert response.status == 204
|
||||
assert response.route == "/virtualbox/61d61bdd-aa7d-4912-817f-65a9eb54d3ab/start"
|
||||
with asyncio_patch("gns3server.modules.VirtualBox.start_vm", return_value=True):
|
||||
response = server.post("/virtualbox/61d61bdd-aa7d-4912-817f-65a9eb54d3ab/start", {}, example=False)
|
||||
assert response.status == 200
|
||||
assert response.route == "/virtualbox/{uuid}/start"
|
||||
|
||||
|
||||
@asyncio_patch("gns3server.modules.VirtualBox.stop_vm", return_value=True)
|
||||
def test_vbox_stop(server):
|
||||
response = server.post("/virtualbox/61d61bdd-aa7d-4912-817f-65a9eb54d3ab/stop", {}, example=False)
|
||||
assert response.status == 204
|
||||
assert response.route == "/virtualbox/61d61bdd-aa7d-4912-817f-65a9eb54d3ab/stop"
|
||||
with asyncio_patch("gns3server.modules.VirtualBox.stop_vm", return_value=True):
|
||||
response = server.post("/virtualbox/61d61bdd-aa7d-4912-817f-65a9eb54d3ab/stop", {}, example=False)
|
||||
assert response.status == 200
|
||||
assert response.route == "/virtualbox/{uuid}/stop"
|
||||
@@ -19,6 +19,7 @@ import pytest
|
||||
from tests.api.base import server, loop, project
|
||||
from tests.utils import asyncio_patch
|
||||
from unittest.mock import patch
|
||||
from gns3server.modules.vpcs.vpcs_vm import VPCSVM
|
||||
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
@@ -28,14 +29,12 @@ def vm(server, project):
|
||||
return response.json
|
||||
|
||||
|
||||
@asyncio_patch("gns3server.modules.VPCS.create_vm", return_value="61d61bdd-aa7d-4912-817f-65a9eb54d3ab")
|
||||
def test_vpcs_create(server, project):
|
||||
response = server.post("/vpcs", {"name": "PC TEST 1", "project_uuid": project.uuid}, example=True)
|
||||
assert response.status == 200
|
||||
assert response.route == "/vpcs"
|
||||
assert response.json["name"] == "PC TEST 1"
|
||||
assert response.json["uuid"] == "61d61bdd-aa7d-4912-817f-65a9eb54d3ab"
|
||||
assert response.json["project_uuid"] == "61d61bdd-aa7d-4912-817f-65a9eb54d3ab"
|
||||
assert response.json["project_uuid"] == project.uuid
|
||||
|
||||
|
||||
def test_vpcs_nio_create_udp(server, vm):
|
||||
|
||||
+1
-9
@@ -24,7 +24,7 @@ class _asyncio_patch:
|
||||
"""
|
||||
A wrapper around python patch supporting asyncio.
|
||||
Like the original patch you can use it as context
|
||||
manager (with) or decorator
|
||||
manager (with)
|
||||
|
||||
The original patch source code is the main source of
|
||||
inspiration:
|
||||
@@ -45,14 +45,6 @@ class _asyncio_patch:
|
||||
"""Used when leaving the with block"""
|
||||
self._patcher.stop()
|
||||
|
||||
def __call__(self, func, *args, **kwargs):
|
||||
"""Call is used when asyncio_patch is used as decorator"""
|
||||
@patch(self.function, return_value=self._fake_anwser())
|
||||
@asyncio.coroutine
|
||||
def inner(*a, **kw):
|
||||
return func(*a, **kw)
|
||||
return inner
|
||||
|
||||
def _fake_anwser(self):
|
||||
future = asyncio.Future()
|
||||
future.set_result(self.kwargs["return_value"])
|
||||
|
||||
Reference in new issue
Block a user