Функции рандомизации
Categories:
Вы можете использовать функции для генерации рандомных значений
- randInt
- randString
- uuid
Использовать их можно в разных частях сценариев с некоторыми особенностями использования
Использование
uuid
Генерирует случайных uuid v4
randInt
Генерирует псевдослучайное значение
Аргументы не обязательны. При вызове функции без аргументов будет сгенерировано случайное число в диапазоне 0-9
Передать 1 аргумент - будет сгенерировано случайное число в диапазоне от 0 до этого числа
Передать 2 аргумента - будет сгенерировано случайное число в диапазоне между этими числами
randString
Генерирует случайную строку
Аргументы не обязательны. При вызове функции без аргументов будет сгенерирован 1 случайный символ
Передать 1 аргумент (число) X - будет сгенерирована строка длиной X
Передать 2 аргумент (строка символов) Y - для генерации будут использьваны только символы из указанной строки Y
В шаблонах
Так как используется стандартные шаблонизатор Го в нем можно использовать встроенные функции https://pkg.go.dev/text/template#hdr-Functions
uuid
{% raw %}{{ uuid }}{% endraw %}
randInt
без аргументов
{% raw %}{{ randInt }}{% endraw %}
1 аргумент
{% raw %}{{ randInt 10 }}{% endraw %}
2 аргумента
{% raw %}{{ randInt 100 200 }}{% endraw %}
2 аргумента используем из источника переменных
{% raw %}{{ randInt 200 .source.global.max_rand_int }}{% endraw %}
randString
без аргументов
{% raw %}{{ randString }}{% endraw %}
1 аргумент
{% raw %}{{ randString 10 }}{% endraw %}
2 аргумента
{% raw %}{{ randString 10 abcde }}{% endraw %}
2 аргумента используем из источника переменных
{% raw %}{{ randString 20 .source.global.letters }}{% endraw %}
В источник данных - variables
Вы можете использовать функции генерации рандомный значений в источнике переменных типа variables
Вызов функций необходимо передавать в виде строки (в кавычках)
variable_source "global" "variables" {
variables = {
my_uuid = "uuid()"
my_random_int1 = "randInt()" # без аргументов
my_random_int2 = "randInt(10)" # 1 аргумент
my_random_int3 = "randInt(100, 200)" # 2 аргумента
my_random_string1 = "randString()" # без аргументов
my_random_string2 = "randString(10)" # 1 аргумент
my_random_string3 = "randString(100, abcde)" # 2 аргумента
}
}
В препроцессорах
Вы можете использовать функции генерации рандомный значений в препроцессорах
preprocessor {
mapping = {
my_uuid = "uuid()"
my_random_int1 = "randInt()" # без аргументов
my_random_int2 = "randInt(10)" # 1 аргумент
my_random_int3 = "randInt(100, 200)" # 2 аргумента
my_random_int4 = "randInt(100, .request.my_req_name.postprocessor.var_from_response)" # 2 аргумента используем из ответа запроса my_req_name
my_random_string1 = "randString()" # без аргументов
my_random_string2 = "randString(10)" # 1 аргумент
my_random_string3 = "randString(100, abcde)" # 2 аргумента
my_random_string4 = "randString(100, .request.my_req_name.postprocessor.var_from_response)" # 2 аргумента используем из ответа запроса my_req_name
}
}
Функции HCL
При парсинге HCL доступны следующие функции
- coalesce
- coalescelist
- compact
- concat
- distinct
- element
- flatten
- index
- keys
- lookup
- merge
- reverse
- slice
- sort
- split
- values
- zipmap