Page MenuHomeSoftware Heritage

test_swhmap.py
No OneTemporary

test_swhmap.py

# Copyright (C) 2015 Stefano Zacchiroli <zack@upsilon.cc>,
# Antoine R. Dumont <antoine.romain.dumont@gmail.com>
# 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 unittest
from nose.tools import istest
from swh.data import swhmap
from test_utils import app_client
class SWHMapTestCase(unittest.TestCase):
@istest
def new_swhmap(self):
# when
m = swhmap.SWHMap()
# then
assert m.keys() == set()
assert m.objects() == {}
@istest
def add_first(self):
# given
m = swhmap.SWHMap()
# when
m.add('some-sha1', {'sha1': 'some-sha1', 'type': 'something'})
# then
keys = m.keys()
assert len(keys) == 1
assert 'some-sha1' in keys
assert m.objects()['some-sha1'] == {'sha1': 'some-sha1', 'type': 'something'}
@istest
def add_second_time_can_update(self):
# given
m = swhmap.SWHMap()
m.add('some-sha1', {'sha1': 'some-sha1', 'type': 'something'})
# when
m.add('some-sha1', {'sha1': 'some-sha1', 'type': 'something-else'})
# then
keys = m.keys()
assert len(keys) == 1
assert 'some-sha1' in keys
assert m.objects()['some-sha1'] == {'sha1': 'some-sha1', 'type': 'something-else'}
class SWHRepoTestCase(unittest.TestCase):
def setUp(self):
self.app, db_url = app_client()
@istest
def new_swhrepo(self):
# when
r = swhmap.SWHRepo()
r.add_origin({'url': 'foobar'})
r.add_content({'sha1': 'some-con-sha1'})
r.add_directory({'sha1': 'some-dir-sha1'})
r.add_revision({'sha1': 'some-rev-sha1'})
r.add_occurrence({'sha1': 'some-occ-sha1'})
r.add_release({'sha1': 'some-rel-sha1'})
# then
assert r.get_origin() == {'url': 'foobar'}
assert r.get_releases() == [{'sha1': 'some-rel-sha1'}]
assert r.get_occurrences() == [{'sha1': 'some-occ-sha1'}]
assert r.already_visited('some-con-sha1') is True
assert r.already_visited('some-dir-sha1') is True
assert r.already_visited('some-rev-sha1') is True
assert r.already_visited('some-occ-sha1') is False
assert r.already_visited('some-rel-sha1') is False
assert 'some-con-sha1' in r.get_contents().keys()
assert 'some-dir-sha1' in r.get_directories().keys()
assert 'some-rev-sha1' in r.get_revisions().keys()

File Metadata

Mime Type
text/x-python
Expires
Jul 4 2025, 8:07 AM (10 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3380225

Event Timeline