Skip to content

Eilatkin/DataGenerator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DATAGENERATOR

Данная библиотека предназначена для генерации случайных данных, специфицированных под русскоязычные проекты. Данные аналогичны реальным, боевым данным.
Библиотека не использует чьих-то персональных данных. Все данные являются случайно сгенерированными (кроме случаев кастомной генерации) и любые совпадения с реальными персональными данными являются вероятностным совпадением.

Все реальные данные взяты из открытых источников и не нарушают права третьих лиц.

Методы генерации не являются идемпотентными, т.е. каждый последующий вызов метода будет возвращать уникальные данные. В качестве тезауруса используются списки, хранящиеся в тестовых файлах в папке resource/dictionary. Классы генераторов получают данные о расположении файлов из dagen.properties по соответствующим ключам.

Генерация данных происходит по алгоритму случайных выборок из тезауруса и комбинирования данных для создания сущности. DataGenerator – является точкой входа и содержит статические методы, для получения данных из соответствующих генераторов.

Библиотека генерирует следующие данные:

Персоны

Метод возвращает экземпляр FakePerson с заполненными полями. ФИО соответствует гендеру персоны:

DataGenerator.persons().get() 

Получение персоны с заранее заданным полом:

DataGenerator.persons().get(Gender.MALE)

этим параметром в dagen.properties задается диапозон годов рождения, генерируемых персон:

yearOfBirthRange=1920-2005

Паспортные данные

Метод возвращает экземпляр FakeRussianPassport:

@Data
@Builder
public class FakeRussianPassport {
    String series;
    String number;
    String issued;
    String issueDate;
    String code;
}
DataGenerator.documents().passport()

СНИЛС

DataGenerator.documents().snils()

Расчетный счет

Метод создания счета с заданными параметрами:

DataGenerator.accountDetails().account(PersoneType.PERSON, Currency.RUB, ProfileType.COMMERCIAL, DataGenerator.accountDetails().bank());

Метод создания счета со случайными параметрами:

DataGenerator.accountDetails().account();

Банковские данные

Метод возвращает экземпляр класса Bank

@Builder
@Data
public class Bank {
    private String correspondentAccount;
    private String bik;
    private String name;
    private String city;
}
DataGenerator.accountDetails().bank()

ИНН для ФЛ

DataGenerator.accountDetails().inn12()

ИНН для ЮЛ

DataGenerator.accountDetails().inn10()

ОГРН для ЮЛ

DataGenerator.accountDetails().ogrn()

Номер мобильного телефона

Возвращается строка в формате +7 YYY XXX XXXX, где YYY соотвествует коду мобильного оператора, начинающегося с цифры 9

DataGenerator.contacts().mobile()

Номер городского телефона

Возвращается строка в формате +7 YYY XXX XXXX, где YYY соотвествует разряду городскиих номеров, начинающегося с фирцы 8

DataGenerator.contacts().cityPhone()

Адрес электронной почты

Возвращается строка в формате <случайная комбинация>@<случайный домен>

DataGenerator.contacts().email()

Возвращается строка в формате <случайная комбинация>@test.ru

DataGenerator.contacts().email("test.ru")

Автомобильные гос. номера

Метод возвращает экземпляр класса FakeCarStateNumber:

DataGenerator.carsGenerator().stateNumber()

Реквизиты банковских карт

Метод вернет экземлпяр FakeCard со случыйными реквизитами:

DataGenerator.bankCard().card()
        

Метод вернет экземпляр карты с реальным БИНом, который соответствует банку и типу платежной системы. В случае, если в словаре не было найдено нужного типа платежной системы, то номер карты будет сгенерирован полностью случайно. Имя владельца будет автоматически транслитерировано в латинские буквы.

DataGenerator.bankCard().card(Banks.SBER, CardType.MIR, "Василий Пупкин")

Метод сгенерирует экземпляр карты с указанным типом платежной системы:

DataGenerator.bankCard().card(CardType.VISA)

Список поддерживаемых платежных систем:

public enum CardType {
    MIR,
    VISA,
    MASTERCARD,
    MAESTRO,
    UNIONPAY,
    AMERICANEXPRESS
}

Список поддерживаемых БИНов банков эмитентов:

public enum Banks {
    SBER,
    VTB,
    TINKOFF,
    PSB,
    RAIFFEISEN,
    ALFA,
    GAZPROM
}

Как подключить библиотеку?

Добавить в pom.xml вашего проекта, как зависимость:

<dependency>
    <groupId>pro.dagen</groupId>
    <artifactId>datagenerator</artifactId>        
    <version>1.2.0</version>    
</dependency>

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Номера кредитных карт и другие данные, абсолютно случайны и не имеют никакой реальной ценности. Не пытайтесь использовать поддельные данные кредитной карты для совершения какой-либо покупки, так как это не сработает. Попытка взлома или мошенничества с использованием поддельной информации кредитной карты является незаконной и может привести к наказанию, например тюремному заключению.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%