def test_uuid(self): assert isinstance(FilePattern.get_uuid(), uuid.UUID), "type uuid.UUID expected" assert FilePattern.get_uuid().hex[12] == "4", "UUID version 4 expected" assert (FixedUUIDFilePattern(filename_pattern="{uuid:x}{ext}")( instance=DefaultModel(title="best model"), filename="some_file.txt") == "522d6f3519204b0fb82ae8f558af2749.txt" )
def test_call__full_path(self): assert FilePattern()( instance=DefaultModel(), filename='/var/www/index.html' ) == 'index.html'
def test_call__dot_file(self): assert FilePattern()( instance=DefaultModel(), filename='.hidden-truth.txt' ) == '.hidden-truth.txt'
def test_call__slug_precision(self): assert (FilePattern(filename_pattern="{instance.title:.4slug}{ext}")( instance=DefaultModel(title="best model"), filename="some_file.txt") == "best.txt")
def test_call__model_name(self): assert FilePattern(filename_pattern='{model_name}/{name}{ext}')( instance=DefaultModel(), filename='some_file.txt' ) == 'defaultmodel/some_file.txt'
def test_call__uuid_base64(self): assert FixedUUIDFilePattern(filename_pattern='{uuid:base64}{ext}')( instance=DefaultModel(), filename='other_file.txt' ) == 'Ui1vNRkgSw-4Kuj1WK8nSQ.txt'
def test_call__uuid_hex_upper(self): assert FixedUUIDFilePattern(filename_pattern='{uuid:X}{ext}')( instance=DefaultModel(), filename='other_file.txt' ) == '522D6F3519204B0FB82AE8F558AF2749.txt'
def test_call__uuid_base10(self): assert FixedUUIDFilePattern(filename_pattern='{uuid:i}{ext}')( instance=DefaultModel(), filename='other_file.txt' ) == '109232604567331952752042348453722793801.txt'
def test_call__name_override(self): assert (FilePattern(name="special_name")( instance=DefaultModel(), filename="some_file.txt") == "special_name.txt")
def test_call__model_name(self): assert (FilePattern(filename_pattern="{model_name}/{name}{ext}")( instance=DefaultModel(), filename="some_file.txt") == "defaultmodel/some_file.txt")
def test_call__app_label(self): assert (FilePattern(filename_pattern="{app_label}/{name}{ext}")( instance=DefaultModel(), filename="some_file.txt") == "testapp/some_file.txt")
def test_call__uuid_base64(self): assert (FixedUUIDFilePattern(filename_pattern="{uuid:base64}{ext}")( instance=DefaultModel(), filename="other_file.txt") == "Ui1vNRkgSw-4Kuj1WK8nSQ.txt")
def test_call__uuid(self): assert (FixedUUIDFilePattern(filename_pattern="{uuid}{ext}")( instance=DefaultModel(), filename="other_file.txt") == "522d6f35-1920-4b0f-b82a-e8f558af2749.txt")
def test_call__override_pattern(self): assert (FilePattern(filename_pattern="my_file{ext}")( instance=DefaultModel(), filename="other_file.txt") == "my_file.txt")
def test_call__override_pattern(self): assert FilePattern(filename_pattern='my_file{ext}')( instance=DefaultModel(), filename='other_file.txt' ) == 'my_file.txt'
def test_call__slug(self): assert FilePattern(filename_pattern='{instance.title:slug}{ext}')( instance=DefaultModel(title='best model with ünicode'), filename='some_file.txt' ) == 'best-model-with-unicode.txt'
def test_call__uuid_str(self): assert FixedUUIDFilePattern(filename_pattern='{uuid:s}{ext}')( instance=DefaultModel(), filename='other_file.txt' ) == '522d6f35-1920-4b0f-b82a-e8f558af2749.txt'
def test_call__slug_precision(self): assert FilePattern(filename_pattern='{instance.title:.4slug}{ext}')( instance=DefaultModel(title='best model'), filename='some_file.txt' ) == 'best.txt'
def test_call__uuid_hex_lower(self): assert FixedUUIDFilePattern(filename_pattern='{uuid:x}{ext}')( instance=DefaultModel(), filename='other_file.txt' ) == '522d6f3519204b0fb82ae8f558af2749.txt'
def test_call__default(self): assert FilePattern()(instance=DefaultModel(), filename='test_file.txt') == 'test_file.txt'
def test_call__uuid_base32(self): assert FixedUUIDFilePattern(filename_pattern='{uuid:base32}{ext}')( instance=DefaultModel(), filename='other_file.txt' ) == 'KIWW6NIZEBFQ7OBK5D2VRLZHJE.txt'
def test_call__no_extension(self): assert FilePattern()(instance=DefaultModel(), filename='test_file') == 'test_file'
def test_call__app_label(self): assert FilePattern(filename_pattern='{app_label}/{name}{ext}')( instance=DefaultModel(), filename='some_file.txt' ) == 'testapp/some_file.txt'
def test_call__only_extension(self): assert FilePattern()(instance=DefaultModel(), filename='.htaccess') == '.htaccess'
def test_call__name_override(self): assert FilePattern(name='special_name')( instance=DefaultModel(), filename='some_file.txt' ) == 'special_name.txt'
def test_call__slug(self): assert (FilePattern(filename_pattern="{instance.title:slug}{ext}")( instance=DefaultModel(title="best model with ünicode"), filename="some_file.txt", ) == "best-model-with-unicode.txt")