Adds to Melange a tags framework based on taggable-mixin.
The taggable-mixin allowed only tag per Datastore model. This is extended
framework allows any arbitrary number of tags per Datastore model. Also,
now one can define different models for different Tag types which are all
inherited from the base Tag model provided by taggable-mixin.
The GHOPTask model makes use of 2 tags per model, one for difficulty and the
other for task_type, both using the tags framework.
Reviewed by: Paweł Sołyga
Mox is an open source mock object framework for Python, inspired by
the Java library EasyMock.
To install:
$ python setup.py install
To run Mox's internal tests:
$ python mox_test.py
Basic usage:
import unittest
import mox
class PersonTest(mox.MoxTestBase):
def testUsingMox(self):
# Create a mock Person
mock_person = self.mox.CreateMock(Person)
test_person = ...
test_primary_key = ...
unknown_person = ...
# Expect InsertPerson to be called with test_person; return
# test_primary_key at that point
mock_person.InsertPerson(test_person).AndReturn(test_primary_key)
# Raise an exception when this is called
mock_person.DeletePerson(unknown_person).AndRaise(UnknownPersonError())
# Switch from record mode to replay mode
self.mox.ReplayAll()
# Run the test
ret_pk = mock_person.InsertPerson(test_person)
self.assertEquals(test_primary_key, ret_pk)
self.assertRaises(UnknownPersonError, mock_person, unknown_person)
For more documentation, see:
http://code.google.com/p/pymox/wiki/MoxDocumentation
For more information, see:
http://code.google.com/p/pymox/
Our user and developer discussion group is:
http://groups.google.com/group/mox-discuss
Mox is Copyright 2008 Google Inc, and licensed under the Apache
License, Version 2.0; see the file COPYING for details. If you would
like to help us improve Mox, join the group.