Esempio n. 1
0
    def setUpTestData(cls):
        # Create admin user from different source
        cls.bob_credentials = [
            'admin_bob', '*****@*****.**', "7u35ITpAss"
        ]
        cls.root_credentials = [
            'admin_root', '*****@*****.**', "7u35ITpAss"
        ]
        cls.create_admins()

        # Login the users
        cls.c_admin_root = cls.login_client(cls.root_credentials)
        cls.c_admin_bob = cls.login_client(cls.bob_credentials)

        # Create records
        Userdata.objects.create(owner=cls.user_bob,
                                first_name='Alice',
                                last_name='Doe',
                                iban=IBAN.generate(
                                    country_code='DE',
                                    bank_code='37040044',
                                    account_code='0532013000').formatted)
        Userdata.objects.create(owner=cls.user_root,
                                first_name='Bob',
                                last_name='Bob',
                                iban=IBAN.generate(
                                    country_code='DE',
                                    bank_code='37040044',
                                    account_code='0532013000').formatted)
def onGen():
    def onCopy():
        clip = tk.Tk()
        clip.withdraw()
        clip.clipboard_clear()
        clip.clipboard_append(iban_get)
        clip.destroy()
        m_box.showinfo('Success', 'iBAN Copied Successfully')

    get_country = country_code.get()
    get_bank = bank_code.get()
    get_account = account_code.get()
    if get_country != '' and get_account != '' and get_bank != '':
        iban_get = IBAN.generate(get_country,
                                 bank_code=get_bank,
                                 account_code=get_account)
        got_iBan = ttk.Label(root,
                             text=f"Your iBAN is {iban_get}",
                             font="arial 12 bold")
        got_iBan.grid(row=1, column=0, padx=50, pady=2)
        btncopy = ttk.Button(root, text="Copy iBAN", command=onCopy)
        btncopy.grid(row=2, columnspan=3, padx=50, pady=2, ipady=5)
        m_box.showinfo('Success', 'iBAN Generated Successfully')
    else:
        m_box.showerror('Error', 'Please Fill Every Boxes Carefully !')
Esempio n. 3
0
 def generate_data(self):
     if not self.canary_queued:
         self.canary_queued = True
         return self.CANARY
     account = random.randint(0, 9999999999)
     bank = random.choice(DUTCH_BICS)
     key = IBAN.generate(self.country, bank, str(account))
     # data = strgen.StringGenerator('[\d\w]{{{size}}}'.format(size=self.data_size)).render()
     data = DATA
     return key, data
Esempio n. 4
0
 def generate_iban_for_bank(self, bank_code: str) -> IBAN:
     """
     Generates an iban for given bank code.
     :param bank_code: bank code
     :return: IBAN object
     """
     try:
         return IBAN.generate(self.country_code, bank_code,
                              self.generate_account_part(bank_code))
     except ValueError as e:
         raise Exception(
             'We generated an invalid IBAN. '
             'This means, that probably there is a bug in the mechanism generating IBAN or the library we use. Error: {0}'
             .format(e))
Esempio n. 5
0
def generate(request):
    country_code = request.POST.get('country', 'default')
    bank_code = request.POST.get('bkcode', 'default')
    account_code = request.POST.get('accode', 'default')
    print(country_code)
    print(bank_code)
    print(account_code)
    try:
        iban = IBAN.generate(country_code, bank_code=bank_code, account_code=account_code)
        parmas = {'iBAN_Goted':iban,}
    except ValueError:
        return render(request, 'error.html')
    else:
            return render(request, 'generate.html', parmas)
Esempio n. 6
0
    def test_create_userdata_good_iban(self):
        """iban's field passes"""

        first_name = factory.Faker('first_name').generate('')
        last_name = factory.Faker('last_name').generate('')

        iban = IBAN.generate(country_code='DE',
                             bank_code='37040044',
                             account_code='0532013000').formatted

        result = Userdata(first_name=first_name,
                          last_name=last_name,
                          iban=iban,
                          owner=get_user_model().objects.first())
        result.full_clean()

        self.assertTrue(expr=result)
def create_identite(numprenommax, numnommax, numresidencemax, numbanqmax,
                    dataform):
    idprenom = randint(1, numprenommax)
    idnom = randint(1, numnommax)
    idbanque = randint(1, numbanqmax)

    if 'datenaiss' in dataform:
        date_naissance = time.strftime(
            '%Y/%m/%d', time.gmtime(randint(0, int(time.time()))))
    else:
        date_naissance = None

    if 'ville_naissance' in dataform:
        idvillenaissance = randint(1, numresidencemax)
    else:
        idvillenaissance = None

    if 'adresse' in dataform:
        idresidence = randint(1, numresidencemax)
    else:
        idresidence = None

    nom, prenom, genre, residence, banq, ville_naissance = get_info(
        idprenom, idnom, idresidence, idbanque, idvillenaissance)

    if not (ville_naissance):
        ville_naissance = None
    if 'numero_insee' in dataform:
        num = []
        if genre == 'm':
            num.append('1')
        else:
            num.append('2')
        num.append(str(date_naissance[2:4]))
        num.append(str(date_naissance[5:7]))
        num.append(str(ville_naissance[2]))
        num.append(str(n_len_rand(3)))
        cle = 97 - (int(''.join(num)) % 97)
        num.append(str(cle))
        numero_insee = str(''.join(num))

    else:
        numero_insee = None

    if 'idcard' in dataform:
        mrz = str(
            TD1CodeGenerator(
                "ID", "FRA", str(randint(1, 1000000)),
                date_naissance.replace("/", "")[2:],
                str.upper(genre)[0],
                str(date.today() + timedelta(days=5475)).replace("-", "")[2:],
                "FRA", nom[:4], prenom[:29], "99999999R")).replace('\n', "")

    else:
        mrz = None

    if 'numTel' in dataform:
        num = ['0', '6']
        for i in range(8):
            num.append(str(randint(0, 9)))
        numTel = str(''.join(num))
    else:
        numTel = None

    if 'email' in dataform:
        email = str(prenom) + "." + str(nom).lower() + "@gmail.com"
    else:
        email = None

    if 'num_carte_banc' in dataform:
        num_carte_banc = str(credit_card_number())
    else:
        num_carte_banc = None

    if 'iban' in dataform:
        compte = str(randint(1, 1000000000000000000))
        bank_code = str(randint(10000, 99999))
        iban = str(
            IBAN.generate('FR', bank_code=bank_code, account_code=compte))
    else:
        iban = None
    return (idnom, idprenom, date_naissance, ville_naissance[0], idresidence,
            numero_insee, mrz, numTel, num_carte_banc, email, iban, genre,
            idbanque), (
                nom,
                prenom,
                date_naissance,
                ville_naissance[0],
                residence,
                numero_insee,
                mrz,
                numTel,
                num_carte_banc,
                email,
                iban,
                genre,
            )
Esempio n. 8
0
def test_generate_iban_invalid(components):
    with pytest.raises(SchwiftyException):
        IBAN.generate(*components)
Esempio n. 9
0
def test_generate_iban(components, compact):
    iban = IBAN.generate(*components)
    assert iban.compact == compact
Esempio n. 10
0
def test_generate_iban_invalid(country_code, bank_code, account_code):
    with pytest.raises(ValueError):
        IBAN.generate(country_code, bank_code, account_code)
Esempio n. 11
0
def test_generate_iban_invalid(components):
    with pytest.raises(ValueError):
        IBAN.generate(*components)
Esempio n. 12
0
def test_generate_iban_invalid(country_code, bank_code, account_code):
    with pytest.raises(ValueError):
        IBAN.generate(country_code, bank_code, account_code)
Esempio n. 13
0
def test_generate_iban(components, compact):
    iban = IBAN.generate(*components)
    assert iban.compact == compact