def test_state(self): dsm = DatastoreManager() state_repo = StateRepository(dsm) state_repo.start() state_repo1 = StateRepository(dsm) state1 = {'key':'value1'} state_repo.put_state("id1", state1) state2, state_obj2 = state_repo.get_state("id1") self.assertEquals(state1, state2) self.assertEquals(state_obj2.state, state2) self.assertTrue(state_obj2.ts) self.assertTrue(state_obj2._rev) self.assertEquals(state_obj2._id, "id1") state3 = {'key':'value2', 'key2': {}} state_repo.put_state("id1", state3) state4, state_obj4 = state_repo.get_state("id1") self.assertEquals(state3, state4) # Test persisting with a prior state object to save a read state5 = {'key':'value5', 'key2': {}} state_repo.put_state("id1", state5, state_obj=state_obj4) state6, state_obj6 = state_repo.get_state("id1") self.assertEquals(state5, state6) # Test that using an old state object will not screw up state7 = {'key':'value7', 'key2': {}} state_repo.put_state("id1", state7, state_obj=state_obj4)