|
48 | 48 | LineageDirection, |
49 | 49 | SaveSemantic, |
50 | 50 | SortOrder, |
| 51 | + alpha_DQScheduleType, |
51 | 52 | ) |
52 | 53 | from pyatlan.model.fluent_search import CompoundQuery, FluentSearch |
53 | 54 | from pyatlan.model.group import GroupRequest |
@@ -2716,3 +2717,50 @@ def test_get_by_qualified_name_asset_not_found(mock_api_caller): |
2716 | 2717 | ) |
2717 | 2718 |
|
2718 | 2719 | mock_execute.assert_called_once() |
| 2720 | + |
| 2721 | + |
| 2722 | +def test_add_dq_rule_schedule(mock_api_caller): |
| 2723 | + asset_client = AssetClient(mock_api_caller) |
| 2724 | + asset_type = Table |
| 2725 | + asset_name = "Test Table" |
| 2726 | + asset_qualified_name = "test/qualified/name" |
| 2727 | + schedule_cron_string = "0 0 * * *" |
| 2728 | + schedule_time_zone = "UTC" |
| 2729 | + |
| 2730 | + updated_table = Table() |
| 2731 | + updated_table.guid = "test-guid-123" |
| 2732 | + updated_table.alpha_asset_d_q_schedule_time_zone = schedule_time_zone |
| 2733 | + updated_table.alpha_asset_d_q_schedule_crontab = schedule_cron_string |
| 2734 | + updated_table.alpha_asset_d_q_schedule_type = alpha_DQScheduleType.CRON |
| 2735 | + |
| 2736 | + mock_response = Mock(spec=AssetMutationResponse) |
| 2737 | + |
| 2738 | + with patch.object( |
| 2739 | + asset_type, "updater", return_value=updated_table |
| 2740 | + ) as mock_updater: |
| 2741 | + with patch.object( |
| 2742 | + asset_client, "save", return_value=mock_response |
| 2743 | + ) as mock_save: |
| 2744 | + result = asset_client.add_dq_rule_schedule( |
| 2745 | + asset_type=asset_type, |
| 2746 | + asset_name=asset_name, |
| 2747 | + asset_qualified_name=asset_qualified_name, |
| 2748 | + schedule_crontab=schedule_cron_string, |
| 2749 | + schedule_time_zone=schedule_time_zone, |
| 2750 | + ) |
| 2751 | + |
| 2752 | + mock_updater.assert_called_once_with( |
| 2753 | + qualified_name=asset_qualified_name, |
| 2754 | + name=asset_name, |
| 2755 | + ) |
| 2756 | + assert ( |
| 2757 | + updated_table.alpha_asset_d_q_schedule_time_zone == schedule_time_zone |
| 2758 | + ) |
| 2759 | + assert ( |
| 2760 | + updated_table.alpha_asset_d_q_schedule_crontab == schedule_cron_string |
| 2761 | + ) |
| 2762 | + assert ( |
| 2763 | + updated_table.alpha_asset_d_q_schedule_type == alpha_DQScheduleType.CRON |
| 2764 | + ) |
| 2765 | + mock_save.assert_called_once_with(updated_table) |
| 2766 | + assert result == mock_response |
0 commit comments