def setUpClass(cls): super(PermissionsHelpersTest, cls).setUpClass() cls.domain = 'export-permissions-test' cls.admin_domain = 'export-permissions-test-admin' cls.web_user = WebUser(username='******', domains=[cls.domain, cls.admin_domain]) cls.web_user.domain_memberships = [ DomainMembership(domain=cls.domain, role_id='MYROLE'), DomainMembership(domain=cls.admin_domain, is_admin=True) ] cls.permissions = Permissions()
def test_user_with_domain_membership(self, domain_membership_mock): couch_user = WebUser() domain_membership = DomainMembership() domain_membership_timezone = pytz.timezone('America/New_York') domain_membership.timezone = 'America/New_York' domain_membership_mock.return_value = domain_membership # if not override_global_tz self.assertEqual(get_timezone_for_user(couch_user, "test"), DOMAIN_TIMEZONE) # if override_global_tz domain_membership.override_global_tz = True self.assertEqual(get_timezone_for_user(couch_user, "test"), domain_membership_timezone)
def add_domain_membership(self, domain, **kwargs): for d in self.web_account.domain_memberships: if d.domain == domain: # membership already exists return self.web_account.domain_memberships.append( DomainMembership(domain=domain, **kwargs))
def setUpClass(cls): cls.domain = Domain.get_or_create_with_name(DOMAIN, is_active=True) cls.domain.commtrack_enabled = True cls.domain.save() cls.user = CommCareUser(domain=DOMAIN, domain_membership=DomainMembership( domain=DOMAIN, location_id='1')) cls.restore_user = cls.user.to_ota_restore_user()
def make_mobile_worker(cls, username, domain=None): domain = domain or cls.domain user = CommCareUser(username=username, domain=domain) user.domain_membership = DomainMembership(domain=domain) doc = user._doc doc['username.exact'] = doc['username'] UserESFake.save_doc(doc) return user
def setUpClass(cls): cls.domain = 'export-permissions-test' cls.web_user = WebUser(username='******', domains=[cls.domain]) cls.web_user.domain_memberships = [ DomainMembership(domain=cls.domain, role_id='MYROLE') ] cls.permissions = Permissions()
def test_user_looks_ok(self): self.assertTrue(user_looks_ok(self.commcare_user)) # bad self.commcare_user.domain_membership = DomainMembership(domain=self.domain) self.assertFalse(user_looks_ok(self.commcare_user)) # good self.commcare_user.domain_membership = DomainMembership(domain=self.domain, role_id='123') self.assertTrue(user_looks_ok(self.commcare_user)) # bad self.commcare_user.domain_membership = DomainMembership(domain=self.domain) self.assertFalse(user_looks_ok(self.commcare_user)) # good del self.commcare_user.user_data['commcare_project'] self.assertTrue(user_looks_ok(self.commcare_user))
def make_web_user(cls, email, domain=None): domain = domain or cls.domain domains = [domain] user = WebUser(username=email, domains=domains) user.domain_memberships = [DomainMembership(domain=domain)] doc = user._doc doc['username.exact'] = doc['username'] doc['base_username'] = email UserESFake.save_doc(doc) return user
def _mock_user(domain, permission_name, permission_allow): membership = DomainMembership(domain=domain) permissions = [] if permission_allow is not None: permissions = [PermissionInfo(permission_name, permission_allow)] mock_role = Mock(permissions=Permissions.from_permission_list(permissions)) # prime membership.role memoize cache (avoids DB lookup) setattr(membership, '_role_cache', {(): mock_role}) return WebUser(domain_memberships=[membership])
def setUpClass(cls): super().setUpClass() cls.domain = 'emwf-filter-output-test' cls.user = WebUser(username='******', domains=[cls.domain]) cls.user.domain_memberships = [ DomainMembership(domain=cls.domain, role_id='MYROLE') ] from corehq.apps.reports.tests.filters.user_list import dummy_user_list for user in dummy_user_list: user_obj = CouchUser.get_by_username(user['username']) if user_obj: user_obj.delete('') cls.user_list = [] for user in dummy_user_list: user_obj = CommCareUser.create(**user) if user['doc_type'] == 'CommcareUser'\ else WebUser.create(**user) user_obj.save() cls.user_list.append(user_obj)
def setUpClass(cls): super().setUpClass() cls.domain = 'case-list-test' cls.user = WebUser(username='******', domains=[cls.domain]) cls.user.domain_memberships = [ DomainMembership(domain=cls.domain, role_id='admin') ] UserRole.init_domain_with_presets(cls.domain) cls.request_factory = RequestFactory() from corehq.apps.reports.tests.data.case_list_report_data import ( dummy_case_list, dummy_user_list, ) for user in dummy_user_list: user_obj = CouchUser.get_by_username(user['username']) if user_obj: user_obj.delete('') cls.user_list = [] for user in dummy_user_list: user_obj = CommCareUser.create(**user) if user['doc_type'] == 'CommcareUser'\ else WebUser.create(**user) user_obj.save() cls.user_list.append(user_obj) cls.case_list = [] for case in dummy_case_list: cls.case_list.append(CommCareCase(**case)) cls.es = get_es_new() ensure_index_deleted(USER_INDEX) ensure_index_deleted(CASE_INDEX) initialize_index_and_mapping(cls.es, USER_INDEX_INFO) initialize_index_and_mapping(cls.es, CASE_INDEX_INFO) initialize_index_and_mapping(cls.es, GROUP_INDEX_INFO) cls._send_users_to_es() cls._send_cases_to_es()
from __future__ import print_function from __future__ import absolute_import from __future__ import unicode_literals import json from couchdbkit import ResourceNotFound from django.core.management.base import BaseCommand, CommandError from corehq.apps.change_feed.consumer.feed import KafkaChangeFeed from corehq.apps.change_feed.topics import COMMCARE_USER, get_multi_topic_offset, \ get_multi_topic_first_available_offsets from corehq.apps.users.models import DomainMembership, CommCareUser from corehq.util.decorators import change_log_level from six.moves import input defaults = DomainMembership().to_json() del defaults['domain'] extra_keys = ['first_name', 'last_name', 'user_data'] class Command(BaseCommand): help = "See http://manage.dimagi.com/default.asp?245969 for context" def add_arguments(self, parser): parser.add_argument( '--offset-start', type=int, default=-1, help= 'Kafka offset to start from. Defaults to first available offset') parser.add_argument(
def _reset_domain_membership(self): self.commcare_user.domain_membership = DomainMembership(domain=self.domain) self.commcare_user.save() self.assertFalse(user_looks_ok(self.commcare_user))
def _mk_web_user(domains): return WebUser(domains=domains, domain_memberships=[ DomainMembership(domain=domain) for domain in domains ])
def _mk_user(domain): return CommCareUser(domain=domain, domain_membership=DomainMembership(domain=domain))