#!/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)