mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
@@ -0,0 +1,29 @@
|
||||
"""Mocks used for testing."""
|
||||
|
||||
import httmock
|
||||
|
||||
|
||||
# Modoboa API mocks
|
||||
|
||||
@httmock.urlmatch(
|
||||
netloc=r"api\.modoboa\.org$", path=r"^/1/instances/search/", method="post")
|
||||
def modo_api_instance_search(url, request):
|
||||
"""Return empty response."""
|
||||
return {"status_code": 404}
|
||||
|
||||
|
||||
@httmock.urlmatch(
|
||||
netloc=r"api\.modoboa\.org$", path=r"^/1/instances/", method="post")
|
||||
def modo_api_instance_create(url, request):
|
||||
"""Simulate successful creation."""
|
||||
return {
|
||||
"status_code": 201,
|
||||
"content": {"pk": 100}
|
||||
}
|
||||
|
||||
|
||||
@httmock.urlmatch(
|
||||
netloc=r"api\.modoboa\.org$", path=r"^/1/instances/.+/", method="put")
|
||||
def modo_api_instance_update(url, request):
|
||||
"""Simulate successful update."""
|
||||
return {"status_code": 200}
|
||||
@@ -1,5 +1,8 @@
|
||||
"""Tests for core application."""
|
||||
|
||||
import httmock
|
||||
|
||||
from django.core import management
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.test import override_settings
|
||||
|
||||
@@ -8,6 +11,7 @@ from modoboa.lib import parameters
|
||||
from modoboa.lib.tests import ModoTestCase
|
||||
|
||||
from . import factories
|
||||
from . import mocks
|
||||
from . import models
|
||||
|
||||
|
||||
@@ -240,3 +244,15 @@ class APIAccessFormTestCase(ModoTestCase):
|
||||
self.ajax_post(url, {"enable_api_access": False})
|
||||
user = models.User.objects.get(username="admin")
|
||||
self.assertFalse(hasattr(user, "auth_token"))
|
||||
|
||||
|
||||
class APICommunicationTestCase(ModoTestCase):
|
||||
"""Check communication with the API."""
|
||||
|
||||
def test_management_command(self):
|
||||
"""Check command."""
|
||||
with httmock.HTTMock(
|
||||
mocks.modo_api_instance_search,
|
||||
mocks.modo_api_instance_create,
|
||||
mocks.modo_api_instance_update):
|
||||
management.call_command("communicate_with_public_api")
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
factory-boy>=2.4
|
||||
testfixtures==4.7.0
|
||||
|
||||
httmock==1.2.5
|
||||
|
||||
Reference in New Issue
Block a user