コード例 #1
0
    def test_db_building_create(self, init_sites):

        site_ids = init_sites
        building_db = BuildingDB()

        # check that database is empty
        result = building_db.get_all()
        assert list(result) == []

        # create an item
        building = Building('Building #0',
                            'BarRestaurant',
                            site_ids[0],
                            area=666)
        new_building_id = building_db.create(building)
        assert new_building_id is not None
        assert new_building_id == building.id

        # check that database is not empty now
        result = building_db.get_all()
        buildings = list(result)
        assert len(buildings) == 1
        assert buildings[0].id == building.id
        assert buildings[0].name == building.name
        assert buildings[0].description == building.description
        assert buildings[0].area == building.area
        assert buildings[0].site_id == building.site_id == site_ids[0]

        # error: invalid site
        # TODO: test this at `Thing` level ?
        building.site_id = generate_id()
        with pytest.raises(ValidationError) as exc:
            building_db.update(building.id, building)
        assert 'site_id' in exc.value.messages
コード例 #2
0
    def test_db_building_select_filter(self, init_sites):
        site_ids = init_sites
        building_db = BuildingDB()

        # create an item
        building = Building('Building #0',
                            'BarRestaurant',
                            site_ids[0],
                            area=666)
        new_building_id = building_db.create(building)

        # check that database is empty
        result = building_db.get_all(site_id=str(site_ids[0]))
        buildings = list(result)
        assert len(buildings) == 1
        assert buildings[0].id == new_building_id

        result = building_db.get_all(kind='CommercialBuilding')
        buildings = list(result)
        assert len(buildings) == 1
        assert buildings[0].id == new_building_id