Skip to content

Commit

Permalink
Fix #732 and improve parser exception output (#754)
Browse files Browse the repository at this point in the history
Remove the backwards compatibility check for very old grammars.
  • Loading branch information
marina-p committed May 5, 2023
1 parent 9507f4b commit d219bab
Show file tree
Hide file tree
Showing 11 changed files with 35 additions and 43 deletions.
12 changes: 2 additions & 10 deletions restler/engine/core/request_utilities.py
Original file line number Diff line number Diff line change
Expand Up @@ -431,15 +431,7 @@ def call_response_parser(parser, response, request=None, responses=None):
for response in responses:
try:
if parser:
# For backwards compatibility, check if the parser accepts named arguments.
# If not, this is an older grammar that only supports a json body as the argument
import inspect
args, varargs, varkw, defaults = inspect.getargspec(parser)

if varkw=='kwargs':
parser(response.json_body, headers=response.headers_dict)
else:
parser(response.json_body)
parser(response.json_body, headers=response.headers_dict)
# Print a diagnostic message if some dynamic objects were not set.
# The parser only fails if all of the objects were not set.
if request:
Expand All @@ -450,7 +442,7 @@ def call_response_parser(parser, response, request=None, responses=None):
_RAW_LOGGING(err_str)
return True
except (ResponseParsingException, AttributeError) as error:
_RAW_LOGGING(str(error))
_RAW_LOGGING(f"Parser exception: {str(error)}.")

return False

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"_post_a"
)

def parse_A(data):
def parse_A(data, **kwargs):
temp_123 = None

try:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"_post_d"
)

def parse_A(data):
def parse_A(data, **kwargs):
temp_123 = None

try:
Expand All @@ -40,7 +40,7 @@ def parse_A(data):
if temp_123:
dependencies.set_variable("_post_a", temp_123)

def parse_B(data):
def parse_B(data, **kwargs):
temp_123 = None

try:
Expand All @@ -57,7 +57,7 @@ def parse_B(data):
dependencies.set_variable("_post_b", temp_123)


def parse_D(data):
def parse_D(data, **kwargs):
temp_123 = None

try:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"_post_d"
)

def parse_A(data):
def parse_A(data, **kwargs):
temp_123 = None

try:
Expand All @@ -42,7 +42,7 @@ def parse_A(data):
if temp_123:
dependencies.set_variable("_post_a", temp_123)

def parse_B(data):
def parse_B(data, **kwargs):
temp_123 = None

try:
Expand All @@ -59,7 +59,7 @@ def parse_B(data):
dependencies.set_variable("_post_b", temp_123)


def parse_D(data):
def parse_D(data, **kwargs):
temp_123 = None

try:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"_post_d"
)

def parse_A(data):
def parse_A(data, **kwargs):
temp_123 = None

try:
Expand All @@ -40,7 +40,7 @@ def parse_A(data):
if temp_123:
dependencies.set_variable("_post_a", temp_123)

def parse_B(data):
def parse_B(data, **kwargs):
temp_123 = None

try:
Expand All @@ -57,7 +57,7 @@ def parse_B(data):
dependencies.set_variable("_post_b", temp_123)


def parse_D(data):
def parse_D(data, **kwargs):
temp_123 = None

try:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"_post_b"
)

def parse_A(data):
def parse_A(data, **kwargs):
temp_123 = None

try:
Expand All @@ -36,7 +36,7 @@ def parse_A(data):
if temp_123:
dependencies.set_variable("_post_a", temp_123)

def parse_B(data):
def parse_B(data, **kwargs):
temp_123 = None

try:
Expand All @@ -53,7 +53,7 @@ def parse_B(data):
dependencies.set_variable("_post_b", temp_123)


def parse_D(data):
def parse_D(data, **kwargs):
temp_123 = None

try:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
)


def parse_LR(data):
def parse_LR(data, **kwargs):
temp_123 = None

try:
Expand Down
16 changes: 8 additions & 8 deletions restler/unit_tests/log_baseline_test_files/test_grammar.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"_group_put_name"
)

def parse_cityNamePut(data):
def parse_cityNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -58,7 +58,7 @@ def parse_cityNamePut(data):
if temp_123:
dependencies.set_variable("_city_put_name", temp_123)

def parse_cityHouseNamePut(data):
def parse_cityHouseNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -75,7 +75,7 @@ def parse_cityHouseNamePut(data):
if temp_123:
dependencies.set_variable("_city_house_put_name", temp_123)

def parse_cityHouseColorNamePut(data):
def parse_cityHouseColorNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -92,7 +92,7 @@ def parse_cityHouseColorNamePut(data):
if temp_123:
dependencies.set_variable("_city_house_color_put_name", temp_123)

def parse_cityRoadNamePut(data):
def parse_cityRoadNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -109,7 +109,7 @@ def parse_cityRoadNamePut(data):
if temp_123:
dependencies.set_variable("_city_road_put_name", temp_123)

def parse_farmNamePut(data):
def parse_farmNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -126,7 +126,7 @@ def parse_farmNamePut(data):
if temp_123:
dependencies.set_variable("_farm_put_name", temp_123)

def parse_farmAnimalNamePut(data):
def parse_farmAnimalNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -143,7 +143,7 @@ def parse_farmAnimalNamePut(data):
if temp_123:
dependencies.set_variable("_farm_animal_put_name", temp_123)

def parse_itemNamePut(data):
def parse_itemNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -160,7 +160,7 @@ def parse_itemNamePut(data):
if temp_123:
dependencies.set_variable("_item_put_name", temp_123)

def parse_groupNamePut(data):
def parse_groupNamePut(data, **kwargs):
temp_123 = None

try:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"_city_house_put_name"
)

def parse_cityNamePut(data):
def parse_cityNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -34,7 +34,7 @@ def parse_cityNamePut(data):
if temp_123:
dependencies.set_variable("_city_put_name", temp_123)

def parse_cityHouseNamePut(data):
def parse_cityHouseNamePut(data, **kwargs):
temp_123 = None

try:
Expand Down
16 changes: 8 additions & 8 deletions restler/unit_tests/log_baseline_test_files/test_grammar_bugs.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"_namespaceruletest_put_name"
)

def parse_cityNamePut(data):
def parse_cityNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -57,7 +57,7 @@ def parse_cityNamePut(data):
if temp_123:
dependencies.set_variable("_city_put_name", temp_123)

def parse_cityHouseNamePut(data):
def parse_cityHouseNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -73,7 +73,7 @@ def parse_cityHouseNamePut(data):
if temp_123:
dependencies.set_variable("_city_house_put_name", temp_123)

def parse_cityHouseColorNamePut(data):
def parse_cityHouseColorNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -89,7 +89,7 @@ def parse_cityHouseColorNamePut(data):
if temp_123:
dependencies.set_variable("_city_house_color_put_name", temp_123)

def parse_leakageruletestNamePut(data):
def parse_leakageruletestNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -105,7 +105,7 @@ def parse_leakageruletestNamePut(data):
if temp_123:
dependencies.set_variable("_leakageruletest_put_name", temp_123)

def parse_useafterfreetestNamePut(data):
def parse_useafterfreetestNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -121,7 +121,7 @@ def parse_useafterfreetestNamePut(data):
if temp_123:
dependencies.set_variable("_useafterfreetest_put_name", temp_123)

def parse_resourcehierarchytestNamePut(data):
def parse_resourcehierarchytestNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -137,7 +137,7 @@ def parse_resourcehierarchytestNamePut(data):
if temp_123:
dependencies.set_variable("_resourcehierarchytest_put_name", temp_123)

def parse_resourcehierarchychildNamePut(data):
def parse_resourcehierarchychildNamePut(data, **kwargs):
temp_123 = None

try:
Expand All @@ -153,7 +153,7 @@ def parse_resourcehierarchychildNamePut(data):
if temp_123:
dependencies.set_variable("_resourcehierarchychild_put_name", temp_123)

def parse_namespaceruletestNamePut(data):
def parse_namespaceruletestNamePut(data, **kwargs):
temp_123 = None

try:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
)


def parse_A(data):
def parse_A(data, **kwargs):
temp_123 = None

try:
Expand Down

0 comments on commit d219bab

Please sign in to comment.