def test_save_deleted(testbucket): arch = localarchivist(testbucket, siteconfig={}) asset = arch.new_resource('filename.txt', deleted=True) arch.save(asset) assert not path.exists(path.join(testbucket, 'filename.txt')) assert not path.exists(path.join(testbucket, arch.meta_prefix, 'filename.txt'))
def test_save_no_filename(testbucket): arch = localarchivist(testbucket, siteconfig={}) with pytest.raises(TypeError) as einfo: asset = arch.new_resource(content='contents', contenttype=contenttype, resourcetype='asset', ) arch.save(asset) assert einfo
def test_save_no_content(testbucket): arch = localarchivist(testbucket, siteconfig={}) asset = arch.new_resource('filename.txt', contenttype=contenttype, resourcetype='asset', ) with pytest.raises(TypeError) as einfo: arch.save(asset) assert 'content' in str(einfo.value)
def test_save_artifact_no_guid(testbucket): arch = localarchivist(testbucket, siteconfig={}) with pytest.raises(ValueError) as einfo: asset = arch.new_resource(content='contents', contenttype=contenttype, resourcetype='artifact', key='artifact_without_guid.txt' ) arch.save(asset) assert einfo
def test_save_success(testbucket): arch = localarchivist(testbucket, siteconfig={}) asset = arch.new_resource('filename.txt', content='contents', contenttype=contenttype, resourcetype='asset' ) arch.save(asset) resource = arch.get('filename.txt') assert path.exists(path.join(testbucket, 'filename.txt')) assert resource.key == 'filename.txt' assert resource.bucket == arch.bucket assert resource.content == 'contents' assert resource.resourcetype == 'asset' assert resource.contenttype == contenttype
def test_save_with_metadata(testbucket): arch = localarchivist(testbucket, siteconfig={}) meta = {"stuff": "things"} asset = arch.new_resource('filename.txt', content='contents', contenttype=contenttype, resourcetype='asset', metadata=meta ) arch.save(asset) resource = arch.get('filename.txt') assert path.exists(path.join(testbucket, 'filename.txt')) assert resource.key == 'filename.txt' assert resource.bucket == arch.bucket assert resource.content == 'contents' assert resource.resourcetype == 'asset' assert resource.contenttype == contenttype assert resource.metadata == {"stuff": "things", "resourcetype": "asset"}
def test_new_resource_with_kwargs(testbucket): arch = localarchivist(testbucket, siteconfig={}) asset = arch.new_resource('test.key', deleted=True) assert asset.deleted is True
def test_new_resource_with_key(testbucket): arch = localarchivist(testbucket, siteconfig={}) asset = arch.new_resource('test.key') assert asset.bucket == testbucket assert asset.key == 'test.key'
def test_jinja_custom_prefix(testbucket): arch = localarchivist(testbucket, siteconfig={"template_dir": "tests"}) jinja = arch.jinja assert jinja.loader.searchpath == [path.join(testbucket, "tests")]
def test_jinja_defaults(testbucket): arch = localarchivist(testbucket, siteconfig={}) jinja = arch.jinja assert jinja.loader.searchpath == [path.join(testbucket, '_templates')]
def test_asset_data_mutator(testbucket): arch = localarchivist(testbucket, siteconfig={}) asset = arch.new_resource(key='testkey', data={"this": "that"}, contenttype='application/json') assert asset.content == '{"this": "that"}' assert asset.data == {"this": "that"}
def test_asset_text_mutator(testbucket): arch = localarchivist(testbucket, siteconfig={}) asset = arch.new_resource(key='testkey', text='¿Dónde esta el baño?', contenttype='text/plain') assert type(asset.content) == bytes assert asset.text == '¿Dónde esta el baño?'
def test_all_archetypes(testbucket): arch = localarchivist(testbucket, siteconfig={}) for item in arch.all_archetypes(): assert isinstance(item, localresource)
def test_delete_no_filename(testbucket): arch = localarchivist(testbucket, siteconfig={}) with pytest.raises(TypeError): arch.delete()
def test_delete_by_key(testbucket): arch = localarchivist(testbucket, siteconfig={}) arch.delete('filename.txt') assert not path.exists(path.join(testbucket, 'filename.txt')) assert not path.exists(path.join(testbucket, arch.meta_prefix, 'filename.txt'))