# -*- coding: utf-8 -*-
import pytest
from google.appengine.ext import testbed # Make sure GAE libraries are in your PYTHONPATH , https://developers.google.com/appengine/docs/python/tools/localunittesting
from google.appengine.ext.webapp import Request, Response # Make sure GAE libraries are in your PYTHONPATH
class AppEngineFixture():
def __init__(self, request):
self.setup(request)
def setup(self, request):
self.test_env = testbed.Testbed()
self.test_env.activate()
self.test_env.init_datastore_v3_stub()
self.test_env.init_taskqueue_stub(True)
self.test_env.init_memcache_stub()
self.test_env.init_user_stub()
self.test_env.init_app_identity_stub(enable=True)
# self.test_env.init_all_stubs( enable=True)
request.addfinalizer(self.teardown)
def teardown(self):
self.test_env.deactivate()
@pytest.fixture
def mock_gae(request):
return AppEngineFixture(request)
def create_mock_request():
return Request.blank('')
@pytest.fixture
def mock_request():
return create_mock_request()
def create_mock_response():
return Response()
@pytest.fixture
def mock_response():
return create_mock_response()