Exemple #1
0
def test_JSONColumn_sanitize_json_values_handles_list_of_str(monkeypatch):
    jc = columns.JSONColumn('test', False)

    def mock_sanitize_string(some_string):
        return some_string + ' sanitized'
    monkeypatch.setattr(jc, '_Column__sanitize_string', mock_sanitize_string)
    given_list = ['item1', 'item2']
    actual_list = jc._sanitize_json_values(given_list)
    expect_list = ['item1 sanitized', 'item2 sanitized']
    assert expect_list == actual_list
Exemple #2
0
def test_JSONColumn_sanitize_json_values_handles_flat_dict(monkeypatch):
    jc = columns.JSONColumn('test', False)

    def mock_sanitize_string(some_string):
        return some_string + ' sanitized'
    monkeypatch.setattr(jc, '_Column__sanitize_string', mock_sanitize_string)
    given_dict = {'key1': 'val1', 'key2': 'val2'}
    actual_dict = jc._sanitize_json_values(given_dict)
    expect_dict = {'key1': 'val1 sanitized', 'key2': 'val2 sanitized'}
    assert expect_dict == actual_dict
Exemple #3
0
def test_JSONColumn_sanitize_json_values_does_not_over_recurse(monkeypatch):
    jc = columns.JSONColumn('test', False)

    def mock_sanitize_string(some_string):
        return str(some_string)
    monkeypatch.setattr(jc, '_Column__sanitize_string', mock_sanitize_string)
    L = []
    L.extend([L])
    actual_list = jc._sanitize_json_values(L, recursion_limit=3)
    expect_list = [[['[[...]]']]]
    assert actual_list == expect_list
Exemple #4
0
def test_JSONColumn_sanitize_json_values_handles_list_of_dict(monkeypatch):
    jc = columns.JSONColumn('test', False)

    def mock_sanitize_string(some_string):
        return some_string + ' sanitized'
    monkeypatch.setattr(jc, '_Column__sanitize_string', mock_sanitize_string)
    given_list = [
        {'name': 'valuea', 'provider': 'valueb'},
        {'name': 'aname', 'provider': 'aprovider'}
    ]
    actual_list = jc._sanitize_json_values(given_list)
    expect_list = [
        {'name': 'valuea sanitized', 'provider': 'valueb sanitized'},
        {'name': 'aname sanitized', 'provider': 'aprovider sanitized'}
    ]
    assert expect_list == actual_list
Exemple #5
0
                         size=50,
                         truncate=False),
    columns.StringColumn(name='license_version',
                         required=True,
                         size=25,
                         truncate=False),
    columns.StringColumn(name='creator',
                         required=False,
                         size=2000,
                         truncate=True),
    columns.URLColumn(name='creator_url', required=False, size=2000),
    columns.StringColumn(name='title',
                         required=False,
                         size=5000,
                         truncate=True),
    columns.JSONColumn(name='meta_data', required=False),
    columns.JSONColumn(name='tags', required=False),
    columns.BooleanColumn(name='watermarked', required=False),
    columns.StringColumn(name='provider',
                         required=False,
                         size=80,
                         truncate=False),
    columns.StringColumn(name='source',
                         required=False,
                         size=80,
                         truncate=False)
]

Image = namedtuple('Image', [c.NAME for c in _IMAGE_TSV_COLUMNS])

# Filter out tags that exactly match these terms. All terms should be
Exemple #6
0
def test_JSONColumn_prepare_string_returns_json_string(monkeypatch):
    jc = columns.JSONColumn('test', False)
    D = {'test': 'dict'}
    actual_json = jc.prepare_string(D)
    expect_json = '{"test": "dict"}'
    assert actual_json == expect_json
Exemple #7
0
def test_JSONColumn_prepare_string_nones_empty_dict(monkeypatch):
    jc = columns.JSONColumn('test', False)
    D = {}
    actual_json = jc.prepare_string(D)
    expect_json = None
    assert actual_json == expect_json