Example #1
0
def test_filter_field_keys_dict():
    actual_res = utils.filter_field_keys({
        "directory": 1,
        "file": 2,
        "link": 3
    }, {"directory", "link"})

    assert actual_res == {"directory": 1, "link": 3}
Example #2
0
    def test_filter_field_keys_other(self):
        # given
        input_set = {1, 2}

        # when
        actual_res = utils.filter_field_keys(input_set, {'a', '1'})

        # then
        self.assertEqual(actual_res, input_set)
Example #3
0
    def test_filter_field_keys_dict(self):
        # when
        actual_res = utils.filter_field_keys(
            {
                'directory': 1,
                'file': 2,
                'link': 3
            }, {'directory', 'link'})

        # then
        self.assertEqual(actual_res, {'directory': 1, 'link': 3})
Example #4
0
def test_filter_field_keys_list_unknown_keys():
    actual_res = utils.filter_field_keys([{
        "directory": 1,
        "file": 2,
        "link": 3
    }, {
        "1": 1,
        "2": 2,
        "link": 3
    }], {"d"})

    assert actual_res == [{}, {}]
Example #5
0
def filter_by_fields(request, data):
    """Extract a request parameter 'fields' if it exists to permit the filtering on
    the data dict's keys.

    If such field is not provided, returns the data as is.

    """
    fields = request.query_params.get('fields')
    if fields:
        fields = set(fields.split(','))
        data = utils.filter_field_keys(data, fields)

    return data
Example #6
0
    def test_filter_field_keys_list(self):
        # when
        actual_res = utils.filter_field_keys([{
            'directory': 1,
            'file': 2,
            'link': 3
        }, {
            'dir': 1,
            'fil': 2,
            'lin': 3
        }], {'directory', 'dir'})

        # then
        self.assertEqual(actual_res, [{'directory': 1}, {'dir': 1}])
Example #7
0
    def test_filter_field_keys_list_unknown_keys(self):
        # when
        actual_res = utils.filter_field_keys([{
            'directory': 1,
            'file': 2,
            'link': 3
        }, {
            '1': 1,
            '2': 2,
            'link': 3
        }], {'d'})

        # then
        self.assertEqual(actual_res, [{}, {}])
Example #8
0
def test_filter_field_keys_list():
    actual_res = utils.filter_field_keys(
        [{
            "directory": 1,
            "file": 2,
            "link": 3
        }, {
            "dir": 1,
            "fil": 2,
            "lin": 3
        }],
        {"directory", "dir"},
    )

    assert actual_res == [{"directory": 1}, {"dir": 1}]
Example #9
0
    def test_filter_field_keys_map(self):
        # when
        actual_res = utils.filter_field_keys(
            map(lambda x: {
                'i': x['i'] + 1,
                'j': x['j']
            }, [{
                'i': 1,
                'j': None
            }, {
                'i': 2,
                'j': None
            }, {
                'i': 3,
                'j': None
            }]), {'i'})

        # then
        self.assertEqual(list(actual_res), [{'i': 2}, {'i': 3}, {'i': 4}])
Example #10
0
def test_filter_field_keys_map():
    actual_res = utils.filter_field_keys(
        map(
            lambda x: {
                "i": x["i"] + 1,
                "j": x["j"]
            },
            [{
                "i": 1,
                "j": None
            }, {
                "i": 2,
                "j": None
            }, {
                "i": 3,
                "j": None
            }],
        ),
        {"i"},
    )

    assert list(actual_res) == [{"i": 2}, {"i": 3}, {"i": 4}]
Example #11
0
def test_filter_field_keys_other():
    input_set = {1, 2}

    actual_res = utils.filter_field_keys(input_set, {"a", "1"})

    assert actual_res == input_set