def setUpClass(cls): super(TestUserDim, cls).setUpClass() cls.batch = create_batch(cls.slug) cls.records = [ create_user_staging_record(cls.domain, user_id=SYSTEM_USER_ID, username='******', batch_id=cls.batch.id), create_user_staging_record(cls.domain, user_id=DEMO_USER_ID, username='******', batch_id=cls.batch.id), create_user_staging_record(cls.domain, user_id=COMMTRACK_USERNAME, username='******', batch_id=cls.batch.id), create_user_staging_record(None, user_id='beeboobop', username='******', doc_type='WebUser', batch_id=cls.batch.id), create_user_staging_record(cls.domain, user_id='greengoblin', username='******', batch_id=cls.batch.id), ]
def test_insert_and_update(self): DomainMembershipDimLoader().commit(self.batch) # should create 4 domain membership columns self.assertEqual(DomainMembershipDim.objects.count(), 4) # 'u3' user should have 2 membership columns for each of the domain dim_id_of_user3 = UserDim.objects.filter(user_id='u3')[0].id self.assertEqual( DomainMembershipDim.objects.filter( user_dim_id=dim_id_of_user3).count(), 2) ## test removing a domain membership # clear and add new staging record to remove a membership of 2 UserStagingLoader().clear_records() create_user_staging_record(domain=None, username='******', user_id='u3', doc_type='WebUser', batch_id=self.batch.id, domain_memberships=[ { 'domain': 'test1', 'is_admin': True }, ]) DomainMembershipDimLoader().commit(self.batch) # should create 3 domain membership columns instead of 4 self.assertEqual(DomainMembershipDim.objects.count(), 3) # u3 user should have only 1 domain-membership dim_id_of_user3 = UserDim.objects.filter(user_id='u3')[0].id self.assertEqual( DomainMembershipDim.objects.filter( user_dim_id=dim_id_of_user3).count(), 1)
def setUpClass(cls): super(TestUserGroupDim, cls).setUpClass() cls.blue_dog = create_user_staging_record(cls.domain, username='******') cls.black_dog = create_user_staging_record(cls.domain, username='******') cls.yellow_cat = create_user_staging_record(cls.domain, username='******') cls.batch = get_default_batch()
def setUpClass(cls): super(TestUserGroupDim, cls).setUpClass() cls.batch = create_batch(cls.slug) cls.blue_dog = create_user_staging_record(cls.domain, username='******', batch_id=cls.batch.id) cls.black_dog = create_user_staging_record(cls.domain, username='******', batch_id=cls.batch.id) cls.yellow_cat = create_user_staging_record(cls.domain, username='******', batch_id=cls.batch.id)
def bootstrap_user_staging(cls): create_user_staging_record( domain='test1', user_id='u1', username='******', doc_type='CommCareUser', batch_id=cls.batch.id, ) create_user_staging_record( domain='test1', user_id='u2', username='******', doc_type='CommCareUser', batch_id=cls.batch.id, ) create_user_staging_record(domain=None, username='******', user_id='u3', doc_type='WebUser', batch_id=cls.batch.id, domain_memberships=[ { 'domain': 'test1', 'is_admin': True }, { 'domain': 'test2', 'is_admin': False }, ]) UserDimLoader().commit(cls.batch)