Skip to content

Commit

Permalink
Fix flaky tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Lynch Wu committed May 9, 2019
1 parent 6a36192 commit 1ef740f
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 6 deletions.
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ def readme():
package_data={"splunk_eventgen": ['*.sh', '*.txt', '*.yml'], '': ['*.sh', '*.txt', '*.yml']},
install_requires=[
'pytest>=3.0.0', # Required to test functional tests in eventgen.
'pytest-mock>=1.10.4',
'boto3',
'requests>=2.18.4',
'requests[security]',
Expand Down
17 changes: 14 additions & 3 deletions tests/large/test_jinja_template.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@ def test_jinja_template_dir_conf(eventgen_test_helper):
loop += 1


def _get_ts(base_time, delta):
time_format = '%Y-%m-%dT%H:%M:%S'
t = datetime.datetime.strptime(base_time, time_format) + delta
return t.strftime(time_format)


def test_jinja_template_advance(eventgen_test_helper):
"""Test advanced jinja template var feature"""
events = eventgen_test_helper('eventgen_jinja_advance.conf').get_events()
Expand All @@ -53,10 +59,15 @@ def test_jinja_template_advance(eventgen_test_helper):
# splunk may index multiline event
assert len(events) == 27
# because we use time slice method to mock the time, it should be static values

tz_delta = datetime.datetime.now() - datetime.datetime.utcnow()
# total seconds is a float number
delta_hours = int(round(tz_delta.total_seconds() / 3600))
tz_delta = datetime.timedelta(hours=delta_hours)
ts_map = {
1: '1970-01-01T08:24:16',
2: '1970-01-01T08:27:58',
3: '1970-01-01T08:31:40',
1: _get_ts('1970-01-01T00:24:16', tz_delta),
2: _get_ts('1970-01-01T00:27:58', tz_delta),
3: _get_ts('1970-01-01T00:31:40', tz_delta),
}

firstline_pattern = re.compile(
Expand Down
3 changes: 2 additions & 1 deletion tests/large/test_mode_replay.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ def test_mode_replay_timemultiple(eventgen_test_helper):
event_datetime = datetime.strptime(result.group(), "%Y-%m-%d %H:%M:%S")
delter_seconds = (event_datetime - current_datetime).total_seconds()
# assert the event time is after (now - earliest) time
assert delter_seconds < 11
assert delter_seconds < 12


def test_mode_replay_csv(eventgen_test_helper):
"""Test normal replay mode with sampletype = csv which will get _raw row from the sample"""
Expand Down
4 changes: 2 additions & 2 deletions tests/large/test_mode_sample.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ def test_mode_sample_backfill(eventgen_test_helper):
assert result is not None
event_datetime = datetime.strptime(result.group(), "%Y-%m-%d %H:%M:%S")
delter_seconds = (event_datetime - current_datetime).total_seconds()
# assert the event time is after (now - backfill) time
assert delter_seconds > -15
# assert the event time is after (now - backfill) + 1 time, plus 1 to make it less flaky
assert delter_seconds > -16


def test_mode_sample_breaker(eventgen_test_helper):
Expand Down
1 change: 1 addition & 0 deletions tests/sample_eventgen_conf/jinja/eventgen.conf.jinja_basic
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
end = 1
count = 1
generator = jinja
sampleDir = .
jinja_template_dir = templates
jinja_target_template = test_jinja_basic.template
jinja_variables = {"large_number":10}
Expand Down

0 comments on commit 1ef740f

Please sign in to comment.