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
@@ -0,0 +1,6 @@
Fixed
-----

- Fixed a bug in ``globus_sdk.TransferData`` which failed to convert
``deadline`` to a string when a ``datetime.datetime`` object is given.
(:pr:`NUMBER`)
3 changes: 2 additions & 1 deletion src/globus_sdk/services/transfer/data/transfer_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import typing as t
import uuid

from globus_sdk._internal.remarshal import stringify
from globus_sdk._missing import MISSING, MissingType
from globus_sdk._payload import GlobusPayload

Expand Down Expand Up @@ -176,7 +177,7 @@ def __init__(
self["destination_endpoint"] = destination_endpoint
self["label"] = label
self["submission_id"] = submission_id
self["deadline"] = deadline
self["deadline"] = stringify(deadline)
self["source_local_user"] = source_local_user
self["destination_local_user"] = destination_local_user
self["verify_checksum"] = verify_checksum
Expand Down
16 changes: 16 additions & 0 deletions tests/unit/helpers/test_transfer.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import datetime

import pytest

from globus_sdk import MISSING, DeleteData, TransferData
Expand Down Expand Up @@ -298,3 +300,17 @@ def test_add_filter_rule():
)
def test_ls_format_filter(filter, expected):
assert _format_filter(filter) == expected


@pytest.mark.parametrize(
"deadline_str",
[
pytest.param("2026-02-27 09:36:50.517299", id="naive_w_microseconds"),
pytest.param("2020-01-01 08:22:12+04:00", id="plus4"),
],
)
def test_transfer_data_stringifies_deadline(deadline_str):
deadline_dt = datetime.datetime.fromisoformat(deadline_str)

tdata = TransferData(GO_EP1_ID, GO_EP2_ID, deadline=deadline_dt)
assert tdata["deadline"] == deadline_str