def write_row(self, row, out): if self._include_badge_nums: # add in the barcodes here badge_num = row[0] barcode = generate_barcode_from_badge_num(badge_num) row.append(barcode) out.writerow(row)
def test_encrypt_decrypt(cfg): badge_num = 3 encrypted = generate_barcode_from_badge_num(badge_num=badge_num) assert len(encrypted) == 6 decrypted = get_badge_num_from_barcode(barcode_num=encrypted) assert decrypted['badge_num'] == badge_num assert decrypted['event_id'] == config['secret']['barcode_event_id']
def test_encrypt_decrypt(cfg): badge_num = 3 encrypted = generate_barcode_from_badge_num(badge_num=badge_num) assert len(encrypted) == 7 decrypted = get_badge_num_from_barcode(barcode_num=encrypted) assert decrypted['badge_num'] == badge_num assert decrypted['event_id'] == config['secret']['barcode_event_id']
def test_dontfail_wrong_event_id(cfg): badge_num = 78946 barcode = generate_barcode_from_badge_num(badge_num=badge_num) decrytped = get_badge_num_from_barcode(barcode_num=barcode, event_id=2, verify_event_id_matches=False) assert decrytped['badge_num'] == badge_num assert decrytped['event_id'] == config['secret']['barcode_event_id']
def test_fail_wrong_event_id(cfg, monkeypatch): with pytest.raises(ValueError) as ex: barcode = generate_barcode_from_badge_num(badge_num=1, event_id=1) get_badge_num_from_barcode(barcode_num=barcode, event_id=2) assert "doesn't match our event ID" in str(ex.value)
def test_fail_key_length(cfg, monkeypatch): monkeypatch.setitem(config['secret'], 'barcode_key', "X") with pytest.raises(ValueError) as ex: encrypted = generate_barcode_from_badge_num(badge_num=1) assert 'key length should be exactly' in str(ex.value)
def test_fail_too_high_badges(cfg): with pytest.raises(ValueError) as ex: encrypted = generate_barcode_from_badge_num(badge_num=0xFFFFFF+1) assert 'either badge_number or salt is too large' in str(ex.value)