def test_select_lighting_at_r1(self): pattern = {"placement": "R1", "type": "lighting"} result = filtering.filter_items(self.TEST_DATA, pattern) self.assertEqual(len(result), 1) self.assertIn(self.TEST_DATA[0], result)
def test_select_lighting(self): pattern = {"type": "lighting"} result = filtering.filter_items(self.TEST_DATA, pattern) self.assertEqual(len(result), 2) self.assertIn(self.TEST_DATA[0], result) self.assertIn(self.TEST_DATA[2], result)
def test_select_by_r1(self): pattern = {"placement": "R1"} result = filtering.filter_items(self.TEST_DATA, pattern) self.assertEqual(len(result), 2) self.assertIn(self.TEST_DATA[0], result) self.assertIn(self.TEST_DATA[3], result)
async def things_get_handler(request: web.Request) -> web.Response: """ A handler for GET requests for path /things/ :param request: request to be processed :return: a response to request """ thing_service = request.app['thing_service'] try: query_params = request.query if 'placement' in query_params: things = thing_service.select_by_placement( query_params['placement'] ) else: things = thing_service.view_all() if 'type' in query_params: things = filtering.filter_items( things, {'type': query_params['type']} ) return make_json_response({"things": things}) except AuthInsufficientPrivilegesError: error_dict = ERROR_TEMPLATES[2110].to_dict() error_dict["user_message"] = error_dict["user_message"].format(action="viewing of things data") return make_json_response( status=403, content=error_dict )
def test_empty_pattern_match(self): pattern = {} self.assertEqual( filtering.filter_items(self.TEST_DATA, pattern), self.TEST_DATA )
def test_select_field_value_mismatch(self): pattern = {"placement": "R100000"} result = filtering.filter_items(self.TEST_DATA, pattern) self.assertTrue(len(result) == 0)
def test_select_field_name_mismatch(self): pattern = {"something_new": "R1"} result = filtering.filter_items(self.TEST_DATA, pattern) self.assertTrue(len(result) == 0)