test_BaseModel.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import pytest
  2. from models.BaseModel import BaseModel
  3. class Args:
  4. def __init__(self, **kwargs):
  5. for key, value in kwargs.items():
  6. setattr(self, key, value)
  7. def test_has_required_args():
  8. BaseModel.required_args = {
  9. "test_object": [["arg1"], ["arg2", "arg3"]],
  10. }
  11. # Test cases with Args object
  12. args = Args(object="non_existent_object")
  13. assert BaseModel.has_required_args(args) == False
  14. args = Args(object="test_object")
  15. assert BaseModel.has_required_args(args) == False
  16. args = Args(object="test_object", arg1="value")
  17. assert BaseModel.has_required_args(args) == True
  18. args = Args(object="test_object", arg2="value")
  19. assert BaseModel.has_required_args(args) == False
  20. args = Args(object="test_object", arg3="value")
  21. assert BaseModel.has_required_args(args) == False
  22. args = Args(object="test_object", arg2="value", arg3="value")
  23. assert BaseModel.has_required_args(args) == True
  24. # Test cases with dict object
  25. args = {"object": "non_existent_object"}
  26. assert BaseModel.has_required_args(args) == False
  27. args = {"object": "test_object"}
  28. assert BaseModel.has_required_args(args) == False
  29. args = {"object": "test_object", "arg1": "value"}
  30. assert BaseModel.has_required_args(args) == True
  31. args = {"object": "test_object", "arg2": "value"}
  32. assert BaseModel.has_required_args(args) == False
  33. args = {"object": "test_object", "arg3": "value"}
  34. assert BaseModel.has_required_args(args) == False
  35. args = {"object": "test_object", "arg2": "value", "arg3": "value"}
  36. assert BaseModel.has_required_args(args) == True
  37. BaseModel.required_args = {
  38. "test_object": [[]],
  39. }
  40. # Test cases with Args object
  41. args = Args(object="non_existent_object")
  42. assert BaseModel.has_required_args(args) == False
  43. args = Args(object="test_object")
  44. assert BaseModel.has_required_args(args) == True
  45. # Test cases with dict object
  46. args = {"object": "non_existent_object"}
  47. assert BaseModel.has_required_args(args) == False
  48. args = {"object": "test_object"}
  49. assert BaseModel.has_required_args(args) == True