# ***** BEGIN GPL LICENSE BLOCK ***** # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # ***** END GPL LICENCE BLOCK ***** # # (c) 2019, Blender Foundation - Sybren A. Stüvel import pathlib import responses from tests.test_pack import AbstractPackTest from blender_asset_tracer.pack import shaman httpmock = responses.RequestsMock() class ShamanPackTest(AbstractPackTest): @httpmock.activate def test_all_files_already_uploaded(self): infile = self.blendfiles / 'basic_file_ñønæščii.blend' packer = shaman.ShamanPacker(infile, infile.parent, '/', endpoint='http://shaman.local', checkout_id='DA-JOBBY-ID') # Temporary hack httpmock.add('GET', 'http://shaman.local/get-token', body='AUTH-TOKEN') # Just fake that everything is already available on the server. httpmock.add('POST', 'http://shaman.local/checkout/requirements', body='') httpmock.add('POST', 'http://shaman.local/checkout/create/DA-JOBBY-ID', body='DA/-JOBBY-ID') with packer: packer.strategise() packer.execute() self.assertEqual(pathlib.PurePosixPath('DA/-JOBBY-ID/basic_file_ñønæščii.blend'), packer.output_path)