|
@@ -1,12 +1,9 @@
|
|
|
-import io
|
|
|
import sys
|
|
|
sys.path.append('.')
|
|
|
import numpy
|
|
|
import random
|
|
|
import uuid
|
|
|
|
|
|
-from hashlib import sha1
|
|
|
-
|
|
|
import pytest
|
|
|
|
|
|
from PIL import Image
|
|
@@ -15,6 +12,7 @@ from lakesuperior.app import create_app
|
|
|
from lakesuperior.config_parser import config
|
|
|
from lakesuperior.store_layouts.rdf.graph_store_connector import \
|
|
|
GraphStoreConnector
|
|
|
+from util.generators import random_image
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='module')
|
|
@@ -47,56 +45,10 @@ def db(app):
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
-def rnd_image(rnd_utf8_string):
|
|
|
+def rnd_img():
|
|
|
'''
|
|
|
Generate a square image with random color tiles.
|
|
|
'''
|
|
|
- ts = 8 # Tile width and height. @TODO parametrize.
|
|
|
- ims = 256 # Image width and height. @TODO parametrize.
|
|
|
- imarray = numpy.random.rand(ts, ts, 3) * 255
|
|
|
- im = Image.fromarray(imarray.astype('uint8')).convert('RGBA')
|
|
|
- im = im.resize((ims, ims), Image.NEAREST)
|
|
|
-
|
|
|
- imf = io.BytesIO()
|
|
|
- im.save(imf, format='png')
|
|
|
- imf.seek(0)
|
|
|
- hash = sha1(imf.read()).hexdigest()
|
|
|
-
|
|
|
- return {
|
|
|
- 'content' : imf,
|
|
|
- 'hash' : hash,
|
|
|
- 'filename' : rnd_utf8_string + '.png'
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-@pytest.fixture
|
|
|
-def rnd_utf8_string():
|
|
|
- '''
|
|
|
- Generate a random UTF-8 string.
|
|
|
- '''
|
|
|
- # @TODO Update this to include code point ranges to be sampled
|
|
|
- include_ranges = [
|
|
|
- ( 0x0021, 0x0021 ),
|
|
|
- ( 0x0023, 0x0026 ),
|
|
|
- ( 0x0028, 0x007E ),
|
|
|
- ( 0x00A1, 0x00AC ),
|
|
|
- ( 0x00AE, 0x00FF ),
|
|
|
- ( 0x0100, 0x017F ),
|
|
|
- ( 0x0180, 0x024F ),
|
|
|
- ( 0x2C60, 0x2C7F ),
|
|
|
- ( 0x16A0, 0x16F0 ),
|
|
|
- ( 0x0370, 0x0377 ),
|
|
|
- ( 0x037A, 0x037E ),
|
|
|
- ( 0x0384, 0x038A ),
|
|
|
- ( 0x038C, 0x038C ),
|
|
|
- ]
|
|
|
- length = 64 # String length. @TODO parametrize.
|
|
|
- alphabet = [
|
|
|
- chr(code_point) for current_range in include_ranges
|
|
|
- for code_point in range(current_range[0], current_range[1] + 1)
|
|
|
- ]
|
|
|
- return ''.join(random.choice(alphabet) for i in range(length))
|
|
|
-
|
|
|
-
|
|
|
+ return random_image(8, 256)
|
|
|
|
|
|
|