Beispiel #1
0
    def test_genusername__no_duplicate(self):
        from nuvavaalit.models import Voter
        from nuvavaalit.scripts.populate import CreateVoters

        session = DBSession()

        cs = CreateVoters(None, None)

        # Make sure we don't have any existing voters.
        self.assertEquals(0, session.query(Voter).count())
        self.assertEquals(0, len(cs.usernames))

        self.assertEquals(u"kai.lautaportti", cs.genusername(u"Kai".split(), u"Lautaportti"))
        self.assertEquals(u"pertti.pasanen", cs.genusername(u"Pertti Sakari".split(), u"Pasanen"))
        self.assertEquals(u"fuu.bar.boo", cs.genusername(u"Füü".split(), u"Bär bÖÖ"))
Beispiel #2
0
    def test_genusername__duplicates_wo_middlename_fallback(self):
        from nuvavaalit.models import Voter
        from nuvavaalit.scripts.populate import CreateVoters

        session = DBSession()

        cs = CreateVoters(None, None)

        # Make sure we don't have any existing voters.
        self.assertEquals(0, session.query(Voter).count())
        self.assertEquals(0, len(cs.usernames))

        # First username without duplicate.
        self.assertEquals(u"foo.boo", cs.genusername(u"Föö".split(), u"Böö"))
        # Without middle name we start using suffixes right away.
        self.assertEquals(u"foo.boo2", cs.genusername(u"Föö".split(), u"Böö"))
        self.assertEquals(u"foo.boo3", cs.genusername(u"Föö".split(), u"Böö"))
Beispiel #3
0
    def test_genusername__duplicates(self):
        from nuvavaalit.models import Voter
        from nuvavaalit.scripts.populate import CreateVoters

        session = DBSession()

        cs = CreateVoters(None, None)

        # Make sure we don't have any existing voters.
        self.assertEquals(0, session.query(Voter).count())
        self.assertEquals(0, len(cs.usernames))

        # First username without duplicate.
        self.assertEquals(u"foo.boo", cs.genusername(u"Föö Büü".split(), u"Böö"))
        # First duplicate uses the middle initial.
        self.assertEquals(u"foo.b.boo", cs.genusername(u"Föö Büü".split(), u"Böö"))
        # Second duplicate uses the full middle name.
        self.assertEquals(u"foo.buu.boo", cs.genusername(u"Föö Büü".split(), u"Böö"))
        # Subsequent duplicates use an increasing suffix without the middle name.
        self.assertEquals(u"foo.boo2", cs.genusername(u"Föö Büü".split(), u"Böö"))
        self.assertEquals(u"foo.boo3", cs.genusername(u"Föö Büü".split(), u"Böö"))
Beispiel #4
0
    def test_genusername__invalid_ascii_character(self):
        from nuvavaalit.models import Voter
        from nuvavaalit.scripts.populate import CreateVoters

        session = DBSession()

        cs = CreateVoters(None, None)

        # Make sure we don't have any existing voters.
        self.assertEquals(0, session.query(Voter).count())
        self.assertEquals(0, len(cs.usernames))

        self.assertEquals(u"kai.lauta-portti", cs.genusername(u"Käi".split(), u"Läutä-pör'tti"))