Skip to content

Instantly share code, notes, and snippets.

@brunoliveira8
Created November 5, 2018 19:10
Show Gist options
  • Save brunoliveira8/fc42444ed90763dc42083964c97290b0 to your computer and use it in GitHub Desktop.
Save brunoliveira8/fc42444ed90763dc42083964c97290b0 to your computer and use it in GitHub Desktop.
Handler Tests
class Command:
pass
class CommandHandler:
pass
class Action(ABC):
def __init__(self)
def execute(*args, **kwargs):
self.validate(*args, *kwargs)
self.handle(*args, **kwargs)
def validate():
raise NotImplementedError
def handle():
raise NotImplementedError
class Action(ABC):
def execute(self):
self.data.validate()
self.handler.handle(self.data)
from service import container
class SaveUserAction(Action):
def __init__(self, data: SaveUserData, handler: SaveUserHandler):
self.data = data
self.handler = container.handlers['SaveUserHandler']
class SaveUserData:
def __init__(self, bla: int):
self.bla = bla
def validate(self):
return self.bla > 10
class SaveUserHandler:
def handle(data: SaveUserData):
print("YOLO")
class SaveUser(Action):
def __init_(self, param_1, param_2):
self.service_1 = service_1
def handle(*args, *kwargs):
pass
def validate(*args, *kwargs):
pass
def main():
data = SaveUserData(**payload)
try:
SaveUserAction(data).execute()
except:
pass
'''
messages:
'save.user': SaveUser
'''
class Command:
def __init__(self):
self.handler = handler
def execute(self):
self.handler.execute(command)
def main():
app = ApplicationContainer()
app.save_user("name", "last_name")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment