Пример #1
0
    def setUp(self):
        self.migration = Migrator(
            slug='user_db_migration',
            source_db_name=None,
            target_db_name=settings.NEW_USERS_GROUPS_DB,
            doc_types=(
                'Group',
                'CommCareUser',
            )
        )
        delete_all_docs_by_doc_type(self.migration.source_db, self.migration.doc_types)
        self.migration.target_db.delete_docs(_get_non_design_docs(self.migration.target_db))

        self.docs = [
            {'doc_type': 'CommCareUser', 'username': '******'},
            {'doc_type': 'CommCareUser', 'username': '******',
             '_attachments': {
                 "greeting.txt": {
                     "content_type": "text/plain", "data": base64.b64encode("hi"),
                     "digest": "md5-QTVOnBwGnrw6Tx9YG1ZRyA==", "revpos": 1,
                 }
             }},
            {'doc_type': 'Group', 'name': 'User Group'},
            {'doc_type': 'Group-Deleted', 'name': 'Deleted User Group'},
        ]
        results = self.migration.source_db.bulk_save(self.docs)
        for doc, result in zip(self.docs, results):
            doc['_id'] = result['id']
            doc['_rev'] = result['rev']
        _sort_by_doc_id(self.docs)
Пример #2
0
    def setUp(self):
        super(TestDocTypeMigrations, self).setUp()
        self.migration = Migrator(
            slug='user_db_migration',
            source_db_name=None,
            target_db_name=settings.NEW_USERS_GROUPS_DB,
            doc_types=(
                'Group',
                'CommCareUser',
            )
        )
        delete_all_docs_by_doc_type(self.migration.source_db, self.migration.doc_types)
        self.migration.target_db.delete_docs(_get_non_design_docs(self.migration.target_db))

        self.docs = [
            {'doc_type': 'CommCareUser', 'username': '******'},
            {'doc_type': 'CommCareUser', 'username': '******'},
            {'doc_type': 'Group', 'name': 'User Group'},
            {'doc_type': 'Group-Deleted', 'name': 'Deleted User Group'},
        ]
        results = self.migration.source_db.bulk_save(self.docs)
        for doc, result in zip(self.docs, results):
            doc['_id'] = result['id']
            doc['_rev'] = result['rev']
        _sort_by_doc_id(self.docs)
Пример #3
0
def delete_all_locations():
    ids = [
        doc['id'] for doc in
        SupplyPointCase.get_db().view('supply_point_by_loc/view', reduce=False).all()
    ]
    iter_bulk_delete(SupplyPointCase.get_db(), ids)
    delete_all_docs_by_doc_type(Location.get_db(), ['Location'])
    SQLLocation.objects.all().delete()
Пример #4
0
 def phase_3_clean_up(self):
     try:
         os.remove(self.data_dump_filename)
     except OSError:
         logging.warning('tried to remove file {}, but it was not there'
                         .format(self.data_dump_filename))
     delete_all_docs_by_doc_type(self.source_db, self.doc_types)
     self._migration_model.cleanup_complete = True
     self._migration_model.save()
Пример #5
0
 def setUpClass(cls):
     cls.main_db = get_db(None)
     cls.users_db = get_db('users')
     delete_all_docs_by_doc_type(cls.main_db, ('Application', 'CommCareUser'))
     delete_all_docs_by_doc_type(cls.users_db, ('Application', 'CommCareUser'))
     cls.domain = 'all-docs-domain'
     cls.main_db_doc = {'_id': 'main_db_doc', 'domain': cls.domain,
                        'doc_type': 'Application'}
     cls.users_db_doc = {'_id': 'users_db_doc', 'domain': cls.domain,
                         'doc_type': 'CommCareUser'}
     cls.main_db.save_doc(cls.main_db_doc)
     cls.users_db.save_doc(cls.users_db_doc)
Пример #6
0
 def setUpClass(cls):
     super(TestUserLoad, cls).setUpClass()
     delete_all_docs_by_doc_type(WebUser.get_db(),
                                 ['CommCareUser', 'WebUser'])
     cls.user = CommCareUser.create(
         'test_domain',
         'commcare-user',
         '***',
         date_joined=datetime.utcnow(),
         email='*****@*****.**',
         is_active=True,
         is_staff=True,
         is_superuser=False,
     )
Пример #7
0
    def setUpClass(cls):
        super(FormFactIntegrationTest, cls).setUpClass()
        delete_all_docs_by_doc_type(Domain.get_db(),
                                    ['Domain', 'Domain-Deleted'])
        delete_all_docs_by_doc_type(CommCareUser.get_db(),
                                    ['CommCareUser', 'WebUser'])
        cls.domain_records = [
            Domain(name=cls.domain,
                   hr_name='One',
                   creating_user_id='abc',
                   is_active=True),
        ]

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

        cls.user_records = [
            # TODO: Handle WebUsers who have multiple domains
            # WebUser.create(
            #     cls.domain,
            #     'web-user',
            #     '***',
            #     date_joined=datetime.utcnow(),
            #     first_name='A',
            #     last_name='B',
            #     email='*****@*****.**',
            #     is_active=True,
            #     is_staff=False,
            #     is_superuser=True,
            # ),
            CommCareUser.create(
                cls.domain,
                'commcare-user',
                '***',
                date_joined=datetime.utcnow(),
                email='*****@*****.**',
                is_active=True,
                is_staff=True,
                is_superuser=False,
            ),
        ]

        cls.form_records = [
            create_form_for_test(cls.domain, user_id=cls.user_records[0]._id),
            create_form_for_test(cls.domain, user_id=cls.user_records[0]._id),
            create_form_for_test(cls.domain, user_id=cls.user_records[0]._id),
        ]
Пример #8
0
    def setUp(self):
        super(TestDocTypeMigrations, self).setUp()
        self.migration = Migrator(slug='user_db_migration',
                                  source_db_name=None,
                                  target_db_name=settings.NEW_USERS_GROUPS_DB,
                                  doc_types=(
                                      'Group',
                                      'CommCareUser',
                                  ))
        delete_all_docs_by_doc_type(self.migration.source_db,
                                    self.migration.doc_types)
        self.migration.target_db.delete_docs(
            _get_non_design_docs(self.migration.target_db))

        self.docs = [
            {
                'doc_type': 'CommCareUser',
                'username': '******'
            },
            {
                'doc_type': 'CommCareUser',
                'username': '******',
                '_attachments': {
                    "greeting.txt": {
                        "content_type": "text/plain",
                        "data": base64.b64encode("hi"),
                        "digest": "md5-QTVOnBwGnrw6Tx9YG1ZRyA==",
                        "revpos": 1,
                    }
                }
            },
            {
                'doc_type': 'Group',
                'name': 'User Group'
            },
            {
                'doc_type': 'Group-Deleted',
                'name': 'Deleted User Group'
            },
        ]
        results = self.migration.source_db.bulk_save(self.docs)
        for doc, result in zip(self.docs, results):
            doc['_id'] = result['id']
            doc['_rev'] = result['rev']
        _sort_by_doc_id(self.docs)
Пример #9
0
 def setUpClass(cls):
     cls.main_db = get_db(None)
     cls.users_db = get_db('users')
     cls.doc_types = ('Application', 'CommCareUser')
     delete_all_docs_by_doc_type(cls.main_db, cls.doc_types)
     delete_all_docs_by_doc_type(cls.users_db, cls.doc_types)
     cls.domain1 = 'all-docs-domain1'
     cls.domain2 = 'all-docs-domain2'
     cls.main_db_doc = {'_id': 'main_db_doc', 'doc_type': 'Application'}
     cls.users_db_doc = {'_id': 'users_db_doc', 'doc_type': 'CommCareUser'}
     for doc_type in cls.doc_types:
         for domain in (cls.domain1, cls.domain2):
             db_alias = 'main' if doc_type == 'Application' else 'users'
             doc_id = '{}_db_doc_{}'.format(db_alias, domain)
             doc = {'_id': doc_id, 'doc_type': doc_type, 'domain': domain}
             if doc_type == 'Application':
                 cls.main_db.save_doc(doc)
             else:
                 cls.users_db.save_doc(doc)
Пример #10
0
    def setUpClass(cls):
        super(FormFactIntegrationTest, cls).setUpClass()
        delete_all_docs_by_doc_type(Domain.get_db(), ['Domain', 'Domain-Deleted'])
        delete_all_docs_by_doc_type(CommCareUser.get_db(), ['CommCareUser', 'WebUser'])
        cls.domain_records = [
            Domain(name=cls.domain, hr_name='One', creating_user_id='abc', is_active=True),
        ]

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

        cls.user_records = [
            # TODO: Handle WebUsers who have multiple domains
            # WebUser.create(
            #     cls.domain,
            #     'web-user',
            #     '***',
            #     date_joined=datetime.utcnow(),
            #     first_name='A',
            #     last_name='B',
            #     email='*****@*****.**',
            #     is_active=True,
            #     is_staff=False,
            #     is_superuser=True,
            # ),
            CommCareUser.create(
                cls.domain,
                'commcare-user',
                '***',
                date_joined=datetime.utcnow(),
                email='*****@*****.**',
                is_active=True,
                is_staff=True,
                is_superuser=False,
            ),
        ]

        cls.form_records = [
            create_form_for_test(cls.domain, user_id=cls.user_records[0]._id),
            create_form_for_test(cls.domain, user_id=cls.user_records[0]._id),
            create_form_for_test(cls.domain, user_id=cls.user_records[0]._id),
        ]
        cls.batch = create_batch(cls.slug)
Пример #11
0
 def setUpClass(cls):
     cls.main_db = get_db(None)
     cls.users_db = get_db('users')
     cls.doc_types = ('Application', 'CommCareUser')
     delete_all_docs_by_doc_type(cls.main_db, cls.doc_types)
     delete_all_docs_by_doc_type(cls.users_db, cls.doc_types)
     cls.domain1 = 'all-docs-domain1'
     cls.domain2 = 'all-docs-domain2'
     cls.main_db_doc = {'_id': 'main_db_doc', 'doc_type': 'Application'}
     cls.users_db_doc = {'_id': 'users_db_doc', 'doc_type': 'CommCareUser'}
     for doc_type in cls.doc_types:
         for domain in (cls.domain1, cls.domain2):
             db_alias = 'main' if doc_type == 'Application' else 'users'
             doc_id = '{}_db_doc_{}'.format(db_alias, domain)
             doc = {'_id': doc_id, 'doc_type': doc_type, 'domain': domain}
             if doc_type == 'Application':
                 cls.main_db.save_doc(doc)
             else:
                 cls.users_db.save_doc(doc)
Пример #12
0
 def setUpClass(cls):
     cls.main_db = get_db(None)
     cls.users_db = get_db('users')
     delete_all_docs_by_doc_type(cls.main_db,
                                 ('Application', 'CommCareUser'))
     delete_all_docs_by_doc_type(cls.users_db,
                                 ('Application', 'CommCareUser'))
     cls.domain = 'all-docs-domain'
     cls.main_db_doc = {
         '_id': 'main_db_doc',
         'domain': cls.domain,
         'doc_type': 'Application'
     }
     cls.users_db_doc = {
         '_id': 'users_db_doc',
         'domain': cls.domain,
         'doc_type': 'CommCareUser'
     }
     cls.main_db.save_doc(cls.main_db_doc)
     cls.users_db.save_doc(cls.users_db_doc)
Пример #13
0
    def setUpClass(cls):
        super(AppStatusIntegrationTest, cls).setUpClass()
        delete_all_docs_by_doc_type(Domain.get_db(),
                                    ['Domain', 'Domain-Deleted'])
        delete_all_docs_by_doc_type(CommCareUser.get_db(),
                                    ['CommCareUser', 'WebUser'])
        delete_all_docs_by_doc_type(Application.get_db(),
                                    ['Application', 'Application-Deleted'])
        cls.domain_records = [
            Domain(name=cls.domain,
                   hr_name='One',
                   creating_user_id='abc',
                   is_active=True),
        ]

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

        cls.user_records = [
            # TODO: Handle WebUsers who have multiple domains
            # WebUser.create(
            #     cls.domain,
            #     'web-user',
            #     '***',
            #     date_joined=datetime.utcnow(),
            #     first_name='A',
            #     last_name='B',
            #     email='*****@*****.**',
            #     is_active=True,
            #     is_staff=False,
            #     is_superuser=True,
            # ),
            CommCareUser.create(
                cls.domain,
                'commcare-user',
                '***',
                date_joined=datetime.utcnow(),
                email='*****@*****.**',
                is_active=True,
                is_staff=True,
                is_superuser=False,
            ),
        ]

        cls.form_records = [
            create_form_for_test(cls.domain, user_id=cls.user_records[0]._id),
            create_form_for_test(cls.domain, user_id=cls.user_records[0]._id),
            create_form_for_test(cls.domain, user_id=cls.user_records[0]._id),
        ]

        cls.sync_records = []
        for user in cls.user_records:
            restore_user = OTARestoreCommCareUser(user.domain, user)
            device = MockDevice(cls.domain_records[0], restore_user)
            cls.sync_records.append(device.sync())

        cls.batch = create_batch(cls.slug)
Пример #14
0
 def setUpClass(cls):
     delete_all_docs_by_doc_type(WebUser.get_db(), ['CommCareUser', 'WebUser'])
     super(TestUserStagingTable, cls).setUpClass()
Пример #15
0
 def tearDownClass(cls):
     delete_all_docs_by_doc_type(cls.main_db, cls.doc_types)
     delete_all_docs_by_doc_type(cls.users_db, cls.doc_types)
     super(AllDocsTest, cls).tearDownClass()
Пример #16
0
def delete_all_report_configs():
    from corehq.apps.userreports.models import ReportConfiguration
    delete_all_docs_by_doc_type(ReportConfiguration.get_db(),
                                ('ReportConfiguration', ))
Пример #17
0
 def tearDownClass(cls):
     delete_all_docs_by_doc_type(HQGroupExportConfiguration.get_db(),
                                 (HQGroupExportConfiguration.__name__, ))
     super(HQGroupExportConfigurationDbAccessorsTest, cls).tearDownClass()
Пример #18
0
 def tearDownClass(cls):
     delete_all_docs_by_doc_type(HQGroupExportConfiguration.get_db(), (HQGroupExportConfiguration.__name__,))
     super(HQGroupExportConfigurationDbAccessorsTest, cls).tearDownClass()
Пример #19
0
 def tearDownClass(cls):
     delete_all_docs_by_doc_type(cls.main_db, cls.doc_types)
     delete_all_docs_by_doc_type(cls.users_db, cls.doc_types)
Пример #20
0
def delete_all_report_configs():
    from corehq.apps.userreports.models import ReportConfiguration
    delete_all_docs_by_doc_type(ReportConfiguration.get_db(), ('ReportConfiguration',))
Пример #21
0
 def tearDownClass(cls):
     delete_all_docs_by_doc_type(HQGroupExportConfiguration.get_db(), (HQGroupExportConfiguration.__name__,))
Пример #22
0
 def setUpClass(cls):
     delete_all_docs_by_doc_type(Group.get_db(), ['Group', 'Group-Deleted'])
     super(TestGroupStagingTable, cls).setUpClass()
Пример #23
0
 def tearDownClass(cls):
     delete_all_docs_by_doc_type(cls.main_db, cls.doc_types)
     delete_all_docs_by_doc_type(cls.users_db, cls.doc_types)
Пример #24
0
def delete_all_configs():
    delete_all_docs_by_doc_type(PerformanceConfiguration.get_db(), ('PerformanceConfiguration',))
Пример #25
0
 def setUpClass(cls):
     delete_all_docs_by_doc_type(Application.get_db(), ['Application', 'Application-Deleted'])
     super(TestAppStagingTable, cls).setUpClass()
Пример #26
0
 def setUpClass(cls):
     delete_all_docs_by_doc_type(Group.get_db(), ['Group', 'Group-Deleted'])
     super(TestGroupStagingTable, cls).setUpClass()
Пример #27
0
 def tearDown(self):
     self.user.delete()
     SQLLocation.objects.all().delete()
     delete_all_docs_by_doc_type(Location.get_db(), ['Location'])
     super(LocationsTest, self).tearDown()
Пример #28
0
 def setUpClass(cls):
     delete_all_docs_by_doc_type(Application.get_db(), ['Application', 'Application-Deleted'])
     super(TestAppStagingTable, cls).setUpClass()
Пример #29
0
 def phase_3_clean_up(self):
     delete_all_docs_by_doc_type(self.source_db, self.doc_types)
     self._migration_model.cleanup_complete = True
     self._migration_model.save()
Пример #30
0
 def setUpClass(cls):
     delete_all_docs_by_doc_type(Domain.get_db(), ['Domain', 'Domain-Deleted'])
     super(TestDomainStagingTable, cls).setUpClass()
Пример #31
0
 def setUpClass(cls):
     delete_all_docs_by_doc_type(WebUser.get_db(), ['CommCareUser', 'WebUser'])
     super(TestUserStagingTable, cls).setUpClass()
Пример #32
0
 def tearDownClass(cls):
     delete_all_docs_by_doc_type(SavedExportSchema.get_db(), (SavedExportSchema.__name__,))
     super(SavedExportSchemaDBTest, cls).tearDownClass()
Пример #33
0
 def phase_3_clean_up(self):
     delete_all_docs_by_doc_type(self.source_db, self.doc_types)
     self._migration_model.cleanup_complete = True
     self._migration_model.save()
Пример #34
0
 def tearDownClass(cls):
     delete_all_docs_by_doc_type(SavedExportSchema.get_db(),
                                 (SavedExportSchema.__name__, ))
     super(SavedExportSchemaDBTest, cls).tearDownClass()
Пример #35
0
 def setUpClass(cls):
     delete_all_docs_by_doc_type(Domain.get_db(), ['Domain', 'Domain-Deleted'])
     super(TestDomainStagingTable, cls).setUpClass()
Пример #36
0
def delete_all_configs():
    delete_all_docs_by_doc_type(PerformanceConfiguration.get_db(), ("PerformanceConfiguration",))
Пример #37
0
 def tearDownClass(cls):
     delete_all_docs_by_doc_type(cls.main_db, cls.doc_types)
     delete_all_docs_by_doc_type(cls.users_db, cls.doc_types)
     super(AllDocsTest, cls).tearDownClass()