Ejemplo n.º 1
0
 def tearDown(self):
     self.data_type.delete()
     self.data_item.delete()
     self.user.delete()
     self.fixture_ownership.delete()
     delete_all_users()
     delete_all_fixture_data_types()
     get_fixture_data_types_in_domain.clear(self.domain)
Ejemplo n.º 2
0
 def tearDown(self):
     self.data_type.delete()
     self.data_item.delete()
     self.user.delete()
     self.fixture_ownership.delete()
     delete_all_users()
     delete_all_fixture_data_types()
     get_fixture_data_types_in_domain.clear(self.domain)
Ejemplo n.º 3
0
    def setUpClass(cls):
        super(TestLocationOwnership, cls).setUpClass()
        cls.tag = "big-mac-index"

        data_type = FixtureDataType(
            domain=cls.domain,
            tag=cls.tag,
            name="Big Mac Index",
            fields=[
                FixtureTypeField(field_name="cost", properties=[]),
                FixtureTypeField(field_name="region", properties=[]),
            ],
            item_attributes=[],
        )
        data_type.save()

        def make_data_item(location_name, cost):
            """Make a fixture data item and assign it to location_name"""
            data_item = FixtureDataItem(
                domain=cls.domain,
                data_type_id=data_type.get_id,
                fields={
                    "cost": FieldList(
                        field_list=[FixtureItemField(
                            field_value=cost,
                            properties={},
                        )]
                    ),
                    "location_name": FieldList(
                        field_list=[FixtureItemField(
                            field_value=location_name,
                            properties={},
                        )]
                    ),
                },
                item_attributes={},
            )
            data_item.save()

            FixtureOwnership(
                domain=cls.domain,
                owner_id=cls.locations[location_name].location_id,
                owner_type='location',
                data_item_id=data_item.get_id
            ).save()

        make_data_item('Suffolk', '8')
        make_data_item('Boston', '10')
        make_data_item('Somerville', '7')
        get_fixture_data_types_in_domain.clear(cls.domain)

        cls.no_location_user = CommCareUser.create(cls.domain, 'no_location', '***')
        cls.suffolk_user = CommCareUser.create(cls.domain, 'guy-from-suffolk', '***')
        cls.suffolk_user.set_location(cls.locations['Suffolk'])
        cls.boston_user = CommCareUser.create(cls.domain, 'guy-from-boston', '***')
        cls.boston_user.set_location(cls.locations['Boston'])
        cls.middlesex_user = CommCareUser.create(cls.domain, 'guy-from-middlesex', '***')
        cls.middlesex_user.set_location(cls.locations['Middlesex'])
Ejemplo n.º 4
0
 def tearDown(self):
     self.data_type.delete()
     self.data_item.delete()
     self.user.delete()
     self.fixture_ownership.delete()
     delete_all_users()
     delete_all_fixture_data_types()
     get_fixture_data_types_in_domain.clear(self.domain)
     get_blob_db().delete(self.domain, FIXTURE_BUCKET)
     super(FixtureDataTest, self).tearDown()
Ejemplo n.º 5
0
 def setUpClass(cls):
     cls.domain = 'fixture-dbaccessors'
     cls.data_types = [
         FixtureDataType(domain=cls.domain, tag='a'),
         FixtureDataType(domain=cls.domain, tag='b'),
         FixtureDataType(domain=cls.domain, tag='c'),
         FixtureDataType(domain='other-domain', tag='x'),
     ]
     FixtureDataType.get_db().bulk_save(cls.data_types)
     get_fixture_data_types_in_domain.clear(cls.domain)
Ejemplo n.º 6
0
 def setUpClass(cls):
     cls.domain = 'fixture-dbaccessors'
     cls.data_types = [
         FixtureDataType(domain=cls.domain, tag='a'),
         FixtureDataType(domain=cls.domain, tag='b'),
         FixtureDataType(domain=cls.domain, tag='c'),
         FixtureDataType(domain='other-domain', tag='x'),
     ]
     FixtureDataType.get_db().bulk_save(cls.data_types)
     get_fixture_data_types_in_domain.clear(cls.domain)
Ejemplo n.º 7
0
    def setUp(self):
        super(FixtureDataTest, self).setUp()
        self.domain = 'qwerty'
        self.tag = "district"
        delete_all_users()
        delete_all_fixture_data_types()

        self.data_type = FixtureDataType(
            domain=self.domain,
            tag=self.tag,
            name="Districts",
            fields=[
                FixtureTypeField(field_name="state_name", properties=[]),
                FixtureTypeField(field_name="district_name",
                                 properties=["lang"]),
                FixtureTypeField(field_name="district_id", properties=[]),
            ],
            item_attributes=[],
        )
        self.data_type.save()

        self.data_item = FixtureDataItem(
            domain=self.domain,
            data_type_id=self.data_type.get_id,
            fields={
                "state_name":
                FieldList(field_list=[
                    FixtureItemField(field_value="Delhi_state", properties={})
                ]),
                "district_name":
                FieldList(field_list=[
                    FixtureItemField(field_value="Delhi_in_HIN",
                                     properties={"lang": "hin"}),
                    FixtureItemField(field_value="Delhi_in_ENG",
                                     properties={"lang": "eng"})
                ]),
                "district_id":
                FieldList(field_list=[
                    FixtureItemField(field_value="Delhi_id", properties={})
                ])
            },
            item_attributes={},
        )
        self.data_item.save()

        self.user = CommCareUser.create(self.domain, 'to_delete', '***')

        self.fixture_ownership = FixtureOwnership(
            domain=self.domain,
            owner_id=self.user.get_id,
            owner_type='user',
            data_item_id=self.data_item.get_id)
        self.fixture_ownership.save()
        get_fixture_data_types_in_domain.clear(self.domain)
Ejemplo n.º 8
0
    def test_empty_data_types(self):
        empty_data_type = FixtureDataType(
            domain=self.domain,
            tag='blank',
            name="blank",
            fields=[
                FixtureTypeField(
                    field_name="name",
                    properties=[]
                ),
            ],
            item_attributes=[],
        )
        empty_data_type.save()
        self.addCleanup(empty_data_type.delete)
        get_fixture_data_types_in_domain.clear(self.domain)

        fixtures = call_fixture_generator(self.user.to_ota_restore_user())
        self.assertEqual(2, len(fixtures))
        check_xml_line_by_line(
            self,
            """
            <f>
            <fixture id="item-list:blank" user_id="{0}">
              <blank_list/>
            </fixture>
            <fixture id="item-list:district" user_id="{0}">
              <district_list>
                <district>
                  <state_name>Delhi_state</state_name>
                  <district_name lang="hin">Delhi_in_HIN</district_name>
                  <district_name lang="eng">Delhi_in_ENG</district_name>
                  <district_id>Delhi_id</district_id>
                </district>
              </district_list>
            </fixture>
            </f>
            """.format(self.user.user_id),
            '<f>{}\n{}\n</f>'.format(*[ElementTree.tostring(fixture).decode('utf-8') for fixture in fixtures])
        )
Ejemplo n.º 9
0
 def clear_caches(self):
     super(FixtureDataType, self).clear_caches()
     get_fixture_data_types_in_domain.clear(self.domain)
Ejemplo n.º 10
0
 def tearDownClass(cls):
     FixtureDataType.get_db().bulk_delete(cls.data_types)
     get_fixture_data_types_in_domain.clear(cls.domain)
     super(DBAccessorTest, cls).tearDownClass()
Ejemplo n.º 11
0
    def setUpClass(cls):
        super(TestLocationOwnership, cls).setUpClass()
        cls.tag = "big-mac-index"

        data_type = FixtureDataType(
            domain=cls.domain,
            tag=cls.tag,
            name="Big Mac Index",
            fields=[
                FixtureTypeField(field_name="cost", properties=[]),
                FixtureTypeField(field_name="region", properties=[]),
            ],
            item_attributes=[],
        )
        data_type.save()

        def make_data_item(location_name, cost):
            """Make a fixture data item and assign it to location_name"""
            data_item = FixtureDataItem(
                domain=cls.domain,
                data_type_id=data_type.get_id,
                fields={
                    "cost":
                    FieldList(field_list=[
                        FixtureItemField(
                            field_value=cost,
                            properties={},
                        )
                    ]),
                    "location_name":
                    FieldList(field_list=[
                        FixtureItemField(
                            field_value=location_name,
                            properties={},
                        )
                    ]),
                },
                item_attributes={},
            )
            data_item.save()

            FixtureOwnership(domain=cls.domain,
                             owner_id=cls.locations[location_name].location_id,
                             owner_type='location',
                             data_item_id=data_item.get_id).save()

        make_data_item('Suffolk', '8')
        make_data_item('Boston', '10')
        make_data_item('Somerville', '7')
        get_fixture_data_types_in_domain.clear(cls.domain)

        cls.no_location_user = CommCareUser.create(cls.domain, 'no_location',
                                                   '***')
        cls.suffolk_user = CommCareUser.create(cls.domain, 'guy-from-suffolk',
                                               '***')
        cls.suffolk_user.set_location(cls.locations['Suffolk'])
        cls.boston_user = CommCareUser.create(cls.domain, 'guy-from-boston',
                                              '***')
        cls.boston_user.set_location(cls.locations['Boston'])
        cls.middlesex_user = CommCareUser.create(cls.domain,
                                                 'guy-from-middlesex', '***')
        cls.middlesex_user.set_location(cls.locations['Middlesex'])
Ejemplo n.º 12
0
    def setUp(self):
        super(FixtureDataTest, self).setUp()
        self.domain = 'qwerty'
        self.tag = "district"
        delete_all_users()
        delete_all_fixture_data_types()

        self.data_type = FixtureDataType(
            domain=self.domain,
            tag=self.tag,
            name="Districts",
            fields=[
                FixtureTypeField(
                    field_name="state_name",
                    properties=[]
                ),
                FixtureTypeField(
                    field_name="district_name",
                    properties=["lang"]
                ),
                FixtureTypeField(
                    field_name="district_id",
                    properties=[]
                ),
            ],
            item_attributes=[],
        )
        self.data_type.save()

        self.data_item = FixtureDataItem(
            domain=self.domain,
            data_type_id=self.data_type.get_id,
            fields={
                "state_name": FieldList(
                    field_list=[
                        FixtureItemField(
                            field_value="Delhi_state",
                            properties={}
                        )
                    ]
                ),
                "district_name": FieldList(
                    field_list=[
                        FixtureItemField(
                            field_value="Delhi_in_HIN",
                            properties={"lang": "hin"}
                        ),
                        FixtureItemField(
                            field_value="Delhi_in_ENG",
                            properties={"lang": "eng"}
                        )
                    ]
                ),
                "district_id": FieldList(
                    field_list=[
                        FixtureItemField(
                            field_value="Delhi_id",
                            properties={}
                        )
                    ]
                )
            },
            item_attributes={},
        )
        self.data_item.save()

        self.user = CommCareUser.create(self.domain, 'to_delete', '***')

        self.fixture_ownership = FixtureOwnership(
            domain=self.domain,
            owner_id=self.user.get_id,
            owner_type='user',
            data_item_id=self.data_item.get_id
        )
        self.fixture_ownership.save()
        get_fixture_data_types_in_domain.clear(self.domain)
Ejemplo n.º 13
0
 def tearDownClass(cls):
     FixtureDataType.get_db().bulk_delete(cls.data_types)
     get_fixture_data_types_in_domain.clear(cls.domain)
Ejemplo n.º 14
0
 def tearDownClass(cls):
     FixtureDataType.get_db().bulk_delete(cls.data_types)
     get_fixture_data_types_in_domain.clear(cls.domain)
Ejemplo n.º 15
0
 def clear_caches(self):
     super(FixtureDataType, self).clear_caches()
     get_fixture_data_types_in_domain.clear(self.domain)