예제 #1
0
 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),
     ]
예제 #2
0
    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)
예제 #3
0
    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()
예제 #4
0
 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)
예제 #5
0
 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)