tests/test_utils.py
author Mario Ferraro <fadinlight@gmail.com>
Sun, 15 Nov 2009 22:12:20 +0100
changeset 3093 d1be59b6b627
parent 2914 4f821debda33
permissions -rw-r--r--
GMaps related JS changed to use new google namespace. Google is going to change permanently in the future the way to load its services, so better stay safe. Also this commit shows uses of the new melange.js module. Fixes Issue 634.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
419
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/python2.5
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
     2
#
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
     3
# Copyright 2008 the Melange authors.
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
     4
#
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
     5
# Licensed under the Apache License, Version 2.0 (the "License");
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
     6
# you may not use this file except in compliance with the License.
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
     7
# You may obtain a copy of the License at
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
     8
#
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
     9
#   http://www.apache.org/licenses/LICENSE-2.0
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    10
#
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    11
# Unless required by applicable law or agreed to in writing, software
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    12
# distributed under the License is distributed on an "AS IS" BASIS,
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    13
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    14
# See the License for the specific language governing permissions and
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    15
# limitations under the License.
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    16
"""Common testing utilities.
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    17
"""
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    18
1765
2c7137e62a01 Add missing blank lines in test_utils module.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 1689
diff changeset
    19
419
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    20
__authors__ = [
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    21
  '"Augie Fackler" <durin42@gmail.com>',
2914
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    22
  '"Sverre Rabbelier" <sverre@rabbelier.nl>',
419
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    23
  ]
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    24
1765
2c7137e62a01 Add missing blank lines in test_utils module.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 1689
diff changeset
    25
2914
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    26
from soc.modules import callback
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    27
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    28
419
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    29
class MockRequest(object):
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    30
  """Shared dummy request object to mock common aspects of a request.
2914
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    31
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    32
  Before using the object, start should be called, when done (and
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    33
  before calling start on a new request), end should be called.
419
e9280ea935e4 Start a test system for the webapp itself.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    34
  """
2914
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    35
1689
72dd9688627c Add path to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 419
diff changeset
    36
  def __init__(self, path=None):
2914
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    37
    """Creates a new empty request object.
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    38
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    39
    self.REQUEST, self.GET and self.POST are set to an empty
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    40
    dictionary, and path to the value specified.
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    41
    """
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    42
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    43
    self.REQUEST = {}
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    44
    self.GET = {}
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    45
    self.POST = {}
1689
72dd9688627c Add path to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 419
diff changeset
    46
    self.path = path
2914
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    47
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    48
  def start(self):
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    49
    """Readies the core for a new request.
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    50
    """
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    51
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    52
    core = callback.getCore()
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    53
    core.startNewRequest(self)
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    54
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    55
  def end(self):
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    56
    """Finishes up the current request.
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    57
    """
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    58
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    59
    core = callback.getCore()
4f821debda33 Add a start and end method to MockRequest
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1765
diff changeset
    60
    core.endRequest(self, False)