Blob Blame Raw
#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
 (c) 2017 - Copyright Red Hat Inc

 Authors:
   Pierre-Yves Chibon <pingou@pingoured.fr>

Tests the fnmatch method of the stdlib to ensure it works as expected
elsewhere in the code.

"""

from __future__ import unicode_literals, absolute_import

import os
import sys
import unittest

import fnmatch


class FnmatchTests(unittest.TestCase):
    """Tests for the streaming server."""

    def test_fnmatch(self):
        """ Test the matching done by fnmatch. """
        matrix = [
            ['pagure', '*', True],
            ['ns/pagure', '*', True],
            ['forks/user/ns/pagure', '*', True],
            ['forks/user/pagure', '*', True],
            ['pagure', 'rpms/*', False],
            ['rpms/pagure', 'rpms/*', True],
            ['forks/user/pagure', 'rpms/*', False],
            ['forks/user/pagure', 'rpms/*', False],
            ['pagure', 'pagure', True],
            ['rpms/pagure', 'pagure', False],
            ['forks/user/pagure', 'pagure', False],
            ['forks/user/pagure', 'pagure', False],
            ['pagure', 'pag*', True],
            ['rpms/pagure', 'pag*', False],
            ['forks/user/pagure', 'pag*', False],
            ['forks/user/pagure', 'pag*', False],
        ]
        for row in matrix:
            self.assertEqual(fnmatch.fnmatch(row[0], row[1]), row[2])


if __name__ == '__main__':
    unittest.main(verbosity=2)