Beispiel #1
0
 def tearDownClass(cls):
     GroupStagingTable.clear_records()
     UserStagingTable.clear_records()
     GroupDim.clear_records()
     UserDim.clear_records()
     UserGroupDim.clear_records()
     super(TestUserGroupDim, cls).tearDownClass()
Beispiel #2
0
    def test_insert_and_update(self):
        DomainMembershipDim.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
        UserStagingTable.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
                                       },
                                   ])
        DomainMembershipDim.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)
Beispiel #3
0
    def tearDownClass(cls):
        for user in cls.user_records:
            user.delete()

        for domain in cls.domain_records:
            domain.delete()

        FormProcessorTestUtils.delete_all_sql_forms(cls.domain)

        DomainStagingTable.clear_records()
        DomainDim.clear_records()
        UserStagingTable.clear_records()
        UserDim.clear_records()
        FormStagingTable.clear_records()
        FormFact.clear_records()
    def tearDownClass(cls):
        for user in cls.user_records:
            user.delete()

        for domain in cls.domain_records:
            domain.delete()

        FormProcessorTestUtils.delete_all_sql_forms(cls.domain)

        FormStagingTable.clear_records()
        FormFact.clear_records()
        DomainStagingTable.clear_records()
        DomainDim.clear_records()
        UserStagingTable.clear_records()
        UserDim.clear_records()
        super(FormFactIntegrationTest, cls).tearDownClass()
Beispiel #5
0
def create_user_staging_record(domain,
                               user_id=None,
                               username=None,
                               doc_type=None,
                               base_doc=None):
    record = UserStagingTable(
        user_id=user_id or uuid.uuid().hex,
        username=username or 'user-staging',
        doc_type=doc_type or 'CommCareUser',
        base_doc=base_doc or 'CouchUser',
        domain=domain,
        is_active=True,
        is_staff=False,
        is_superuser=False,
        date_joined=datetime.utcnow(),
    )
    record.save()
    return record
Beispiel #6
0
    def test_loading_form_fact(self):
        batch = self.batch

        DomainStagingTable.commit(batch)
        self.assertEqual(DomainStagingTable.objects.count(), len(self.domain_records))

        DomainDim.commit(batch)
        self.assertEqual(DomainDim.objects.count(), len(self.domain_records))

        UserStagingTable.commit(batch)
        self.assertEqual(UserStagingTable.objects.count(), len(self.user_records))

        UserDim.commit(batch)
        self.assertEqual(UserDim.objects.count(), len(self.user_records))

        FormStagingTable.commit(batch)
        self.assertEqual(FormStagingTable.objects.count(), len(self.form_records))

        FormFact.commit(batch)
        self.assertEqual(FormFact.objects.count(), len(self.form_records))
Beispiel #7
0
def create_user_staging_record(
        domain,
        user_id=None,
        username=None,
        doc_type=None,
        base_doc=None,
        batch_id=None,
        domain_memberships=None):
    record = UserStagingTable(
        user_id=user_id or uuid.uuid4().hex,
        username=username or 'user-staging',
        doc_type=doc_type or 'CommCareUser',
        base_doc=base_doc or 'CouchUser',
        domain=domain,
        is_active=True,
        is_staff=False,
        is_superuser=False,
        date_joined=datetime.utcnow(),
        batch_id=batch_id,
        domain_memberships=domain_memberships,
    )
    record.save()
    return record
Beispiel #8
0
    def test_loading_form_fact(self):
        start = datetime.utcnow() - timedelta(days=3)
        end = datetime.utcnow() + timedelta(days=3)

        DomainStagingTable.commit(start, end)
        self.assertEqual(DomainStagingTable.objects.count(),
                         len(self.domain_records))

        DomainDim.commit(start, end)
        self.assertEqual(DomainDim.objects.count(), len(self.domain_records))

        UserStagingTable.commit(start, end)
        self.assertEqual(UserStagingTable.objects.count(),
                         len(self.user_records))

        UserDim.commit(start, end)
        self.assertEqual(UserDim.objects.count(), len(self.user_records))

        FormStagingTable.commit(start, end)
        self.assertEqual(FormStagingTable.objects.count(),
                         len(self.form_records))

        FormFact.commit(start, end)
        self.assertEqual(FormFact.objects.count(), len(self.form_records))
Beispiel #9
0
 def tearDownClass(cls):
     for record in cls.records:
         record.delete()
     UserDim.clear_records()
     UserStagingTable.clear_records()
     super(TestUserDim, cls).tearDownClass()
Beispiel #10
0
 def tearDownClass(cls):
     DomainMembershipDim.clear_records()
     UserDim.clear_records()
     UserStagingTable.clear_records()
     super(TestDomainMembershipDim, cls).tearDownClass()