BetweenDates

Whether value is within a date range.

python · Filters And Transformers

Details

IDBetweenDates
Languagepython
From Version5.0.0
Docker Imagedemisto/python3:3.12.13.10404775
Tagstransformer date

README

Whether value is within a date range.

Script Data


Name Description
Script Type python3
Tags transformer, date
Cortex XSOAR Version 5.0.0

Inputs


Argument Name Description
value Value to check
begin_date Lower date range
end_date Upper date range

Outputs


Path Description Type
BetweenDates.result Whether the input hour is between the given hours. boolean
BetweenDates.value The value to check. string
BetweenDates.begin_date Lower date range. string
BetweenDates.end_date Upper date range. string
import pytest
from BetweenDates import is_between_dates

TEST_INPUTS = [
    ("2020-04-06T12:00:00", "2020-04-01T12:00:00", "2020-04-14T12:00:00", True, "sanity 1"),
    ("2020-04-04T12:00:00", "2020-04-01T10:00:00", "2020-04-04T16:00:00", True, "sanity 2"),
    ("2020-04-06T12:00:00", "2020-04-01T12:00:00", "2020-06-04T12:00:00", True, "sanity 3"),
    ("2020-04-04T12:00:00", "2020-04-04T12:00:00", "2020-04-04T12:00:00", True, "exact same date"),
    ("2020-04-04T12:00:00", "2020-04-04T12:00:00", "2020-04-04T12:00:00", True, "same as begin date"),
    ("2020-04-04T12:00:00", "2020-04-04T12:00:00", "2020-04-04T12:00:00", True, "same as end date"),
    ("2020-04-01T12:00:00", "2020-04-04T12:00:00", "2020-05-04T12:00:00", False, "before begin date"),
    ("2020-05-04T12:00:00", "2020-04-04T12:00:00", "2020-04-14T12:00:00", False, "after end date"),
    ("2020-04-04T12:00:00+01:00", "2020-04-01T12:00:00+01:00", "2020-06-04T12:00:00Z", True, "timezone 1"),
    ("2020-04-04T12:00:00+01:00", "2020-04-01T12:00:00Z", "2020-04-04T12:00:00Z", True, "timezone 2"),
    ("2020-04-04T12:00:00-01:00", "2020-04-01T12:00:00Z", "2020-04-04T12:00:00Z", False, "timezone 3"),
]


@pytest.mark.parametrize("value, begin_date, end_date, expected_result, test_title", TEST_INPUTS)
def test_is_between_dates(value, begin_date, end_date, expected_result, test_title):
    assert is_between_dates(value, begin_date, end_date) == expected_result, test_title