Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F7451149
test_tests.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Subscribers
None
test_tests.py
View Options
# Copyright (C) 2018 The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information
import
os.path
from
os.path
import
join
import
pytest
import
re
import
tarfile
import
tempfile
from
unittest
import
TestCase
from
.
import
BaseLoaderStorageTest
from
swh.loader.core.tests
import
BaseLoaderTest
class
TestsTest
(
BaseLoaderStorageTest
,
TestCase
):
"""Test the helpers provided to other loaders' tests."""
def
_build_archive
(
self
,
fd
):
with
tarfile
.
open
(
mode
=
'w'
,
fileobj
=
fd
)
as
tf
:
with
tempfile
.
TemporaryDirectory
()
as
src_dir
:
with
open
(
join
(
src_dir
,
'hello.txt'
),
'a'
)
as
src_file
:
src_file
.
write
(
'world
\n
'
)
tf
.
add
(
src_dir
,
arcname
=
'test_dir'
)
def
_build_workdir
(
self
,
workdir
):
os
.
mkdir
(
join
(
workdir
,
'resources'
))
tarball_path
=
join
(
workdir
,
'resources'
,
'test_archive.tar'
)
with
open
(
tarball_path
,
'a+b'
)
as
tar_fd
:
self
.
_build_archive
(
tar_fd
)
@pytest.mark.fs
def
test_uncompress_setup_auto_name
(
self
):
loader_test
=
BaseLoaderTest
()
with
tempfile
.
TemporaryDirectory
()
as
workdir
:
self
.
_build_workdir
(
workdir
)
loader_test
.
setUp
(
'test_archive.tar'
,
start_path
=
workdir
)
self
.
assertTrue
(
re
.
match
(
'^file://.*-tests/test_archive.tar$'
,
loader_test
.
repo_url
),
msg
=
loader_test
.
repo_url
)
self
.
assertTrue
(
os
.
path
.
isdir
(
loader_test
.
destination_path
))
self
.
assertTrue
(
os
.
path
.
isdir
(
join
(
loader_test
.
destination_path
,
'test_dir'
)))
self
.
assertTrue
(
os
.
path
.
isfile
(
join
(
loader_test
.
destination_path
,
'test_dir'
,
'hello.txt'
)))
loader_test
.
tearDown
()
self
.
assertFalse
(
os
.
path
.
isdir
(
loader_test
.
destination_path
))
@pytest.mark.fs
def
test_uncompress_setup_provided_name
(
self
):
loader_test
=
BaseLoaderTest
()
with
tempfile
.
TemporaryDirectory
()
as
workdir
:
self
.
_build_workdir
(
workdir
)
loader_test
.
setUp
(
'test_archive.tar'
,
start_path
=
workdir
,
filename
=
'test_dir'
)
self
.
assertTrue
(
re
.
match
(
'^file://.*-tests/test_dir$'
,
loader_test
.
repo_url
),
msg
=
loader_test
.
repo_url
)
self
.
assertTrue
(
os
.
path
.
isdir
(
loader_test
.
destination_path
))
self
.
assertTrue
(
os
.
path
.
isfile
(
join
(
loader_test
.
destination_path
,
'hello.txt'
)))
loader_test
.
tearDown
()
self
.
assertFalse
(
os
.
path
.
isdir
(
loader_test
.
destination_path
))
@pytest.mark.fs
def
test_setup_no_uncompress
(
self
):
loader_test
=
BaseLoaderTest
()
with
tempfile
.
TemporaryDirectory
()
as
workdir
:
self
.
_build_workdir
(
workdir
)
loader_test
.
setUp
(
'test_archive.tar'
,
start_path
=
workdir
,
uncompress_archive
=
False
)
self
.
assertEqual
(
'file://'
+
workdir
+
'/resources/test_archive.tar'
,
loader_test
.
repo_url
)
self
.
assertEqual
(
workdir
+
'/resources/test_archive.tar'
,
loader_test
.
destination_path
)
File Metadata
Details
Attached
Mime Type
text/x-python
Expires
Thu, Apr 17, 9:52 AM (4 d, 17 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3242470
Attached To
rDLDBASE Generic VCS/Package Loader
Event Timeline
Log In to Comment