Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9126103
test_model.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
test_model.py
View Options
# Copyright (C) 2019 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
copy
from
hypothesis
import
given
from
swh.model.model
import
Content
from
swh.model.hypothesis_strategies
import
objects
,
origins
,
origin_visits
@given
(
objects
())
def
test_todict_inverse_fromdict
(
objtype_and_obj
):
(
obj_type
,
obj
)
=
objtype_and_obj
if
obj_type
in
(
'origin'
,
'origin_visit'
):
return
obj_as_dict
=
obj
.
to_dict
()
obj_as_dict_copy
=
copy
.
deepcopy
(
obj_as_dict
)
# Check the composition of to_dict and from_dict is the identity
assert
obj
==
type
(
obj
)
.
from_dict
(
obj_as_dict
)
# Check from_dict() does not change the input dict
assert
obj_as_dict
==
obj_as_dict_copy
# Check the composition of from_dict and to_dict is the identity
assert
obj_as_dict
==
type
(
obj
)
.
from_dict
(
obj_as_dict
)
.
to_dict
()
@given
(
origins
())
def
test_todict_origins
(
origin
):
obj
=
origin
.
to_dict
()
assert
'type'
not
in
obj
assert
type
(
origin
)(
url
=
origin
.
url
)
==
type
(
origin
)
.
from_dict
(
obj
)
@given
(
origin_visits
())
def
test_todict_origin_visits
(
origin_visit
):
obj
=
origin_visit
.
to_dict
()
assert
origin_visit
==
type
(
origin_visit
)
.
from_dict
(
obj
)
def
test_content_get_hash
():
hashes
=
dict
(
sha1
=
b
'foo'
,
sha1_git
=
b
'bar'
,
sha256
=
b
'baz'
,
blake2s256
=
b
'qux'
)
c
=
Content
(
length
=
42
,
status
=
'visible'
,
**
hashes
)
for
(
hash_name
,
hash_
)
in
hashes
.
items
():
assert
c
.
get_hash
(
hash_name
)
==
hash_
File Metadata
Details
Attached
Mime Type
text/x-python
Expires
Jun 21 2025, 9:43 PM (4 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3242008
Attached To
rDMOD Data model
Event Timeline
Log In to Comment