def test_streams_raises_valueerror(self): """ Assert streams raises ValueError if not uuid, uuid str, or path """ db = BTrDB(None) with pytest.raises(ValueError) as exc: db.streams(11)
def test_streams_raises_err_if_version_argument_mismatch(self): """ Assert streams raises ValueError if len(identifiers) doesnt match length of versions """ db = BTrDB(None) with pytest.raises(ValueError) as exc: db.streams('0d22a53b-e2ef-4e0a-ab89-b2d48fb2592a', versions=[2, 2]) assert "versions does not match identifiers" in str(exc)
def test_streams_raises_err_if_version_not_list(self): """ Assert streams raises TypeError if versions is not list """ db = BTrDB(None) with pytest.raises(TypeError) as exc: db.streams('0d22a53b-e2ef-4e0a-ab89-b2d48fb2592a', versions="2,2") assert "versions argument must be of type list" in str(exc)
def test_streams_recognizes_uuid(self, mock_func): """ Assert streams recognizes uuid strings """ db = BTrDB(None) uuid1 = uuidlib.UUID('0d22a53b-e2ef-4e0a-ab89-b2d48fb2592a') mock_func.return_value = [1] db.streams(uuid1) mock_func.assert_called_once() assert mock_func.call_args[0][0] == uuid1
def test_streams_handles_path(self, mock_func): """ Assert streams calls streams_in_collection for collection/name paths """ db = BTrDB(None) ident = "zoo/animal/dog" mock_func.return_value = [1] db.streams(ident, '0d22a53b-e2ef-4e0a-ab89-b2d48fb2592a') mock_func.assert_called_once() assert mock_func.call_args[0][0] == 'zoo/animal' assert mock_func.call_args[1] == {'tags': {'name': 'dog'}}
def test_streams_stores_versions(self): """ Assert streams correctly stores supplied version info """ db = BTrDB(None) uuid1 = uuidlib.UUID('0d22a53b-e2ef-4e0a-ab89-b2d48fb2592a') uuid2 = uuidlib.UUID('17dbe387-89ea-42b6-864b-f505cdb483f5') versions = [22, 44] expected = dict(zip([uuid1, uuid2], versions)) streams = db.streams(uuid1, uuid2, versions=versions) assert streams._pinned_versions == expected
def test_streams_raises_err(self, mock_func): """ Assert streams raises NotFound """ db = BTrDB(None) ident = "zoo/animal/dog" mock_func.return_value = [] with pytest.raises(NotFound) as exc: db.streams(ident) mock_func.return_value = [1, 2] with pytest.raises(NotFound) as exc: db.streams(ident) # check that does not raise if one returned mock_func.return_value = [1] db.streams(ident)