def apply_user_corrections(self, user_corrections_iterator): for user_correction in user_corrections_iterator: stored_user = user_processor.load_user( self, user_id=user_correction['user_id']) updated_user = user_processor.update_user_profile( stored_user, user_correction, is_correction=True) user_processor.store_user(self, updated_user)
def test_update_user(self): user = { "launchpad_id": "user", "companies": [ { "company_name": "Rackspace", "end_date": "2011-Nov-20" }, { "company_name": "IBM", "end_date": None } ], "user_name": "John Smith", "emails": ["*****@*****.**"] } stored_user = { "launchpad_id": "user", "companies": [ { "company_name": "Rackspace", "end_date": "2011-Nov-20" }, { "company_name": "IBM", "end_date": None } ], "user_name": "Johnny", "emails": ["*****@*****.**", "*****@*****.**"], "static": True } updated_user = user_processor.update_user_profile(stored_user, user) # merge emails from profile with those discovered by Stackalytics self.assertEqual(set(stored_user['emails']), set(updated_user['emails'])) # name from the profile has higher priority over mined self.assertEqual(user['user_name'], updated_user['user_name']) # static flag must present self.assertTrue(updated_user.get('static'))
def test_update_user(self): user = { "launchpad_id": "user", "companies": [{ "company_name": "Rackspace", "end_date": "2011-Nov-20" }, { "company_name": "IBM", "end_date": None }], "user_name": "John Smith", "emails": ["*****@*****.**"] } stored_user = { "launchpad_id": "user", "companies": [{ "company_name": "Rackspace", "end_date": "2011-Nov-20" }, { "company_name": "IBM", "end_date": None }], "user_name": "Johnny", "emails": ["*****@*****.**", "*****@*****.**"], "static": True } updated_user = user_processor.update_user_profile(stored_user, user) # merge emails from profile with those discovered by Stackalytics self.assertEqual(set(stored_user['emails']), set(updated_user['emails'])) # name from the profile has higher priority over mined self.assertEqual(user['user_name'], updated_user['user_name']) # static flag must present self.assertTrue(updated_user.get('static'))
def test_update_user_unknown_user(self): user = { "launchpad_id": "user", "companies": [{ "company_name": "Rackspace", "end_date": "2011-Nov-20" }, { "company_name": "IBM", "end_date": None }], "user_name": "John Smith", "emails": ["*****@*****.**"] } stored_user = None updated_user = user_processor.update_user_profile(stored_user, user) self.assertTrue(updated_user.get('static'))
def test_update_user_unknown_user(self): user = { "launchpad_id": "user", "companies": [ { "company_name": "Rackspace", "end_date": "2011-Nov-20" }, { "company_name": "IBM", "end_date": None } ], "user_name": "John Smith", "emails": ["*****@*****.**"] } stored_user = None updated_user = user_processor.update_user_profile(stored_user, user) self.assertTrue(updated_user.get('static'))
def test_update_user_with_correction(self): user_correction = { "user_id": "user", "correction_comment": "Reset emails", "emails": ["*****@*****.**"] } stored_user = { "launchpad_id": "user", "companies": [{ "company_name": "Rackspace", "end_date": "2011-Nov-20" }, { "company_name": "IBM", "end_date": None }], "user_name": "Johnny", "emails": ["*****@*****.**"], "corrections": ["Old correction"], "static": True } updated_user = user_processor.update_user_profile(stored_user, user_correction, is_correction=True) # reset emails from correction self.assertEqual(set(user_correction['emails']), set(updated_user['emails'])) # save correction history self.assertEqual(updated_user['corrections'], ["Old correction", "Reset emails"]) # static flag must present self.assertTrue(updated_user.get('static'))
def _store_users(runtime_storage_inst, users): for user in users: stored_user = user_processor.load_user(runtime_storage_inst, user_id=user['user_id']) updated_user = user_processor.update_user_profile(stored_user, user) user_processor.store_user(runtime_storage_inst, updated_user)