Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ class AsanaCreateTaskOperator(BaseOperator):
def __init__(
self,
*,
conn_id: str,
name: str,
task_parameters: dict | None = None,
conn_id: str = "asana_default",
**kwargs,
) -> None:
super().__init__(**kwargs)
Expand Down Expand Up @@ -92,9 +92,9 @@ class AsanaUpdateTaskOperator(BaseOperator):
def __init__(
self,
*,
conn_id: str,
asana_task_gid: str,
task_parameters: dict,
conn_id: str = "asana_default",
**kwargs,
) -> None:
super().__init__(**kwargs)
Expand Down Expand Up @@ -124,8 +124,8 @@ class AsanaDeleteTaskOperator(BaseOperator):
def __init__(
self,
*,
conn_id: str,
asana_task_gid: str,
conn_id: str = "asana_default",
**kwargs,
) -> None:
super().__init__(**kwargs)
Expand Down Expand Up @@ -160,8 +160,8 @@ class AsanaFindTaskOperator(BaseOperator):
def __init__(
self,
*,
conn_id: str,
search_parameters: dict | None = None,
conn_id: str = "asana_default",
**kwargs,
) -> None:
super().__init__(**kwargs)
Expand Down
75 changes: 75 additions & 0 deletions providers/asana/tests/unit/asana/operators/test_asana_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,27 @@ class TestAsanaTaskOperators:
@pytest.fixture(autouse=True)
def setup_connections(self, create_connection_without_db):
create_connection_without_db(Connection(conn_id="asana_test", conn_type="asana", password="test"))
create_connection_without_db(Connection(conn_id="asana_default", conn_type="asana", password="test"))

@patch("airflow.providers.asana.operators.asana_tasks.AsanaHook")
def test_asana_create_task_operator_with_default_conn(self, mock_asana_hook):
"""
Tests that the AsanaCreateTaskOperator uses the default connection.
"""

mock_hook_instance = MagicMock()
mock_asana_hook.return_value = mock_hook_instance
mock_hook_instance.create_task.return_value = {"gid": "1"}

create_task = AsanaCreateTaskOperator(
task_id="create_task",
name="test",
task_parameters={"workspace": "1"},
)
result = create_task.execute({})
assert create_task.conn_id == "asana_default"
mock_hook_instance.create_task.assert_called_once_with("test", {"workspace": "1"})
assert result == "1"

@patch("airflow.providers.asana.operators.asana_tasks.AsanaHook")
def test_asana_create_task_operator(self, mock_asana_hook):
Expand All @@ -58,6 +79,26 @@ def test_asana_create_task_operator(self, mock_asana_hook):
mock_hook_instance.create_task.assert_called_once_with("test", {"workspace": "1"})
assert result == "1"

@patch("airflow.providers.asana.operators.asana_tasks.AsanaHook")
def test_asana_find_task_operator_with_default_conn(self, mock_asana_hook):
"""
Tests that the AsanaFindTaskOperator uses the default connection.
"""

mock_hook_instance = MagicMock()
mock_asana_hook.return_value = mock_hook_instance
mock_hook_instance.find_task.return_value = {"gid": "1"}

find_task = AsanaFindTaskOperator(
task_id="find_task",
search_parameters={"project": "test"},
)
assert find_task.conn_id == "asana_default"

result = find_task.execute({})
mock_hook_instance.find_task.assert_called_once_with({"project": "test"})
assert result == {"gid": "1"}

@patch("airflow.providers.asana.operators.asana_tasks.AsanaHook")
def test_asana_find_task_operator(self, mock_asana_hook):
"""
Expand All @@ -77,6 +118,23 @@ def test_asana_find_task_operator(self, mock_asana_hook):
mock_hook_instance.find_task.assert_called_once_with({"project": "test"})
assert result == {"gid": "1"}

@patch("airflow.providers.asana.operators.asana_tasks.AsanaHook")
def test_asana_update_task_operator_default_conn(self, mock_asana_hook):
"""
Tests that the AsanaUpdateTaskOperator uses the default connection.
"""

mock_hook_instance = MagicMock()
mock_asana_hook.return_value = mock_hook_instance
update_task = AsanaUpdateTaskOperator(
task_id="update_task",
asana_task_gid="test",
task_parameters={"completed": True},
)
assert update_task.conn_id == "asana_default"
update_task.execute({})
mock_hook_instance.update_task.assert_called_once_with("test", {"completed": True})

@patch("airflow.providers.asana.operators.asana_tasks.AsanaHook")
def test_asana_update_task_operator(self, mock_asana_hook):
"""
Expand All @@ -93,6 +151,23 @@ def test_asana_update_task_operator(self, mock_asana_hook):
update_task.execute({})
mock_hook_instance.update_task.assert_called_once_with("test", {"completed": True})

@patch("airflow.providers.asana.operators.asana_tasks.AsanaHook")
def test_asana_delete_task_operator_with_default_conn(self, mock_asana_hook):
"""
Tests that the AsanaDeleteTaskOperator uses the default connection.
"""

mock_hook_instance = MagicMock()
mock_asana_hook.return_value = mock_hook_instance

delete_task = AsanaDeleteTaskOperator(
task_id="delete_task",
asana_task_gid="test",
)
delete_task.execute({})
assert delete_task.conn_id == "asana_default"
mock_hook_instance.delete_task.assert_called_once_with("test")

@patch("airflow.providers.asana.operators.asana_tasks.AsanaHook")
def test_asana_delete_task_operator(self, mock_asana_hook):
"""
Expand Down