john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

google app engine fixtures testbed unit testing

# -*- 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()

  • « color
  • oxygen snapshot »

Published

Jun 1, 2013

Category

python-appengine

~76 words

Tags

  • appengine 18
  • engine 12
  • fixtures 1
  • google 18
  • python 180
  • testbed 1
  • testing 6
  • unit 3