diff --git a/REGRESSION/resources/config-ci-regression-mobile.xml b/REGRESSION/resources/config-ci-regression-mobile.xml
index 6cd3473..d0a0893 100644
--- a/REGRESSION/resources/config-ci-regression-mobile.xml
+++ b/REGRESSION/resources/config-ci-regression-mobile.xml
@@ -17,15 +17,19 @@
-
+
-
+
+
+
+
+
diff --git a/REGRESSION/resources/config-ci-regression-windows.xml b/REGRESSION/resources/config-ci-regression-windows.xml
index da8edd2..42a7c70 100644
--- a/REGRESSION/resources/config-ci-regression-windows.xml
+++ b/REGRESSION/resources/config-ci-regression-windows.xml
@@ -17,15 +17,19 @@
-
+
-
+
+
+
+
+
diff --git a/REGRESSION/resources/config-ci-regression.xml b/REGRESSION/resources/config-ci-regression.xml
index 06627e1..6632929 100644
--- a/REGRESSION/resources/config-ci-regression.xml
+++ b/REGRESSION/resources/config-ci-regression.xml
@@ -17,15 +17,19 @@
-
+
-
+
+
+
+
+
diff --git a/REGRESSION/resources/config-local.xml b/REGRESSION/resources/config-local.xml
index fc7fd2e..3dd930c 100644
--- a/REGRESSION/resources/config-local.xml
+++ b/REGRESSION/resources/config-local.xml
@@ -8,50 +8,55 @@
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
@@ -66,9 +71,9 @@
-
+
-
+
diff --git a/REGRESSION/resources/data/patches/clickhouse_patch_1.sql b/REGRESSION/resources/data/patches/clickhouse_patch_1.sql
new file mode 100644
index 0000000..8c876fc
--- /dev/null
+++ b/REGRESSION/resources/data/patches/clickhouse_patch_1.sql
@@ -0,0 +1,2 @@
+INSERT INTO news (id, newsName, newsNumber, active, createdAt)
+VALUES (21, 'Uganda', 225, 1, '2021-01-01 14:00:00');
\ No newline at end of file
diff --git a/REGRESSION/resources/data/patches/dynamo_patch_1.partiql b/REGRESSION/resources/data/patches/dynamo_patch_1.partiql
new file mode 100644
index 0000000..1364ddb
--- /dev/null
+++ b/REGRESSION/resources/data/patches/dynamo_patch_1.partiql
@@ -0,0 +1 @@
+INSERT INTO dynamodb_news VALUE { 'name' : 'Uganda', 'number' : 225, 'active' : true, 'createdAt': '2023-04-17T12:32:53.558', 'id': '4' };;
\ No newline at end of file
diff --git a/REGRESSION/resources/data/patches/mongo_patch_1.bson b/REGRESSION/resources/data/patches/mongo_patch_1.bson
new file mode 100644
index 0000000..eba7d44
--- /dev/null
+++ b/REGRESSION/resources/data/patches/mongo_patch_1.bson
@@ -0,0 +1,6 @@
+{
+ "insert": "mongo_news",
+ "documents": [
+ { "name": "Uganda", "number": 225, "active": true, "createdAt": { "$date": "2021-01-01T12:00:00.000Z" } }
+ ]
+}
\ No newline at end of file
diff --git a/REGRESSION/resources/data/patches/mysql_patch_1.sql b/REGRESSION/resources/data/patches/mysql_patch_1.sql
new file mode 100644
index 0000000..5259255
--- /dev/null
+++ b/REGRESSION/resources/data/patches/mysql_patch_1.sql
@@ -0,0 +1,3 @@
+INSERT INTO news (newsname, newsnumber, active, createdat)
+VALUES
+ ('Uganda', 225, true, '2021-01-01 12:00:00')
\ No newline at end of file
diff --git a/REGRESSION/resources/data/patches/oracle_patch_1.sql b/REGRESSION/resources/data/patches/oracle_patch_1.sql
new file mode 100644
index 0000000..a7b6fc4
--- /dev/null
+++ b/REGRESSION/resources/data/patches/oracle_patch_1.sql
@@ -0,0 +1,3 @@
+INSERT INTO news (newsname, newsnumber, active, createdat)
+VALUES
+ ('Uganda', 225, 1, TO_TIMESTAMP('2021-01-01 12:00:00', 'YYYY-MM-DD HH24:MI:SS'))
\ No newline at end of file
diff --git a/REGRESSION/resources/data/patches/postgres_patch_1.sql b/REGRESSION/resources/data/patches/postgres_patch_1.sql
new file mode 100644
index 0000000..5259255
--- /dev/null
+++ b/REGRESSION/resources/data/patches/postgres_patch_1.sql
@@ -0,0 +1,3 @@
+INSERT INTO news (newsname, newsnumber, active, createdat)
+VALUES
+ ('Uganda', 225, true, '2021-01-01 12:00:00')
\ No newline at end of file
diff --git a/REGRESSION/resources/data/patches/redis_patch.sql b/REGRESSION/resources/data/patches/redis_patch.sql
new file mode 100644
index 0000000..76c6697
--- /dev/null
+++ b/REGRESSION/resources/data/patches/redis_patch.sql
@@ -0,0 +1 @@
+SET news:1 '{"newsName": "Uganda", "newsNumber": 225, "active": true, "createdAt": "2021-01-01 12:00:00"}'
diff --git a/REGRESSION/resources/data/patches/redis_patch_1.sql b/REGRESSION/resources/data/patches/redis_patch_1.sql
new file mode 100644
index 0000000..5ec83d5
--- /dev/null
+++ b/REGRESSION/resources/data/patches/redis_patch_1.sql
@@ -0,0 +1 @@
+SET Uganda 225
\ No newline at end of file
diff --git a/REGRESSION/resources/data/patches/sql_database_patch.sql b/REGRESSION/resources/data/patches/sql_database_patch.sql
new file mode 100644
index 0000000..553a7d0
--- /dev/null
+++ b/REGRESSION/resources/data/patches/sql_database_patch.sql
@@ -0,0 +1,2 @@
+INSERT INTO news (id, newsName, newsNumber, active, createdAt)
+VALUES (1, 'Uganda', 225, true, '2021-01-01 12:00:00')
\ No newline at end of file
diff --git a/REGRESSION/resources/data/variations/assert_variations.csv b/REGRESSION/resources/data/variations/assert_variations.csv
new file mode 100644
index 0000000..eba0232
--- /dev/null
+++ b/REGRESSION/resources/data/variations/assert_variations.csv
@@ -0,0 +1,7 @@
+val1,val2,expectedEqual,conditionName,firstValue,operation,secondValue,condition,comment
+Testlum,Testlum,true,first,{{val1}},eq,{{val2}},"""{{val1}}"" eq ""{{val2}}""",check injecting from variations
+Recorder,otherTool,false,second,{{val1}},eq,{{val2}},"""{{val1}}"" eq ""{{val2}}""",check injecting from variations
+1,2,false,third,{{val1}},eq,{{val2}},"""{{val1}}"" eq ""{{val2}}""",check injecting from variations
+7,7,true,fourth,{{val1}},eq,{{val2}},"""{{val1}}"" eq ""{{val2}}""",check injecting from variations
+test!,red#,false,fifth,{{val1}},eq,{{val2}},"""{{val1}}"" eq ""{{val2}}""",check injecting from variations
+$,$,true,sixth,{{val1}},eq,{{val2}},"""{{val1}}"" eq ""{{val2}}""",check injecting from variations
\ No newline at end of file
diff --git a/REGRESSION/resources/data/variations/include_variations.csv b/REGRESSION/resources/data/variations/include_variations.csv
new file mode 100644
index 0000000..1062e93
--- /dev/null
+++ b/REGRESSION/resources/data/variations/include_variations.csv
@@ -0,0 +1,3 @@
+value,comment
+1,some comment from variations
+2,some 2nd comment from variations
\ No newline at end of file
diff --git a/REGRESSION/resources/data/variations/migrate_variations.csv b/REGRESSION/resources/data/variations/migrate_variations.csv
new file mode 100644
index 0000000..f575d39
--- /dev/null
+++ b/REGRESSION/resources/data/variations/migrate_variations.csv
@@ -0,0 +1,3 @@
+comment,dataset,postgresComment,query,expected_2
+Migrate Postgres dataset,postgres_patch.sql,Check it is possible to get data from postgres_patch dataset,SELECT newsnumber FROM news WHERE newsname = 'News1',expected_2_1
+Migrate Postgres dataset_1,postgres_patch_1.sql,Check it is possible to get data from postgres_patch_1 dataset,SELECT newsname FROM news WHERE newsnumber = 225,expected_2_2
\ No newline at end of file
diff --git a/REGRESSION/resources/data/variations/repeat_inject_variations.csv b/REGRESSION/resources/data/variations/repeat_inject_variations.csv
new file mode 100644
index 0000000..2d13018
--- /dev/null
+++ b/REGRESSION/resources/data/variations/repeat_inject_variations.csv
@@ -0,0 +1,2 @@
+comment,condition
+some comment from variations,1 eq 1
\ No newline at end of file
diff --git a/REGRESSION/resources/data/variations/repeat_variations.csv b/REGRESSION/resources/data/variations/repeat_variations.csv
new file mode 100644
index 0000000..4081b13
--- /dev/null
+++ b/REGRESSION/resources/data/variations/repeat_variations.csv
@@ -0,0 +1,4 @@
+a
+1
+2
+3
\ No newline at end of file
diff --git a/REGRESSION/resources/data/variations/var_variations.csv b/REGRESSION/resources/data/variations/var_variations.csv
new file mode 100644
index 0000000..44f2412
--- /dev/null
+++ b/REGRESSION/resources/data/variations/var_variations.csv
@@ -0,0 +1,5 @@
+value,expression,condition,expected,comment,name,operator
+1,{{value}} + {{constVar}},{{value}} eq 1,6,check injection from variations and var,sum,+
+2,{{value}} - {{constVar}},{{value}} == 2,-3,check injection from variations and var,diff,-
+3,{{value}} * {{constVar}},{{constVar}} eq 5,15,check injection from variations and var,multiplication,*
+4,{{value}} / ""{{constVar}}"",{{value}} < 1,404,check injection from variations and var,div,/
\ No newline at end of file
diff --git a/REGRESSION/resources/data/variations/wait_variations.csv b/REGRESSION/resources/data/variations/wait_variations.csv
new file mode 100644
index 0000000..7667a80
--- /dev/null
+++ b/REGRESSION/resources/data/variations/wait_variations.csv
@@ -0,0 +1,3 @@
+seconds,comment,waitSkipped
+1,wait 1 second,false
+2,wait 2 seconds,true
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/assert/conditions/scenario.xml b/REGRESSION/resources/scenarios/assert/conditions/scenario.xml
new file mode 100644
index 0000000..d339b88
--- /dev/null
+++ b/REGRESSION/resources/scenarios/assert/conditions/scenario.xml
@@ -0,0 +1,58 @@
+
+
+
+ Self test for command: Assert equal and notEqual(with conditions)
+ Assert conditions test
+
+
+
+ assert
+
+
+
+
+
+
+ 2
+ 2
+
+
+ 2
+ 3
+
+
+
+
+
+ 2
+ 2
+
+
+ 1
+ 2
+
+
+
+
+
+
+
+ 1
+ 2
+
+
+
+
+
+ 1
+ 2
+
+
+ 1
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/assert/scenario.xml b/REGRESSION/resources/scenarios/assert/general/scenario.xml
similarity index 98%
rename from REGRESSION/resources/scenarios/assert/scenario.xml
rename to REGRESSION/resources/scenarios/assert/general/scenario.xml
index 001b148..b4367db 100644
--- a/REGRESSION/resources/scenarios/assert/scenario.xml
+++ b/REGRESSION/resources/scenarios/assert/general/scenario.xml
@@ -8,7 +8,7 @@
- assert-self
+ assert
diff --git a/REGRESSION/resources/scenarios/assert/variations/scenario.xml b/REGRESSION/resources/scenarios/assert/variations/scenario.xml
new file mode 100644
index 0000000..2b3da89
--- /dev/null
+++ b/REGRESSION/resources/scenarios/assert/variations/scenario.xml
@@ -0,0 +1,93 @@
+
+
+
+ Self test for command: Assert equal and notEqual(with variations)
+ Assert variations test
+
+
+
+ assert_variations.csv
+ assert
+
+
+
+
+
+
+
+
+
+
+
+
+ {{equalVar}}
+ {{expectedEqual}}
+
+
+
+
+
+ {{notEqualVar}}
+ {{expectedEqual}}
+
+
+
+
+
+
+
+
+
+ {{equalVar}}
+ {{equalCondition}}
+
+
+ {{equalVar}}
+ {{notEqualCondition}}
+
+
+
+
+
+ {{val1}}
+ {{val2}}
+
+
+ {{val1}}
+ {{val2}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{testVar}}
+ Testlum
+
+
+ {{testVar}}
+ Google
+
+
+
+
diff --git a/REGRESSION/resources/scenarios/include/condition/included/scenario.xml b/REGRESSION/resources/scenarios/include/condition/included/scenario.xml
new file mode 100644
index 0000000..53ad9de
--- /dev/null
+++ b/REGRESSION/resources/scenarios/include/condition/included/scenario.xml
@@ -0,0 +1,18 @@
+
+
+
+ Test scenario for including in test
+ Include Scenario
+
+
+
+ include
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/include/condition/main/scenario.xml b/REGRESSION/resources/scenarios/include/condition/main/scenario.xml
new file mode 100644
index 0000000..16e41f8
--- /dev/null
+++ b/REGRESSION/resources/scenarios/include/condition/main/scenario.xml
@@ -0,0 +1,35 @@
+
+
+
+ Self test for Include command with condition
+ Include with condition
+
+
+
+ include
+
+
+
+
+
+
+
+
+ {{theBestTool}}
+ Testlum
+
+
+
+
+
+
+
+
+ {{theBestTool}}
+ ShouldNotBeIncluded
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/include/condition/not_included/scenario.xml b/REGRESSION/resources/scenarios/include/condition/not_included/scenario.xml
new file mode 100644
index 0000000..5138171
--- /dev/null
+++ b/REGRESSION/resources/scenarios/include/condition/not_included/scenario.xml
@@ -0,0 +1,18 @@
+
+
+
+ Test scenario for including in test
+ Include Scenario
+
+
+
+ include
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/include/general/included/scenario.xml b/REGRESSION/resources/scenarios/include/general/included/scenario.xml
new file mode 100644
index 0000000..6c2efa4
--- /dev/null
+++ b/REGRESSION/resources/scenarios/include/general/included/scenario.xml
@@ -0,0 +1,18 @@
+
+
+
+ Test scenario for including in test
+ Include Scenario
+
+
+
+ include
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/include/general/main/scenario.xml b/REGRESSION/resources/scenarios/include/general/main/scenario.xml
new file mode 100644
index 0000000..2e1beeb
--- /dev/null
+++ b/REGRESSION/resources/scenarios/include/general/main/scenario.xml
@@ -0,0 +1,29 @@
+
+
+
+ Self test for Include command
+ Include
+
+
+
+ include
+
+
+
+
+
+
+ {{bestTool}}
+ Testlum
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/include/variation/included/scenario.xml b/REGRESSION/resources/scenarios/include/variation/included/scenario.xml
new file mode 100644
index 0000000..260a481
--- /dev/null
+++ b/REGRESSION/resources/scenarios/include/variation/included/scenario.xml
@@ -0,0 +1,23 @@
+
+
+
+ Test scenario for including in test
+ Include Scenario
+
+
+
+ include_variations.csv
+ include
+
+
+
+
+ {{value}}
+ 1
+
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/include/variation/included2/scenario.xml b/REGRESSION/resources/scenarios/include/variation/included2/scenario.xml
new file mode 100644
index 0000000..b35d78f
--- /dev/null
+++ b/REGRESSION/resources/scenarios/include/variation/included2/scenario.xml
@@ -0,0 +1,15 @@
+
+
+
+ Test scenario for including in test
+ Include Scenario
+
+
+
+ include
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/include/variation/main/scenario.xml b/REGRESSION/resources/scenarios/include/variation/main/scenario.xml
new file mode 100644
index 0000000..6325a26
--- /dev/null
+++ b/REGRESSION/resources/scenarios/include/variation/main/scenario.xml
@@ -0,0 +1,25 @@
+
+
+
+ Self test for Include command with variations
+ Include with variations
+
+
+
+ include
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/condition/expected_3.json b/REGRESSION/resources/scenarios/migrate/condition/expected_3.json
new file mode 100644
index 0000000..3295f98
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/condition/expected_3.json
@@ -0,0 +1,4 @@
+[ {
+ "query" : "SELECT newsnumber FROM news WHERE id > 0",
+ "content" : [ ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/condition/scenario.xml b/REGRESSION/resources/scenarios/migrate/condition/scenario.xml
new file mode 100644
index 0000000..50c883c
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/condition/scenario.xml
@@ -0,0 +1,32 @@
+
+
+
+ Self test for migrate with condition
+ Migrate with condition test
+ Kamaletdinov Anatoliy
+
+
+
+ migrate
+
+
+
+
+
+ postgres_patch.sql
+ notused.csv
+
+
+
+
+ SELECT newsnumber
+ FROM news
+ WHERE id > 0
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_10.json b/REGRESSION/resources/scenarios/migrate/general/expected_10.json
new file mode 100644
index 0000000..f714b76
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_10.json
@@ -0,0 +1,6 @@
+[
+ {
+ "query": " { find: \"mongo_news\", filter: { active: true, number: { \"$eq\": 17 } } } ",
+ "content": "\\{\"cursor\":\\{\"firstBatch\":\\[\\{\"_id\":p(any),\"name\":\"Kevin De Bruyne\",\"number\":17,\"active\":true,\"createdAt\":\"2023-04-14Tp(any)\"}],\"id\":0,\"ns\":\"mongo_db.mongo_news\"},\"ok\":1.0}"
+ }
+]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_12.json b/REGRESSION/resources/scenarios/migrate/general/expected_12.json
new file mode 100644
index 0000000..b89a604
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_12.json
@@ -0,0 +1,25 @@
+[ {
+ "query" : " SELECT * FROM dynamodb_news WHERE name = 'News1'; ",
+ "content" : [ {
+ "name" : {
+ "s" : "News1",
+ "type" : "S"
+ },
+ "number" : {
+ "n" : "1",
+ "type" : "N"
+ },
+ "createdAt" : {
+ "s" : "p(any)",
+ "type" : "S"
+ },
+ "active" : {
+ "bool" : true,
+ "type" : "BOOL"
+ },
+ "id" : {
+ "s" : "1",
+ "type" : "S"
+ }
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_14.json b/REGRESSION/resources/scenarios/migrate/general/expected_14.json
new file mode 100644
index 0000000..f1f9813
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_14.json
@@ -0,0 +1,6 @@
+[ {
+ "query" : "SELECT newsnumber FROM news WHERE newsname = 'News1'",
+ "content" : [ {
+ "newsnumber" : 1
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_16.json b/REGRESSION/resources/scenarios/migrate/general/expected_16.json
new file mode 100644
index 0000000..6b03d19
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_16.json
@@ -0,0 +1,6 @@
+[ {
+ "query" : "SELECT newsname FROM news WHERE newsnumber = 331449281",
+ "content" : [ {
+ "NEWSNAME" : "United States"
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_18.json b/REGRESSION/resources/scenarios/migrate/general/expected_18.json
new file mode 100644
index 0000000..cdec2fa
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_18.json
@@ -0,0 +1,6 @@
+[ {
+ "query" : "SELECT newsname FROM news WHERE id = 1",
+ "content" : [ {
+ "newsname" : "News1"
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_20.json b/REGRESSION/resources/scenarios/migrate/general/expected_20.json
new file mode 100644
index 0000000..c55baf8
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_20.json
@@ -0,0 +1,6 @@
+[ {
+ "query" : "SELECT newsNumber FROM news WHERE newsName = 'Uganda'",
+ "content" : [ {
+ "newsNumber" : 225
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_22.json b/REGRESSION/resources/scenarios/migrate/general/expected_22.json
new file mode 100644
index 0000000..6c07c8a
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_22.json
@@ -0,0 +1,6 @@
+[
+ {
+ "query": " { find: \"mongo_news\", filter: { \"active\": true, \"number\": 10 } } ",
+ "content": "\\{\"cursor\":\\{\"firstBatch\":\\[\\{\"_id\":p(any),\"name\":\"Lionel Messi\",\"number\":10,\"active\":true,\"createdAt\":\"p(any)\"},\\{\"_id\":p(any),\"name\":\"Sadio Mané\",\"number\":10,\"active\":true,\"createdAt\":\"p(any)\"},\\{\"_id\":p(any),\"name\":\"Harry Kane\",\"number\":10,\"active\":true,\"createdAt\":\"p(any)\"}],\"id\":0,\"ns\":\"mongo_db.mongo_news\"},\"ok\":1.0}"
+ }
+]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_24.json b/REGRESSION/resources/scenarios/migrate/general/expected_24.json
new file mode 100644
index 0000000..deeda65
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_24.json
@@ -0,0 +1,25 @@
+[ {
+ "query" : " SELECT * FROM dynamodb_news WHERE name = 'Uganda' ",
+ "content" : [ {
+ "name" : {
+ "s" : "Uganda",
+ "type" : "S"
+ },
+ "number" : {
+ "n" : "225",
+ "type" : "N"
+ },
+ "createdAt" : {
+ "s" : "p(any)",
+ "type" : "S"
+ },
+ "active" : {
+ "bool" : true,
+ "type" : "BOOL"
+ },
+ "id" : {
+ "s" : "4",
+ "type" : "S"
+ }
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_25.json b/REGRESSION/resources/scenarios/migrate/general/expected_25.json
new file mode 100644
index 0000000..b2a8303
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_25.json
@@ -0,0 +1,6 @@
+[ {
+ "query" : "DELETE FROM news",
+ "content" : {
+ "count" : 4
+ }
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_27.json b/REGRESSION/resources/scenarios/migrate/general/expected_27.json
new file mode 100644
index 0000000..40c86b0
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_27.json
@@ -0,0 +1,12 @@
+[ {
+ "query" : "SELECT newsnumber FROM news WHERE newsname != ''",
+ "content" : [ {
+ "newsnumber" : 1
+ }, {
+ "newsnumber" : 2
+ }, {
+ "newsnumber" : 3
+ }, {
+ "newsnumber" : 225
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_6.json b/REGRESSION/resources/scenarios/migrate/general/expected_6.json
new file mode 100644
index 0000000..d39eaa1
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_6.json
@@ -0,0 +1,6 @@
+[ {
+ "query" : "SELECT newsnumber FROM news WHERE newsname = 'News2'",
+ "content" : [ {
+ "newsnumber" : 2
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_7.json b/REGRESSION/resources/scenarios/migrate/general/expected_7.json
new file mode 100644
index 0000000..9fa16bc
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_7.json
@@ -0,0 +1,6 @@
+[ {
+ "query" : "SELECT NEWSNAME FROM NEWS WHERE NEWSNUMBER = 38005238",
+ "content" : [ {
+ "NEWSNAME" : "Canada"
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_8.json b/REGRESSION/resources/scenarios/migrate/general/expected_8.json
new file mode 100644
index 0000000..fdb16da
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_8.json
@@ -0,0 +1,6 @@
+[ {
+ "query" : "SELECT newsname FROM news WHERE id = 3",
+ "content" : [ {
+ "newsname" : "News3"
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/expected_9.json b/REGRESSION/resources/scenarios/migrate/general/expected_9.json
new file mode 100644
index 0000000..59e6a47
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/expected_9.json
@@ -0,0 +1,6 @@
+[ {
+ "query" : "SELECT newsNumber FROM news WHERE newsName = 'Brazil'",
+ "content" : [ {
+ "newsNumber" : 213993437
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/general/scenario.xml b/REGRESSION/resources/scenarios/migrate/general/scenario.xml
new file mode 100644
index 0000000..54852ba
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/general/scenario.xml
@@ -0,0 +1,224 @@
+
+
+
+ Self test for migrate command
+ Migrate self test
+ Kamaletdinov Anatoliy
+
+
+
+ migrate
+
+
+
+
+
+ postgres_patch.sql
+
+
+
+ oracle_patch.sql
+
+
+
+ mysql_patch.sql
+
+
+
+ clickhouse_patch.sql
+
+
+
+ mongo_patch.bson
+
+
+
+
+ SELECT newsnumber
+ FROM news
+ WHERE newsname = 'News2'
+
+
+
+
+
+ SELECT NEWSNAME
+ FROM NEWS
+ WHERE NEWSNUMBER = 38005238
+
+
+
+
+
+ SELECT newsname
+ FROM news
+ WHERE id = 3
+
+
+
+
+
+
+ SELECT newsNumber
+ FROM news
+ WHERE newsName = 'Brazil'
+
+
+
+
+
+ {
+ find: "mongo_news",
+ filter: {
+ active: true,
+ number: { "$eq": 17 }
+ } }
+
+
+
+
+ dynamo_patch.partiql
+
+
+
+
+ SELECT *
+ FROM dynamodb_news
+ WHERE name = 'News1';
+
+
+
+
+
+ postgres_patch_1.sql
+
+
+
+
+ SELECT newsnumber
+ FROM news
+ WHERE newsname = 'News1'
+
+
+
+
+ oracle_patch_1.sql
+
+
+
+
+ SELECT newsname
+ FROM news
+ WHERE newsnumber = 331449281
+
+
+
+
+ mysql_patch_1.sql
+
+
+
+
+ SELECT newsname
+ FROM news
+ WHERE id = 1
+
+
+
+
+ clickhouse_patch_1.sql
+
+
+
+
+ SELECT newsNumber
+ FROM news
+ WHERE newsName = 'Uganda'
+
+
+
+
+ mongo_patch_1.bson
+
+
+
+
+ {
+ find: "mongo_news",
+ filter: { "active": true, "number": 10 }
+ }
+
+
+
+
+ dynamo_patch_1.partiql
+
+
+
+
+ SELECT *
+ FROM dynamodb_news
+ WHERE name = 'Uganda'
+
+
+
+
+
+ DELETE
+ FROM news
+
+
+
+
+ postgres_patch.sql
+ postgres_patch_1.sql
+
+
+
+
+ SELECT newsnumber
+ FROM news
+ WHERE newsname != ''
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/variation/expected_2_1.json b/REGRESSION/resources/scenarios/migrate/variation/expected_2_1.json
new file mode 100644
index 0000000..f1f9813
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/variation/expected_2_1.json
@@ -0,0 +1,6 @@
+[ {
+ "query" : "SELECT newsnumber FROM news WHERE newsname = 'News1'",
+ "content" : [ {
+ "newsnumber" : 1
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/variation/expected_2_2.json b/REGRESSION/resources/scenarios/migrate/variation/expected_2_2.json
new file mode 100644
index 0000000..614b675
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/variation/expected_2_2.json
@@ -0,0 +1,6 @@
+[ {
+ "query" : "SELECT newsname FROM news WHERE newsnumber = 225",
+ "content" : [ {
+ "newsname" : "Uganda"
+ } ]
+} ]
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/migrate/variation/scenario.xml b/REGRESSION/resources/scenarios/migrate/variation/scenario.xml
new file mode 100644
index 0000000..d3bb671
--- /dev/null
+++ b/REGRESSION/resources/scenarios/migrate/variation/scenario.xml
@@ -0,0 +1,26 @@
+
+
+
+ Self test for migrate with variation
+ Migrate with variation test
+ Kamaletdinov Anatoliy
+
+
+
+ migrate_variations.csv
+ migrate
+
+
+
+ {{dataset}}
+
+
+
+ {{query}}
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/repeat/condition/scenario.xml b/REGRESSION/resources/scenarios/repeat/condition/scenario.xml
new file mode 100644
index 0000000..ecbf57d
--- /dev/null
+++ b/REGRESSION/resources/scenarios/repeat/condition/scenario.xml
@@ -0,0 +1,52 @@
+
+
+
+ Self test for command: Repeat with condition — verifies that repeat is skipped when condition is false and executes when condition is true
+ Repeat self with condition
+
+
+
+ repeat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{value}}
+ initial
+
+
+
+
+
+
+
+
+
+
+
+ {{value}}
+ overwritten
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/repeat/times/scenario.xml b/REGRESSION/resources/scenarios/repeat/times/scenario.xml
new file mode 100644
index 0000000..49098e8
--- /dev/null
+++ b/REGRESSION/resources/scenarios/repeat/times/scenario.xml
@@ -0,0 +1,46 @@
+
+
+
+ Self test for command: Repeat with times — verifies that commands inside repeat are executed on each iteration
+ Repeat with times
+
+
+
+ repeat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{result}}
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{result}}
+ 6
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/repeat/variation/scenario.xml b/REGRESSION/resources/scenarios/repeat/variation/scenario.xml
new file mode 100644
index 0000000..403b540
--- /dev/null
+++ b/REGRESSION/resources/scenarios/repeat/variation/scenario.xml
@@ -0,0 +1,59 @@
+
+
+
+ Self test for command: Repeat
+ Repeat general test
+
+
+
+ repeat_inject_variations.csv
+ repeat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{result}}
+ 6
+
+
+ {{result}}
+ 0
+
+
+ {{result}}
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/condition/scenario.xml b/REGRESSION/resources/scenarios/variable/condition/scenario.xml
new file mode 100644
index 0000000..807ccb0
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/condition/scenario.xml
@@ -0,0 +1,30 @@
+
+
+
+ Test variable creation and usage (with conditions)
+ Variable Test with conditions
+ Kamaletdinov Anatoliy
+
+
+
+ var
+
+
+
+
+
+
+
+
+
+
+
+
+ {{testVar}}
+ Testlum
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/general/constant/scenario.xml b/REGRESSION/resources/scenarios/variable/general/constant/scenario.xml
new file mode 100644
index 0000000..4835a70
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/general/constant/scenario.xml
@@ -0,0 +1,26 @@
+
+
+
+ Test constant variable creation and usage
+ Variable(constant) Test
+ Kamaletdinov Anatoliy
+
+
+
+ var
+
+
+
+
+
+
+
+
+ {{testVar}}
+ Testlum
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/general/date/scenario.xml b/REGRESSION/resources/scenarios/variable/general/date/scenario.xml
new file mode 100644
index 0000000..4a54224
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/general/date/scenario.xml
@@ -0,0 +1,92 @@
+
+
+
+ Test date variable creation and usage
+ Variable(constant - date) Test
+ Kamaletdinov Anatoliy
+
+
+
+ var
+
+
+
+
+
+
+
+
+ {{dateConstant}}
+ 2026-04-01
+
+
+
+
+
+
+
+
+
+
+
+ {{dateNowCondition}}
+ true
+
+
+
+
+
+
+
+
+
+
+
+ {{dateBeforeNowCondition}}
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{dateAfterNowCondition}}
+ true
+
+
+
+
+
+ {{dateNow}}
+ {{dateBeforeNow}}
+
+
+ {{dateNow}}
+ {{dateAfterNow}}
+
+
+ {{dateBeforeNow}}
+ {{dateAfterNow}}
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/general/expression/scenario.xml b/REGRESSION/resources/scenarios/variable/general/expression/scenario.xml
new file mode 100644
index 0000000..d13f7c1
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/general/expression/scenario.xml
@@ -0,0 +1,36 @@
+
+
+
+ Test expression variable creation and usage
+ Variable(expression) Test
+ Kamaletdinov Anatoliy
+
+
+
+ var
+
+
+
+
+
+
+
+
+ {{expressionVar}}
+ TestlumTestlumTestlum
+
+
+
+
+
+
+
+
+
+ {{expressionWithSymbols}}
+ $Test@[]{}();.=||$Test@[]{}();.=||
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/general/file/file.txt b/REGRESSION/resources/scenarios/variable/general/file/file.txt
new file mode 100644
index 0000000..efdf240
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/general/file/file.txt
@@ -0,0 +1 @@
+Testlum is the best tool ever!
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/general/file/scenario.xml b/REGRESSION/resources/scenarios/variable/general/file/scenario.xml
new file mode 100644
index 0000000..5660134
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/general/file/scenario.xml
@@ -0,0 +1,26 @@
+
+
+
+ Test file variable creation and usage
+ Variable(file) Test
+ Kamaletdinov Anatoliy
+
+
+
+ var
+
+
+
+
+
+
+
+
+ {{fileVar}}
+ Testlum is the best tool ever!
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/general/generate/scenario.xml b/REGRESSION/resources/scenarios/variable/general/generate/scenario.xml
new file mode 100644
index 0000000..44efd0d
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/general/generate/scenario.xml
@@ -0,0 +1,81 @@
+
+
+
+ Test generate variable creation and usage
+ Variable(generate) Test
+ Kamaletdinov Anatoliy
+
+
+
+ var
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{generateNumericCondition}}
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{generateAlphabeticCondition}}
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{generateAlphanumericCondition}}
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{generateRegexCondition}}
+ true
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/general/path/data.json b/REGRESSION/resources/scenarios/variable/general/path/data.json
new file mode 100644
index 0000000..1517e5f
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/general/path/data.json
@@ -0,0 +1,4 @@
+{
+ "name": "Testlum",
+ "description": "The best tool you can imagine!"
+}
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/general/path/expected_12.json b/REGRESSION/resources/scenarios/variable/general/path/expected_12.json
new file mode 100644
index 0000000..dcae852
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/general/path/expected_12.json
@@ -0,0 +1,5 @@
+{
+ "status" : "NOT_FOUND",
+ "message" : "p(any)",
+ "timestamp" : "p(any)"
+}
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/general/path/scenario.xml b/REGRESSION/resources/scenarios/variable/general/path/scenario.xml
new file mode 100644
index 0000000..194bbcf
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/general/path/scenario.xml
@@ -0,0 +1,73 @@
+
+
+
+ Test path variable creation and usage
+ Variable(path) Test
+ Kamaletdinov Anatoliy
+
+
+
+ var
+
+
+
+
+
+
+
+
+ {{constantVar}}
+ {"name":"HelloWorld", "someField":"test"}
+
+
+
+
+
+
+
+
+
+ {{pathFromVar}}
+ test
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{pathFromFile}}
+ The best tool you can imagine!
+
+
+ {{nameFromPath}}
+ TestRail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{pathVar}}
+ NOT_FOUND
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/general/sql/scenario.xml b/REGRESSION/resources/scenarios/variable/general/sql/scenario.xml
new file mode 100644
index 0000000..4dfce6a
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/general/sql/scenario.xml
@@ -0,0 +1,98 @@
+
+
+
+ Test sql variable creation and usage
+ Variable(sql) Test
+ Kamaletdinov Anatoliy
+
+
+
+ var
+
+
+
+ postgres_patch.sql
+
+
+
+ mysql_patch.sql
+
+
+
+ oracle_patch.sql
+
+
+
+ clickhouse_patch.sql
+
+
+
+
+
+ SELECT id
+ FROM news
+ WHERE newsname='News1';
+
+
+
+
+
+
+
+ SELECT id
+ FROM news
+ WHERE newsname='News1';
+
+
+
+
+
+
+
+ SELECT newsnumber
+ FROM news
+ WHERE newsname = 'Ukraine'
+
+
+
+
+
+
+
+ SELECT database
+ FROM system.parts
+ WHERE table = 'news'
+
+
+
+
+
+
+ {{postgresQuery}}
+ 101
+
+
+
+
+
+ {{mysqlQuery}}
+ 1
+
+
+
+
+
+ {{oracleQuery}}
+ 43752156
+
+
+
+
+
+ {{clickhouseQuery}}
+ test_db
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/self/scenario.xml b/REGRESSION/resources/scenarios/variable/self/scenario.xml
index ced8fcc..9f50920 100644
--- a/REGRESSION/resources/scenarios/variable/self/scenario.xml
+++ b/REGRESSION/resources/scenarios/variable/self/scenario.xml
@@ -9,7 +9,7 @@
- var-self
+ var
diff --git a/REGRESSION/resources/scenarios/variable/variable/scenario.xml b/REGRESSION/resources/scenarios/variable/variable/scenario.xml
new file mode 100644
index 0000000..d3644b7
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/variable/scenario.xml
@@ -0,0 +1,80 @@
+
+
+
+ Test variable creation and usage (with variables)
+ Variable Test with variables inject
+ Kamaletdinov Anatoliy
+
+
+
+ var
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{injectedName}}
+ injectedValue
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{injectedName}}
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{injectedName}}
+ ["test"]
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/variable/variation/scenario.xml b/REGRESSION/resources/scenarios/variable/variation/scenario.xml
new file mode 100644
index 0000000..2a94f26
--- /dev/null
+++ b/REGRESSION/resources/scenarios/variable/variation/scenario.xml
@@ -0,0 +1,59 @@
+
+
+
+ Test variable creation and usage (with variations)
+ Variable Test with variations
+ Kamaletdinov Anatoliy
+
+
+
+ var_variations.csv
+ var
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{result}}
+ {{expected}}
+
+
+
+
+
+
+
+
+
+ {{sum}}
+ {{expected}}
+
+
+
+
+
+ {{diff}}
+ {{expected}}
+
+
+
+
+
+ {{multiplication}}
+ {{expected}}
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/wait/condition/scenario.xml b/REGRESSION/resources/scenarios/wait/condition/scenario.xml
new file mode 100644
index 0000000..da12adb
--- /dev/null
+++ b/REGRESSION/resources/scenarios/wait/condition/scenario.xml
@@ -0,0 +1,54 @@
+
+
+
+ Self test for command: Wait with condition
+ Wait with condition
+
+
+
+ wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{isBeforeCheck}}
+ true
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/wait/general/scenario.xml b/REGRESSION/resources/scenarios/wait/general/scenario.xml
new file mode 100644
index 0000000..0b53ae7
--- /dev/null
+++ b/REGRESSION/resources/scenarios/wait/general/scenario.xml
@@ -0,0 +1,80 @@
+
+
+
+ Self test for command: Wait
+ Wait
+
+
+
+ wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{isBeforeCheck}}
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{isBeforeCheck}}
+ true
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/wait/repeat/scenario.xml b/REGRESSION/resources/scenarios/wait/repeat/scenario.xml
new file mode 100644
index 0000000..74ea17d
--- /dev/null
+++ b/REGRESSION/resources/scenarios/wait/repeat/scenario.xml
@@ -0,0 +1,49 @@
+
+
+
+ Self test for command: Wait with repeat
+ Wait with repeat
+
+
+
+ wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{isBeforeCheck}}
+ true
+
+
+
+
\ No newline at end of file
diff --git a/REGRESSION/resources/scenarios/wait/variation/scenario.xml b/REGRESSION/resources/scenarios/wait/variation/scenario.xml
new file mode 100644
index 0000000..db6b262
--- /dev/null
+++ b/REGRESSION/resources/scenarios/wait/variation/scenario.xml
@@ -0,0 +1,46 @@
+
+
+
+ Self test for command: Wait with variations
+ Wait with variations
+
+
+
+ wait_variations.csv
+ wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{diff}}
+ {{seconds}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file