import requests as req class CreateItemChecks: def createAuthor (this, result): return 'response' in result def invalidType (this, result): return 'response' in result class CreateItemActions: def createAuthor (this): return req.post( "http://127.0.0.1:8080/api/v/1.0/create-item?response_format=json", json={ "type" : "author", "name" : "TestAuthor" } ).json() def invalidType (this): return req.post( "http://127.0.0.1:8080/api/v/1.0/create-item?response_format=json", json={ "type" : "asdasdsad", "name" : "TestAuthor" } ).json() createItemActions = CreateItemActions() createItemChecks = CreateItemChecks() def test (id, action, isDone, nextTest=lambda:None): try: print("""Test {id} runned..""") result = action() if isDone(result): print("""Test {id} success!""") nextTest() else: print("""Test {id} ERROR""") print(result) except Exception as exc: print(exc) test_3 = lambda : test(3, createItemActions.createAuthor, createItemChecks.createAuthor) test_2 = lambda : test(2, createItemActions.createAuthor, createItemChecks.createAuthor) test_1 = test(1, createItemActions.invalidType, createItemChecks.invalidType, test)