Page Menu
Home
Search
Configure Global Search
Log In
Files
F14216449
test_file_caching.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Size
2 KB
Subscribers
None
test_file_caching.py
View Options
"""Test cases for the /files/{id} entrypoint, testing cache behaviour."""
import
bson.tz_util
import
datetime
from
eve
import
RFC1123_DATE_FORMAT
from
common_test_class
import
AbstractPillarTest
class
FileCachingTest
(
AbstractPillarTest
):
def
test_nonexistant_file
(
self
):
with
self
.
app
.
test_request_context
():
resp
=
self
.
client
.
get
(
'/files/12345'
)
self
.
assertEqual
(
404
,
resp
.
status_code
)
def
test_existing_file
(
self
):
file_id
,
_
=
self
.
ensure_file_exists
()
resp
=
self
.
client
.
get
(
'/files/
%s
'
%
file_id
)
self
.
assertEqual
(
200
,
resp
.
status_code
)
def
test_if_modified_304
(
self
):
with
self
.
app
.
test_request_context
():
# Make sure the file link has not expired.
expires
=
datetime
.
datetime
.
now
(
tz
=
bson
.
tz_util
.
utc
)
+
datetime
.
timedelta
(
minutes
=
1
)
file_id
,
file_doc
=
self
.
ensure_file_exists
(
file_overrides
=
{
u'link_expires'
:
expires
})
updated
=
file_doc
[
'_updated'
]
.
strftime
(
RFC1123_DATE_FORMAT
)
resp
=
self
.
client
.
get
(
'/files/
%s
'
%
file_id
,
headers
=
{
'if_modified_since'
:
updated
})
self
.
assertEqual
(
304
,
resp
.
status_code
)
def
test_if_modified_200
(
self
):
file_id
,
file_doc
=
self
.
ensure_file_exists
()
delta
=
datetime
.
timedelta
(
days
=-
1
)
with
self
.
app
.
test_request_context
():
updated
=
(
file_doc
[
'_updated'
]
+
delta
)
.
strftime
(
RFC1123_DATE_FORMAT
)
resp
=
self
.
client
.
get
(
'/files/
%s
'
%
file_id
,
headers
=
{
'if_modified_since'
:
updated
})
self
.
assertEqual
(
200
,
resp
.
status_code
)
def
test_if_modified_link_expired
(
self
):
with
self
.
app
.
test_request_context
():
# Make sure the file link has expired.
expires
=
datetime
.
datetime
.
now
(
tz
=
bson
.
tz_util
.
utc
)
-
datetime
.
timedelta
(
seconds
=
1
)
file_id
,
file_doc
=
self
.
ensure_file_exists
(
file_overrides
=
{
u'link_expires'
:
expires
})
updated
=
file_doc
[
'_updated'
]
.
strftime
(
RFC1123_DATE_FORMAT
)
resp
=
self
.
client
.
get
(
'/files/
%s
'
%
file_id
,
headers
=
{
'if_modified_since'
:
updated
})
self
.
assertEqual
(
200
,
resp
.
status_code
)
File Metadata
Details
Attached
Mime Type
text/x-python
Expires
Thu, Feb 2, 4:51 AM (2 d)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
cd/29/25e52c428e45ed4d07ef8886d303
Attached To
rPS Pillar
Event Timeline
Log In to Comment