示例#1
0
 def test_unregister(self):
     gen = AbstractKeyGenerator()
     gen.register()
     registry = Registry()
     self.assertEqual(registry.get('abstract'), gen)
     gen.unregister()
     self.assertRaises(GeneratorError, registry.get, 'abstract')
示例#2
0
 def test_unregister(self):
     gen = AbstractKeyGenerator()
     gen.register()
     registry = Registry()
     self.assertEqual(registry.get('abstract'), gen)
     gen.unregister()
     self.assertRaises(GeneratorError, registry.get, 'abstract')
示例#3
0
 def test_reset(self):
     registry = Registry()
     expected = DEFAULT_GENERATOR_NAMES
     registry.register('abstract', AbstractKeyGenerator)
     now_expected = DEFAULT_GENERATOR_NAMES + ['abstract']
     self.assertEqual(set(registry.available()), set(now_expected))
     registry.reset()
     self.assertEqual(set(registry.available()), set(expected))
示例#4
0
 def test_reset(self):
     registry = Registry()
     expected = DEFAULT_GENERATOR_NAMES
     registry.register('abstract', AbstractKeyGenerator)
     now_expected = DEFAULT_GENERATOR_NAMES + ['abstract']
     self.assertEqual(set(registry.available()), set(now_expected))
     registry.reset()
     self.assertEqual(set(registry.available()), set(expected))
示例#5
0
 def test_register(self):
     registry = Registry()
     registry.register('abstract', AbstractKeyGenerator)
     self.assertEqual(registry.get('abstract'), AbstractKeyGenerator)
示例#6
0
 def test_get(self):
     registry = Registry()
     sms = registry.get('sms')
     self.assertEqual(sms, SMSKeyGenerator)
示例#7
0
 def test_available(self):
     registry = Registry()
     available = registry.available()
     expected = DEFAULT_GENERATOR_NAMES
     self.assertEqual(set(available), set(expected))
示例#8
0
 def setUp(self):
     registry = Registry()
     registry.reset()
示例#9
0
        return reverse_lazy('meetup-activate',
                            kwargs={'group': self.keygroup.name})

    def generate_keys(self):
        Key = get_model('verification', 'Key')
        Generator = self.keygroup.get_generator()
        used_keys = set(
            Key.objects.filter(group__generator=Generator.name).values_list(
                'key', flat=True))
        generator = Generator()
        all_keys = set(generator.generate_all_keys())
        keys = sample(all_keys - used_keys, self.estimated_number_of_attendees)
        expires = datetime.combine(self.valid_until, datetime.max.time())
        for keystring in keys:
            key = Key.objects.create(
                key=keystring,
                group=self.keygroup,
                expires=expires.replace(tzinfo=pytz.utc),
            )

    def set_actual_number_of_attendees(self):
        self.actual_number_of_attendees = self.badge.receivers.count()
        self.save()


registry = Registry()
registry.register('cals', CALSGenerator)
registry.register('hexcolor', HexColorGenerator)
registry.register('isodate', IsoDateGenerator)
registry.register('zeropaddedpin', ZeroPaddedNumberGenerator)
示例#10
0
 def tearDown(self):
     registry = Registry()
     registry.unregister('abstract')
示例#11
0
 def test_unregister(self):
     registry = Registry()
     registry.register('abstract', AbstractKeyGenerator)
     registry.unregister('abstract')
     self.assertRaises(GeneratorError, registry.get, 'abstract')
     self.assertFalse(registry.get('abstract', False))
示例#12
0
 def test_register(self):
     registry = Registry()
     registry.register('abstract', AbstractKeyGenerator)
     self.assertEqual(registry.get('abstract'), AbstractKeyGenerator)
示例#13
0
 def test_get(self):
     registry = Registry()
     sms = registry.get('sms')
     self.assertEqual(sms, SMSKeyGenerator)
示例#14
0
 def test_available(self):
     registry = Registry()
     available = registry.available()
     expected = DEFAULT_GENERATOR_NAMES
     self.assertEqual(set(available), set(expected))
示例#15
0
 def setUp(self):
     registry = Registry()
     registry.reset()
示例#16
0
 def test_unregister(self):
     registry = Registry()
     registry.register('abstract', AbstractKeyGenerator)
     registry.unregister('abstract')
     self.assertRaises(GeneratorError, registry.get, 'abstract')
     self.assertFalse(registry.get('abstract', False))
示例#17
0
 def tearDown(self):
     registry = Registry()
     registry.unregister('abstract')
示例#18
0
 def test_register(self):
     gen = AbstractKeyGenerator()
     gen.register()
     registry = Registry()
     self.assertEqual(registry.get('abstract'), gen)
示例#19
0
 def test_register(self):
     gen = AbstractKeyGenerator()
     gen.register()
     registry = Registry()
     self.assertEqual(registry.get('abstract'), gen)
示例#20
0
文件: models.py 项目: kaleissin/CALS
    badge = models.ForeignKey("badge.Badge")
    valid_from = models.DateField(blank=True, null=True)
    valid_until = models.DateField(blank=True, null=True)
    estimated_number_of_attendees = models.IntegerField(default=0, blank=True, null=True)
    actual_number_of_attendees = models.IntegerField(default=0, blank=True, null=True)

    def get_absolute_url(self):
        return reverse_lazy("meetup-activate", kwargs={"group": self.keygroup.name})

    def generate_keys(self):
        Key = get_model("verification", "Key")
        Generator = self.keygroup.get_generator()
        used_keys = set(Key.objects.filter(group__generator=Generator.name).values_list("key", flat=True))
        generator = Generator()
        all_keys = set(generator.generate_all_keys())
        keys = sample(all_keys - used_keys, self.estimated_number_of_attendees)
        expires = datetime.combine(self.valid_until, datetime.max.time())
        for keystring in keys:
            key = Key.objects.create(key=keystring, group=self.keygroup, expires=expires.replace(tzinfo=pytz.utc))

    def set_actual_number_of_attendees(self):
        self.actual_number_of_attendees = self.badge.receivers.count()
        self.save()


registry = Registry()
registry.register("cals", CALSGenerator)
registry.register("hexcolor", HexColorGenerator)
registry.register("isodate", IsoDateGenerator)
registry.register("zeropaddedpin", ZeroPaddedNumberGenerator)