Skip to content

Commit

Permalink
Set Server.offline_since correctly.
Browse files Browse the repository at this point in the history
  • Loading branch information
garncarz committed Nov 21, 2018
1 parent 2ed6e7e commit 98b2d3d
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
4 changes: 2 additions & 2 deletions nogamespy/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ def remove_offline_entities():

servers_went_offline = Server.query.filter(
Server.online == False,
Server.offline_since is None,
Server.offline_since.is_(None),
).update({
'offline_since': datetime.now(),
}, synchronize_session='fetch')
Expand All @@ -171,4 +171,4 @@ def remove_offline_entities():
logger.debug(f'{servers_went_offline} servers went offline.')

if servers_deleted:
logger.debug(f'{servers_deleted} offline servers deleted.')
logger.info(f'{servers_deleted} offline servers deleted.')
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ raven
requests
sqlalchemy
statsd
redis==2.10.6 # temporary fix, whole line can be deleted when dependencies are fixed
11 changes: 11 additions & 0 deletions tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,14 @@ def test_remove_offline_entities():
assert inspect(server1).was_deleted
assert not inspect(server3).was_deleted
assert not inspect(player3).was_deleted


def test_set_server_offline_since():
server = factories.Server(online=False)

db_session.add(server)
db_session.commit()

models.remove_offline_entities()

assert datetime.now() - server.offline_since < timedelta(seconds=10) # "now", but test can run slowly

0 comments on commit 98b2d3d

Please sign in to comment.