def test_update_cache_from_populated(mock_slack): mock_slack.get_paginated_users.return_value = users_list_response update_user_cache() assert len(ExternalUser.objects.all()) == 2 update_user_cache() assert len(ExternalUser.objects.all()) == 2
def test_update_cache_new_user(mock_slack): mock_slack.get_paginated_users.side_effect = [ users_list_response, users_list_new ] update_user_cache() assert len(ExternalUser.objects.all()) == 2 update_user_cache() assert len(ExternalUser.objects.all()) == 3
def test_update_cache_pagination(mock_slack): def get_page(limit=0, cursor=None): if not cursor: return users_list_page_1 elif cursor == "page2": return users_list_page_2 mock_slack.get_paginated_users.side_effect = get_page update_user_cache() users = [user.display_name for user in ExternalUser.objects.all()] assert users == ["spengler", "Glinda the Fairly Good"]
def test_update_cache_from_empty(mock_slack): mock_slack.get_paginated_users.return_value = users_list_response update_user_cache() assert len(ExternalUser.objects.all()) == 2 cache_user1 = ExternalUser.objects.get(external_id="W012A3CDE") assert cache_user1.display_name == "spengler" assert cache_user1.full_name == "Egon Spengler" assert cache_user1.email == "*****@*****.**" assert cache_user1.deleted cache_user2 = ExternalUser.objects.get(external_id="U12345678") assert cache_user2.display_name == "Glinda the Fairly Good" assert cache_user2.full_name == "Glinda Southgood" assert cache_user2.email == "*****@*****.**" assert not cache_user2.deleted
def test_update_cache_excludes_bots(mock_slack): mock_slack.get_paginated_users.return_value = users_list_response update_user_cache(True) assert len(ExternalUser.objects.all()) == 1
def cron_daily(request): "Handles actions that need to take place every day" update_user_cache() return HttpResponse()