data-factory-testing-framework 0.2.4__tar.gz → 0.2.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/PKG-INFO +1 -1
  2. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/pyproject.toml +1 -1
  3. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_deserializers/shared/_activity_deserializer.py +5 -1
  4. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_repositories/data_factory_repository.py +1 -1
  5. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_test_framework.py +24 -7
  6. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/LICENSE +0 -0
  7. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/README.md +0 -0
  8. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/__init__.py +0 -0
  9. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_deserializers/__init__.py +0 -0
  10. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_deserializers/_deserializer_base.py +0 -0
  11. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_deserializers/_deserializer_data_factory.py +0 -0
  12. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_deserializers/_deserializer_fabric.py +0 -0
  13. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_deserializers/shared/__init__.py +0 -0
  14. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_deserializers/shared/_data_factory_element_replacer.py +0 -0
  15. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/__init__.py +0 -0
  16. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/__init__.py +0 -0
  17. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/exceptions.py +0 -0
  18. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/expression_evaluator.py +0 -0
  19. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/expression_rule_transformer.py +0 -0
  20. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/expression_terminal_transformer.py +0 -0
  21. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/__init__.py +0 -0
  22. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/activity_reference_expression_rule_evaluator.py +0 -0
  23. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/branch_expression_rule_evaluator.py +0 -0
  24. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/dataset_reference_expression_rule_evaluator.py +0 -0
  25. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/evaluation_expression_rule_evaluator.py +0 -0
  26. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/expression_parameter_expression_rule_evaluator.py +0 -0
  27. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/expression_rule_evaluator.py +0 -0
  28. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/function_call_expression_rule_evaluator.py +0 -0
  29. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/item_reference_expression_rule_evaluator.py +0 -0
  30. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/linked_service_reference_expression_rule_evaluator.py +0 -0
  31. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/literal_evaluation_expression_rule_evaluator.py +0 -0
  32. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/literal_interpolation_expression_rule_evaluator.py +0 -0
  33. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/logical_bool_expression_rule_evaluator.py +0 -0
  34. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/pipeline_reference_expression_rule_evaluator.py +0 -0
  35. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/system_variable_reference_expression_rule_evaluator.py +0 -0
  36. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/evaluator/rules/variable_reference_expression_rule_evaluator.py +0 -0
  37. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/functions_collection_implementation.py +0 -0
  38. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/functions_conversion_implementation.py +0 -0
  39. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/functions_date_implementation.py +0 -0
  40. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/functions_logical_implementation.py +0 -0
  41. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/functions_math_implementation.py +0 -0
  42. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/functions_repository.py +0 -0
  43. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_functions/functions_string_implementation.py +0 -0
  44. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_pythonnet/__init__.py +0 -0
  45. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_pythonnet/csharp_datetime.py +0 -0
  46. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_repositories/__init__.py +0 -0
  47. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_repositories/_factories/base_repository_factory.py +0 -0
  48. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_repositories/_factories/data_factory_repository_factory.py +0 -0
  49. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/_repositories/_factories/fabric_repository_factory.py +0 -0
  50. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/__init__.py +0 -0
  51. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/_activity_not_found_error.py +0 -0
  52. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/_activity_output_field_not_found_error.py +0 -0
  53. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/_data_factory_element_evaluation_error.py +0 -0
  54. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/_function_call_invalid_arguments_count_error.py +0 -0
  55. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/_parameter_not_found_error.py +0 -0
  56. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/_pipeline_activities_circular_dependency_error.py +0 -0
  57. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/_pipeline_not_found_error.py +0 -0
  58. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/_state_iteration_item_not_set_error.py +0 -0
  59. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/_unsupported_function_error.py +0 -0
  60. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/_user_error.py +0 -0
  61. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/_variable_being_evaluated_does_not_exist_error.py +0 -0
  62. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/exceptions/_variable_not_found_error.py +0 -0
  63. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/__init__.py +0 -0
  64. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/_data_factory_element.py +0 -0
  65. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/_data_factory_object_type.py +0 -0
  66. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/_pipeline.py +0 -0
  67. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/__init__.py +0 -0
  68. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/_activity.py +0 -0
  69. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/_activity_dependency.py +0 -0
  70. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/_append_variable_activity.py +0 -0
  71. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/_control_activity.py +0 -0
  72. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/_execute_pipeline_activity.py +0 -0
  73. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/_fail_activity.py +0 -0
  74. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/_filter_activity.py +0 -0
  75. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/_for_each_activity.py +0 -0
  76. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/_if_condition_activity.py +0 -0
  77. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/_set_variable_activity.py +0 -0
  78. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/_switch_activity.py +0 -0
  79. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/models/activities/_until_activity.py +0 -0
  80. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/py.typed +0 -0
  81. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/state/__init__.py +0 -0
  82. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/state/_activity_result.py +0 -0
  83. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/state/_dependency_condition.py +0 -0
  84. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/state/_pipeline_run_state.py +0 -0
  85. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/state/_pipeline_run_variable.py +0 -0
  86. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/state/_run_parameter.py +0 -0
  87. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/state/_run_parameter_type.py +0 -0
  88. {data_factory_testing_framework-0.2.4 → data_factory_testing_framework-0.2.6}/src/data_factory_testing_framework/state/_run_state.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: data-factory-testing-framework
3
- Version: 0.2.4
3
+ Version: 0.2.6
4
4
  Summary: A stand-alone test framework that allows to write unit tests for Data Factory pipelines on Microsoft Fabric and Azure Data Factory.
5
5
  License: MIT
6
6
  Keywords: fabric,datafactory,unit-testing,functional-testing,azure
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "data-factory-testing-framework"
3
- version = "0.2.4"
3
+ version = "0.2.6"
4
4
  description = "A stand-alone test framework that allows to write unit tests for Data Factory pipelines on Microsoft Fabric and Azure Data Factory."
5
5
  authors = ["Arjen Kroezen <arjenkroezen@microsoft.com>", "Yennifer Santos <ysantos@microsoft.com>", "Jaya Kumar <kumarjaya@microsoft.com>", "Leonard Herold <lherold@microsoft.com>"]
6
6
  readme = "README.md"
@@ -43,7 +43,11 @@ def _get_activity_from_activity_data(activity_data: dict) -> Activity:
43
43
  child_activities = _get_activity_from_activities_data(type_properties["activities"])
44
44
  return ForEachActivity(activities=child_activities, **activity_data)
45
45
  elif activity_data["type"] == "Switch":
46
- default_activities = _get_activity_from_activities_data(type_properties["defaultActivities"])
46
+ default_activities = (
47
+ _get_activity_from_activities_data(type_properties["defaultActivities"])
48
+ if "defaultActivities" in type_properties
49
+ else []
50
+ )
47
51
  cases_activities = {}
48
52
  for case in type_properties["cases"]:
49
53
  case_value = case["value"]
@@ -38,4 +38,4 @@ class DataFactoryRepository:
38
38
  if pipeline.name == name:
39
39
  return pipeline
40
40
 
41
- raise PipelineNotFoundError(f"Pipeline with name {name} not found")
41
+ raise PipelineNotFoundError(f"Pipeline with name: '{name}' not found")
@@ -54,21 +54,32 @@ class TestFramework:
54
54
  The repository attribute will be populated with the data factory entities if provided.
55
55
  should_evaluate_child_pipelines: optional boolean indicating whether child pipelines should be evaluated. Defaults to False.
56
56
  """
57
- if framework_type == TestFrameworkType.Fabric:
57
+ self._framework_type = framework_type
58
+
59
+ if self._framework_type == TestFrameworkType.Fabric:
58
60
  if root_folder_path is not None:
59
61
  self._repository = FabricRepositoryFactory().parse_from_folder(root_folder_path)
60
62
  else:
61
63
  self._repository = DataFactoryRepository([])
62
- elif framework_type == TestFrameworkType.DataFactory:
64
+ elif self._framework_type == TestFrameworkType.DataFactory:
63
65
  if root_folder_path is not None:
64
66
  self._repository = DataFactoryRepositoryFactory().parse_from_folder(root_folder_path)
65
67
  else:
66
68
  self._repository = DataFactoryRepository([])
67
- elif framework_type == TestFrameworkType.Synapse:
69
+ elif self._framework_type == TestFrameworkType.Synapse:
68
70
  raise NotImplementedError("Synapse test framework is not implemented yet.")
69
71
 
70
72
  self._should_evaluate_child_pipelines = should_evaluate_child_pipelines
71
73
 
74
+ @property
75
+ def framework_type(self) -> TestFrameworkType:
76
+ """Indicates which test framework is used.
77
+
78
+ Returns:
79
+ A TestFrameworkType object.
80
+ """
81
+ return self._framework_type
82
+
72
83
  @property
73
84
  def should_evaluate_child_pipelines(self) -> bool:
74
85
  """Indicates whether child pipelines should be evaluated.
@@ -146,10 +157,16 @@ class TestFramework:
146
157
  activities_iterator = []
147
158
  if isinstance(activity, ExecutePipelineActivity) and self.should_evaluate_child_pipelines:
148
159
  execute_pipeline_activity: ExecutePipelineActivity = activity
149
- pipeline = self.get_pipeline_by_id(
150
- # Note: in the future they will probably rename this to referenceId for Fabric
151
- execute_pipeline_activity.type_properties["pipeline"]["referenceName"],
152
- )
160
+ pipeline: Pipeline = None
161
+ if self.framework_type == TestFrameworkType.Fabric:
162
+ pipeline = self.get_pipeline_by_id(
163
+ # Note: in the future they will probably rename this to referenceId for Fabric
164
+ execute_pipeline_activity.type_properties["pipeline"]["referenceName"],
165
+ )
166
+ else:
167
+ pipeline = self.get_pipeline_by_name(
168
+ execute_pipeline_activity.type_properties["pipeline"]["referenceName"],
169
+ )
153
170
  activities_iterator = execute_pipeline_activity.evaluate_pipeline(
154
171
  pipeline,
155
172
  activity.get_child_run_parameters(state),