def test_generate_unique_mcdi_form_id(self): self.mox.StubOutWithMock(db_util, 'get_parent_form_by_id') db_util.get_parent_form_by_id(mox.IsA(basestring)).AndReturn(True) db_util.get_parent_form_by_id(mox.IsA(basestring)).AndReturn(True) db_util.get_parent_form_by_id(mox.IsA(basestring)).AndReturn(None) self.mox.ReplayAll() parent_account_util.generate_unique_mcdi_form_id()
def generate_unique_mcdi_form_id(): """Generate a unique random parent MCDI form ID. Generate a new parent MCDI form ID that is not currently in use by other MCDI forms and is unpredictable given previous IDs. @return: The newly generated form ID. @rtype: str """ found = False ret_id = None while not found: ret_id = user_util.generate_password().lower() found = db_util.get_parent_form_by_id(ret_id) == None return ret_id