def parking_space_availability_cykleo_get_informations_test(): webservice_response = { '2': { "station": { "assetStation": { "coordinate": {}, "organization": 1, "commercialNumber": 1, "id": 1, "commercialName": "station 1" }, "status": "IN_SERVICE", "id": 1 }, "availableClassicBikeCount": 3, "id": 1, "availableElectricBikeCount": 1, "availableDockCount": 2 } } provider = CykleoProvider('http://bob', network, 'big', 'big', {'CYKLEO'}) provider._call_webservice = MagicMock(return_value=webservice_response) assert provider.get_informations(poi) == Stands(2, 4, StandsStatus.open) assert provider.get_informations(poi_with_0) == Stands( 2, 4, StandsStatus.open) provider._call_webservice = MagicMock(return_value=None) assert provider.get_informations(poi) == Stands(0, 0, StandsStatus.unavailable) assert provider.get_informations(poi_with_0) == Stands( 0, 0, StandsStatus.unavailable) invalid_poi = {} assert provider.get_informations(invalid_poi) == Stands( 0, 0, StandsStatus.unavailable)
def witout_available_dock_count_test(): webservice_response = { '2': { "station": { "assetStation": { "coordinate": {}, "organization": 1, "commercialNumber": 1, "id": 1, "commercialName": "station 1" }, "status": "IN_SERVICE", "id": 1 }, "id": 1, "availableElectricBikeCount": 1, } } provider = CykleoProvider('http://bob', network, 'big', 'big', {'CYKLEO'}) provider._call_webservice = MagicMock(return_value=webservice_response) assert not provider.get_informations(poi) assert not provider.get_informations(poi_with_0)
def available_classic_bike_count_only_test(): webservice_response = { '2': { "station": { "assetStation": { "coordinate": {}, "organization": 1, "commercialNumber": 1, "id": 1, "commercialName": "station 1" }, "status": "IN_SERVICE", "id": 1 }, "id": 1, "availableClassicBikeCount": 1, "availableDockCount": 2 } } provider = CykleoProvider('http://bob', network, 'big', 'big', {'CYKLEO'}) provider._call_webservice = MagicMock(return_value=webservice_response) assert provider.get_informations(poi) == Stands(2, 1, 'OPEN') assert provider.get_informations(poi_with_0) == Stands(2, 1, 'OPEN')
def parking_space_availability_cykleo_support_poi_test(): """ CykleoProvider bss provider support """ provider = CykleoProvider('http://bob', network, 'big', 'big', {'CYKLEO'}) poi_copy = deepcopy(poi) assert provider.support_poi(poi_copy) poi_copy['properties']['operator'] = 'Bad_operator' assert not provider.support_poi(poi_copy) poi_copy['properties']['operator'] = 'JCDecaux' poi_copy['properties']['network'] = 'Bad_network' assert not provider.support_poi(poi_copy) poi_copy['properties']['operator'] = 'Bad_operator' assert not provider.support_poi(poi_copy) # same test with "02" in id, not "2" poi_with_0_copy = deepcopy(poi_with_0) assert provider.support_poi(poi_with_0_copy) poi_with_0_copy['properties']['operator'] = 'Bad_operator' assert not provider.support_poi(poi_with_0_copy) poi_with_0_copy['properties']['operator'] = 'JCDecaux' poi_with_0_copy['properties']['network'] = 'Bad_network' assert not provider.support_poi(poi_with_0_copy) poi_with_0_copy['properties']['operator'] = 'Bad_operator' assert not provider.support_poi(poi_with_0_copy) invalid_poi = {} assert not provider.support_poi(invalid_poi) invalid_poi = {'properties': {}} assert not provider.support_poi(invalid_poi)