On 6/14/07, Andrew <[EMAIL PROTECTED]> wrote: > I've since come across the Fixture library (http://code.google.com/p/ > fixture/) which solves the problem of creating and loading fixtures > and I am trying to see if I can use this from within Turbogears. Has > any one had any experience of using this?
Yes you *should* be able to use fixture from within TurboGears. But you'll have to take this with a grain of salt since 1) I'm not very familiar with TurboGears and 2) I haven't tested this code. I took an example from the docs and wrote some code using the fixture module to accomplish more or less the same thing. Let me know if you have questions or if it doesn't work ;) """example using fixture to accomplish the equivalent of the Turbo Gears example from Testing Your Model - http://docs.turbogears.org/1.0/Testing """ from turbogears import testutil from projectname import model from fixture import DataSet, SQLObjectFixture from turbogears import database database.set_db_uri("sqlite:///:memory:") # this loads a row of data just like the docs do with test_name() class MyUrlData(DataSet): class tg_url: name="TurboGears" link="http://www.turbogears.com" description="cool python web framework" # this creates a fixture object, which is sort of like importing a python module : db_fixture = SQLObjectFixture( # this says to load the MyUrlData rows using the sqlobject named MyURL : env={'MyUrlData': MyUrl}, # the dsn from above (note that this works because SO pools connections) : dsn="sqlite:///:memory:") class TestMyURL(testutil.DBTest): model = model def setUp(self): super(TestMyURL, self).setUp() self.data = db_fixture.data(MyUrlData) self.data.setup() def tearDown(self): super(TestMyURL, self).tearDown() self.data.teardown() def test_name(self): entry = model.MyUrl.select()[0] assert entry.name==self.data.tg_url.name # i.e. TurboGears def test_model_reset(self): # this might fail? I'm not sure what was resets the model entry = list(model.MyUrl.select()) assert len(entry) is 0 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TurboGears" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/turbogears?hl=en -~----------~----~----~----~------~----~------~--~---

