def test_views_windows_update(self, init_db_data):
        """Test put api endpoint"""

        # retrieve database informations
        window_id = str(init_db_data['windows'][0])

        window_json = self.get_item_by_id(item_id=window_id)
        assert window_json.status_code == 200
        facade_id = str(window_json.json['facade_id'])
        # get etag value
        etag_value = window_json.headers.get('etag', None)

        # Update...
        w_name_updated = 'New window'
        response = self.put_item(item_id=window_id,
                                 name=w_name_updated,
                                 covering='Shade',
                                 surface_info=get_dictionary_no_none(
                                     window_json.json['surface_info']),
                                 facade_id=facade_id,
                                 u_value=43421.32,
                                 headers={'If-Match': etag_value})
        # ...update done
        assert response.status_code == 200
        assert response.json['name'] == w_name_updated
        assert response.json['covering'] == 'Shade'
        assert (get_dictionary_no_none(
            response.json['surface_info']) == get_dictionary_no_none(
                window_json.json['surface_info']))
        assert response.json['facade_id'] == facade_id
        assert response.json['u_value'] == 43421.32
    def test_views_spaces_update(self, init_db_data):
        """Test put api endpoint"""

        # retrieve database informations
        space_id = str(init_db_data['spaces'][0])

        space_json = self.get_item_by_id(item_id=space_id)
        assert space_json.status_code == 200
        floor_id = str(space_json.json['floor_id'])
        # get etag value
        etag_value = space_json.headers.get('etag', None)

        # Update...
        s_name_updated = 'Spaces or tabs...'
        response = self.put_item(item_id=space_id,
                                 name=s_name_updated,
                                 floor_id=floor_id,
                                 kind=space_json.json['kind'],
                                 occupancy=get_dictionary_no_none(
                                     space_json.json['occupancy']),
                                 spatial_info=get_dictionary_no_none(
                                     space_json.json['spatial_info']),
                                 description='awful joke',
                                 headers={'If-Match': etag_value})
        # ...update done
        assert response.status_code == 200
        assert response.json['name'] == s_name_updated
        assert response.json['kind'] == space_json.json['kind']
        assert response.json['occupancy'] == space_json.json['occupancy']
        assert response.json['spatial_info'] == space_json.json['spatial_info']
        assert response.json['spatial_info']['area'] > 0
        assert response.json['spatial_info']['max_height'] > 0
        assert response.json['floor_id'] == floor_id
    def test_views_occupants_update(self, init_db_data):
        """Test put api endpoint"""

        # retrieve database informations
        occupant_id = str(init_db_data['occupants'][0])

        occupant_json = self.get_item_by_id(item_id=occupant_id)
        assert occupant_json.status_code == 200
        # get etag value
        etag_value = occupant_json.headers.get('etag', None)

        workspace = get_dictionary_no_none(occupant_json.json['workspace'])

        # Update occupant...
        gender_updated = 'Female'
        response = self.put_item(
            item_id=occupant_id, gender=gender_updated,
            age_category='ac_65',
            workspace=workspace,
            headers={'If-Match': etag_value})
        # ...update done
        assert response.status_code == 200
        assert response.json['gender'] == gender_updated
        assert response.json['age_category'] == 'ac_65'
        assert response.json['workspace']['kind'] == 'office'
        assert response.json['workspace']['desk_location_window'] == 'far'
    def test_views_slabs_update(self, init_db_data):
        """Test put api endpoint"""

        # retrieve database informations
        slab_id = str(init_db_data['slabs'][0])

        slab_json = self.get_item_by_id(item_id=slab_id)
        building_id = str(slab_json.json['building_id'])
        assert slab_json.status_code == 200

        # get etag value
        etag_value = slab_json.headers.get('etag', None)

        surface_info = get_dictionary_no_none(slab_json.json['surface_info'])

        # Update...
        f_name_updated = 'An updated slab name'
        response = self.put_item(item_id=slab_id,
                                 name=f_name_updated,
                                 floors=slab_json.json['floors'],
                                 surface_info=surface_info,
                                 building_id=building_id,
                                 headers={'If-Match': etag_value})
        # ...update done
        assert response.status_code == 200
        assert response.json['name'] == f_name_updated
        assert set(response.json['floors']) == set(slab_json.json['floors'])
        assert 'description' not in response.json
        assert response.json['surface_info'] == slab_json.json['surface_info']
        assert response.json['building_id'] ==\
            str(slab_json.json['building_id'])
    def test_views_floors_update(self, init_db_data):
        """Test put api endpoint"""

        # retrieve database informations
        floor_id = str(init_db_data['floors'][0])

        floor_json = self.get_item_by_id(item_id=floor_id)
        building_id = str(floor_json.json['building_id'])
        assert floor_json.status_code == 200
        # get etag value
        etag_value = floor_json.headers.get('etag', None)

        spatial_info = get_dictionary_no_none(floor_json.json['spatial_info'])

        # Update...
        f_name_updated = 'An updated floor name'
        response = self.put_item(item_id=floor_id,
                                 name=f_name_updated,
                                 kind=floor_json.json['kind'],
                                 level=floor_json.json['level'],
                                 building_id=building_id,
                                 spatial_info=spatial_info,
                                 headers={'If-Match': etag_value})
        # ...update done
        assert response.status_code == 200
        assert response.json['name'] == f_name_updated
        assert response.json['kind'] == floor_json.json['kind']
        assert response.json['level'] == floor_json.json['level']
        assert response.json['spatial_info'] == floor_json.json['spatial_info']
        assert 'description' not in response.json
        assert response.json['building_id'] == str(building_id)
Beispiel #6
0
    def test_views_sites_update(self, init_db_data):
        """Test put api endpoint"""

        # retrieve database informations
        site_id = str(init_db_data['sites'][0])
        geo_json = self.get_item_by_id(item_id=site_id).json['geographic_info']
        geo_json_none = get_dictionary_no_none(geo_json)

        # get etag value
        response = self.get_item_by_id(item_id=site_id)
        assert response.status_code == 200
        etag_value = response.headers.get('etag', None)

        # Update item...
        s_name_updated = 'Updated site'
        response = self.put_item(item_id=site_id,
                                 name=s_name_updated,
                                 geographic_info=geo_json_none,
                                 headers={'If-Match': etag_value})
        # ...update done
        assert response.status_code == 200
        assert response.json['name'] == s_name_updated
        assert response.json['geographic_info'] == geo_json
    def test_views_facades_update(self, init_db_data):
        """Test put api endpoint"""

        # retrieve database informations
        facade_id = str(init_db_data['facades'][0])

        facade_json = self.get_item_by_id(item_id=facade_id)
        building_id = str(facade_json.json['building_id'])
        assert facade_json.status_code == 200

        # get etag value
        etag_value = facade_json.headers.get('etag', None)

        surface_info = get_dictionary_no_none(facade_json.json['surface_info'])

        # Update...
        f_name_updated = 'An updated facade name'
        response = self.put_item(
            item_id=facade_id,
            name=f_name_updated,
            spaces=facade_json.json['spaces'],
            windows_wall_ratio=facade_json.json['windows_wall_ratio'],
            surface_info=surface_info,
            building_id=building_id,
            headers={'If-Match': etag_value})
        # ...update done
        assert response.status_code == 200
        assert response.json['name'] == f_name_updated
        assert set(response.json['spaces']) == set(facade_json.json['spaces'])
        assert (response.json['windows_wall_ratio'] ==
                facade_json.json['windows_wall_ratio'])
        assert 'description' not in response.json
        assert response.json['surface_info'] == (
            facade_json.json['surface_info'])
        assert response.json['building_id'] == str(
            facade_json.json['building_id'])