Beispiel #1
0
    def test04_checkName(self):
        """test04_checkName
        test checkName static function"""

        # Empty string.
        self.assertEquals(
            userClass.checkName(""), (False, mylimits.NAME_TOO_SHORT, "login name must be at least 3 characters long")
        )

        # First, loops to test length only.  All generated strings should be valid

        #                                 [A-Z]          [a-z]
        atoZ = [chr(xx) for xx in range(65, 91) + range(97, 123)]
        underbar = ["_"]
        #                             [0-9]
        nums = [chr(xx) for xx in range(48, 58)]
        weirdChars = [chr(xx) for xx in range(33, 48) + range(91, 94)]

        # SPEED NOTE: replaced atoZ with [ 'a', 'z', 'h', 'H', 'A', 'Z' ] for speed
        for first in ["a", "z", "h", "H", "A", "Z"]:
            for cc in ["a", "z", "A", "Z"] + nums + underbar:
                name = first
                while len(name) < userClass.NAME_LENGTH_MIN:
                    self.assertEquals(
                        userClass.checkName(name),
                        (False, mylimits.NAME_TOO_SHORT, "login name must be at least 3 characters long"),
                    )
                    name += cc
                while len(name) <= userClass.NAME_LENGTH_MAX:
                    self.assertEquals(userClass.checkName(name), (True, None, None))
                    if len(name) < userClass.NAME_LENGTH_MAX:
                        for dd in underbar + nums:
                            self.assertEquals(
                                userClass.checkName(dd + name),
                                (False, mylimits.NAME_MUST_START_WITH_LETTER, "login name must start with a letter"),
                            )
                            self.assertEquals(userClass.checkName(name + dd), (True, None, None))
                        for dd in weirdChars:
                            self.assertEquals(
                                userClass.checkName(dd + name),
                                (False, mylimits.NAME_MUST_START_WITH_LETTER, "login name must start with a letter"),
                            )
                            self.assertEquals(
                                userClass.checkName(name + dd),
                                (
                                    False,
                                    mylimits.NAME_NOT_ALNUM,
                                    "login name must be all letters, digits or underscore ",
                                ),
                            )
                    name += cc
                for kk in range(20):
                    self.assertEquals(
                        userClass.checkName(name),
                        (False, mylimits.NAME_TOO_LONG, "login name must be at most 50 characters long"),
                    )
Beispiel #2
0
    def test04_checkName(self):
        """test04_checkName
        test checkName static function"""

        # Empty string.
        self.assertEquals(userClass.checkName(""),
                          (False, mylimits.NAME_TOO_SHORT,
                           'login name must be at least 5 characters long'))

        # First, loops to test length only.  All generated strings should be valid

        #                                 [A-Z]          [a-z]
        atoZ = [chr(xx) for xx in range(65, 91) + range(97, 123)]
        underbar = ['_']
        #                             [0-9]
        nums = [chr(xx) for xx in range(48, 58)]
        weirdChars = [chr(xx) for xx in range(33, 48) + range(91, 94)]

        # SPEED NOTE: replaced atoZ with [ 'a', 'z', 'h', 'H', 'A', 'Z' ] for speed
        for first in ['a', 'z', 'h', 'H', 'A', 'Z']:
            for cc in ['a', 'z', 'A', 'Z'] + nums + underbar:
                name = first
                while len(name) < userClass.NAME_LENGTH_MIN:
                    self.assertEquals(
                        userClass.checkName(name),
                        (False, mylimits.NAME_TOO_SHORT,
                         'login name must be at least 5 characters long'))
                    name += cc
                while len(name) <= userClass.NAME_LENGTH_MAX:
                    self.assertEquals(userClass.checkName(name),
                                      (True, None, None))
                    if len(name) < userClass.NAME_LENGTH_MAX:
                        for dd in underbar + nums:
                            self.assertEquals(
                                userClass.checkName(dd + name),
                                (False, mylimits.NAME_MUST_START_WITH_LETTER,
                                 'login name must start with a letter'))
                            self.assertEquals(userClass.checkName(name + dd),
                                              (True, None, None))
                        for dd in weirdChars:
                            self.assertEquals(
                                userClass.checkName(dd + name),
                                (False, mylimits.NAME_MUST_START_WITH_LETTER,
                                 'login name must start with a letter'))
                            self.assertEquals(userClass.checkName(name + dd), (
                                False, mylimits.NAME_NOT_ALNUM,
                                'login name must be all letters, digits or underscore '
                            ))
                    name += cc
                for kk in range(20):
                    self.assertEquals(
                        userClass.checkName(name),
                        (False, mylimits.NAME_TOO_LONG,
                         'login name must be at most 50 characters long'))
 def lines2pool(self, lines):
     return filter(lambda string: checkName(string)[0], map(lambda string: string[:-1], lines))
Beispiel #4
0
 def lines2pool(self, lines):
     return filter(lambda string: checkName(string)[0], map(lambda string: string[:-1], lines))