tests: reformat json files for easier update (#38067)
Add script format_json_fixtures.py to canonicalize every JSON files in fixtures to simplify management of changes in visualization results.
This commit is contained in:
parent
0a612f24ac
commit
65a78b93dc
|
@ -0,0 +1,18 @@
|
||||||
|
from __future__ import print_function
|
||||||
|
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
|
for root, dirs, files in os.walk('tests/fixtures/'):
|
||||||
|
for name in files:
|
||||||
|
if not name.endswith('.json'):
|
||||||
|
continue
|
||||||
|
path = os.path.join(root, name)
|
||||||
|
with open(path) as fd:
|
||||||
|
try:
|
||||||
|
d = json.load(fd)
|
||||||
|
except Exception as e:
|
||||||
|
print('error on', path, ':', e)
|
||||||
|
continue
|
||||||
|
with open(path, 'w') as fd:
|
||||||
|
json.dump(d, fd, indent=4, sort_keys=True, separators=(',', ': '))
|
|
@ -1,203 +1,248 @@
|
||||||
{
|
{
|
||||||
"name": "schema1",
|
|
||||||
"label": "test schema1",
|
|
||||||
"pg_dsn": "fixme",
|
|
||||||
"search_path": ["schema1"],
|
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{
|
{
|
||||||
"name": "facts1",
|
|
||||||
"label": "Facts 1",
|
|
||||||
"fact_table": "\"Facts\"",
|
|
||||||
"key": "id",
|
|
||||||
"warnings": ["le champ « pouët » n'est pas bon", "warning2"],
|
|
||||||
"joins": [
|
|
||||||
{
|
|
||||||
"name": "innersubcategory",
|
|
||||||
"table": "subcategory",
|
|
||||||
"master": "innersubcategory_id",
|
|
||||||
"detail": "id",
|
|
||||||
"kind": "inner"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "leftsubcategory",
|
|
||||||
"table": "subcategory",
|
|
||||||
"master": "leftsubcategory_id",
|
|
||||||
"detail": "id",
|
|
||||||
"kind": "left"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "rightsubcategory",
|
|
||||||
"table": "subcategory",
|
|
||||||
"master": "rightsubcategory_id",
|
|
||||||
"detail": "id",
|
|
||||||
"kind": "right"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "outersubcategory",
|
|
||||||
"table": "subcategory",
|
|
||||||
"master": "outersubcategory_id",
|
|
||||||
"detail": "id",
|
|
||||||
"kind": "full"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "innercategory",
|
|
||||||
"table": "category",
|
|
||||||
"master": "innersubcategory.category_id",
|
|
||||||
"detail": "id",
|
|
||||||
"kind": "inner"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "leftcategory",
|
|
||||||
"table": "category",
|
|
||||||
"master": "leftsubcategory.category_id",
|
|
||||||
"detail": "id",
|
|
||||||
"kind": "left"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "rightcategory",
|
|
||||||
"table": "category",
|
|
||||||
"master": "rightsubcategory.category_id",
|
|
||||||
"detail": "id",
|
|
||||||
"kind": "right"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "outercategory",
|
|
||||||
"table": "category",
|
|
||||||
"master": "outersubcategory.category_id",
|
|
||||||
"detail": "id",
|
|
||||||
"kind": "full"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dimensions": [
|
"dimensions": [
|
||||||
{
|
{
|
||||||
"name": "date",
|
|
||||||
"label": "Date",
|
"label": "Date",
|
||||||
|
"name": "date",
|
||||||
"type": "date",
|
"type": "date",
|
||||||
"value": "date"
|
"value": "date"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "datetime",
|
|
||||||
"label": "Datetime",
|
"label": "Datetime",
|
||||||
|
"name": "datetime",
|
||||||
"type": "date",
|
"type": "date",
|
||||||
"value": "datetime"
|
"value": "datetime"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "boolean",
|
|
||||||
"label": "Boolean",
|
"label": "Boolean",
|
||||||
|
"name": "boolean",
|
||||||
"type": "bool",
|
"type": "bool",
|
||||||
"value": "boolean"
|
"value": "boolean"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"label": "Hour",
|
||||||
"name": "hour",
|
"name": "hour",
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"label": "Hour",
|
|
||||||
"value": "EXTRACT(hour from datetime)"
|
"value": "EXTRACT(hour from datetime)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "innersubcategory",
|
"join": [
|
||||||
|
"innercategory",
|
||||||
|
"innersubcategory"
|
||||||
|
],
|
||||||
"label": "Inner SubCategory",
|
"label": "Inner SubCategory",
|
||||||
|
"name": "innersubcategory",
|
||||||
|
"order_by": [
|
||||||
|
"innercategory.ord",
|
||||||
|
"innersubcategory.ord",
|
||||||
|
"innersubcategory.label"
|
||||||
|
],
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"join": ["innercategory", "innersubcategory"],
|
|
||||||
"value": "innersubcategory.id",
|
"value": "innersubcategory.id",
|
||||||
"order_by": ["innercategory.ord", "innersubcategory.ord", "innersubcategory.label"],
|
|
||||||
"value_label": "innersubcategory.label"
|
"value_label": "innersubcategory.label"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "leftsubcategory",
|
"join": [
|
||||||
|
"leftcategory",
|
||||||
|
"leftsubcategory"
|
||||||
|
],
|
||||||
"label": "Left SubCategory",
|
"label": "Left SubCategory",
|
||||||
|
"name": "leftsubcategory",
|
||||||
|
"order_by": [
|
||||||
|
"leftcategory.ord",
|
||||||
|
"leftsubcategory.ord",
|
||||||
|
"leftsubcategory.label"
|
||||||
|
],
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"join": ["leftcategory", "leftsubcategory"],
|
|
||||||
"value": "leftsubcategory.id",
|
"value": "leftsubcategory.id",
|
||||||
"order_by": ["leftcategory.ord", "leftsubcategory.ord", "leftsubcategory.label"],
|
|
||||||
"value_label": "leftsubcategory.label"
|
"value_label": "leftsubcategory.label"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "rightsubcategory",
|
"join": [
|
||||||
|
"rightcategory",
|
||||||
|
"rightsubcategory"
|
||||||
|
],
|
||||||
"label": "Right SubCategory",
|
"label": "Right SubCategory",
|
||||||
|
"name": "rightsubcategory",
|
||||||
|
"order_by": [
|
||||||
|
"rightcategory.ord",
|
||||||
|
"rightsubcategory.ord",
|
||||||
|
"rightsubcategory.label"
|
||||||
|
],
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"join": ["rightcategory", "rightsubcategory"],
|
|
||||||
"value": "rightsubcategory.id",
|
"value": "rightsubcategory.id",
|
||||||
"order_by": ["rightcategory.ord", "rightsubcategory.ord", "rightsubcategory.label"],
|
|
||||||
"value_label": "rightsubcategory.label"
|
"value_label": "rightsubcategory.label"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "outersubcategory",
|
"join": [
|
||||||
|
"outercategory",
|
||||||
|
"outersubcategory"
|
||||||
|
],
|
||||||
"label": "Outer SubCategory",
|
"label": "Outer SubCategory",
|
||||||
|
"name": "outersubcategory",
|
||||||
|
"order_by": [
|
||||||
|
"outercategory.ord",
|
||||||
|
"outersubcategory.ord",
|
||||||
|
"outersubcategory.label"
|
||||||
|
],
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"join": ["outercategory", "outersubcategory"],
|
|
||||||
"value": "outersubcategory.id",
|
"value": "outersubcategory.id",
|
||||||
"order_by": ["outercategory.ord", "outersubcategory.ord", "outersubcategory.label"],
|
|
||||||
"value_label": "outersubcategory.label"
|
"value_label": "outersubcategory.label"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "innercategory",
|
"join": [
|
||||||
|
"innersubcategory",
|
||||||
|
"innercategory"
|
||||||
|
],
|
||||||
"label": "Inner Category",
|
"label": "Inner Category",
|
||||||
"type": "integer",
|
"name": "innercategory",
|
||||||
"join": ["innersubcategory", "innercategory"],
|
|
||||||
"value": "innercategory.id",
|
|
||||||
"order_by": "innercategory.ord",
|
"order_by": "innercategory.ord",
|
||||||
|
"type": "integer",
|
||||||
|
"value": "innercategory.id",
|
||||||
"value_label": "innercategory.label"
|
"value_label": "innercategory.label"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "leftcategory",
|
"join": [
|
||||||
|
"leftsubcategory",
|
||||||
|
"leftcategory"
|
||||||
|
],
|
||||||
"label": "Left Category",
|
"label": "Left Category",
|
||||||
"type": "integer",
|
"name": "leftcategory",
|
||||||
"join": ["leftsubcategory", "leftcategory"],
|
|
||||||
"value": "leftcategory.id",
|
|
||||||
"order_by": "leftcategory.ord",
|
"order_by": "leftcategory.ord",
|
||||||
|
"type": "integer",
|
||||||
|
"value": "leftcategory.id",
|
||||||
"value_label": "leftcategory.label"
|
"value_label": "leftcategory.label"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "rightcategory",
|
"join": [
|
||||||
|
"rightsubcategory",
|
||||||
|
"rightcategory"
|
||||||
|
],
|
||||||
"label": "Right Category",
|
"label": "Right Category",
|
||||||
"type": "integer",
|
"name": "rightcategory",
|
||||||
"join": ["rightsubcategory", "rightcategory"],
|
|
||||||
"value": "rightcategory.id",
|
|
||||||
"order_by": "rightcategory.ord",
|
"order_by": "rightcategory.ord",
|
||||||
|
"type": "integer",
|
||||||
|
"value": "rightcategory.id",
|
||||||
"value_label": "rightcategory.label"
|
"value_label": "rightcategory.label"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "outercategory",
|
"join": [
|
||||||
|
"outersubcategory",
|
||||||
|
"outercategory"
|
||||||
|
],
|
||||||
"label": "Outer Category",
|
"label": "Outer Category",
|
||||||
"type": "integer",
|
"name": "outercategory",
|
||||||
"join": ["outersubcategory", "outercategory"],
|
|
||||||
"value": "outercategory.id",
|
|
||||||
"order_by": "outercategory.ord",
|
"order_by": "outercategory.ord",
|
||||||
|
"type": "integer",
|
||||||
|
"value": "outercategory.id",
|
||||||
"value_label": "outercategory.label"
|
"value_label": "outercategory.label"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "string",
|
|
||||||
"label": "String",
|
"label": "String",
|
||||||
|
"name": "string",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"value": "\"String\""
|
"value": "\"String\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"fact_table": "\"Facts\"",
|
||||||
|
"joins": [
|
||||||
|
{
|
||||||
|
"detail": "id",
|
||||||
|
"kind": "inner",
|
||||||
|
"master": "innersubcategory_id",
|
||||||
|
"name": "innersubcategory",
|
||||||
|
"table": "subcategory"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"detail": "id",
|
||||||
|
"kind": "left",
|
||||||
|
"master": "leftsubcategory_id",
|
||||||
|
"name": "leftsubcategory",
|
||||||
|
"table": "subcategory"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"detail": "id",
|
||||||
|
"kind": "right",
|
||||||
|
"master": "rightsubcategory_id",
|
||||||
|
"name": "rightsubcategory",
|
||||||
|
"table": "subcategory"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"detail": "id",
|
||||||
|
"kind": "full",
|
||||||
|
"master": "outersubcategory_id",
|
||||||
|
"name": "outersubcategory",
|
||||||
|
"table": "subcategory"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"detail": "id",
|
||||||
|
"kind": "inner",
|
||||||
|
"master": "innersubcategory.category_id",
|
||||||
|
"name": "innercategory",
|
||||||
|
"table": "category"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"detail": "id",
|
||||||
|
"kind": "left",
|
||||||
|
"master": "leftsubcategory.category_id",
|
||||||
|
"name": "leftcategory",
|
||||||
|
"table": "category"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"detail": "id",
|
||||||
|
"kind": "right",
|
||||||
|
"master": "rightsubcategory.category_id",
|
||||||
|
"name": "rightcategory",
|
||||||
|
"table": "category"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"detail": "id",
|
||||||
|
"kind": "full",
|
||||||
|
"master": "outersubcategory.category_id",
|
||||||
|
"name": "outercategory",
|
||||||
|
"table": "category"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"key": "id",
|
||||||
|
"label": "Facts 1",
|
||||||
"measures": [
|
"measures": [
|
||||||
{
|
{
|
||||||
"name": "simple_count",
|
"expression": "count({fact_table}.id)",
|
||||||
"label": "number of rows",
|
"label": "number of rows",
|
||||||
"type": "integer",
|
"name": "simple_count",
|
||||||
"expression": "count({fact_table}.id)"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "aggregated_count",
|
"expression": "sum(cnt)",
|
||||||
"label": "sum of cnt",
|
"label": "sum of cnt",
|
||||||
"type": "integer",
|
"name": "aggregated_count",
|
||||||
"expression": "sum(cnt)"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "percent",
|
"expression": "case (select count({fact_table}.id) from {table_expression} where {where_conditions}) when 0 then null else count({fact_table}.id) * 100. / (select count({fact_table}.id) from {table_expression} where {where_conditions}) end",
|
||||||
"label": "pourcentage des demandes",
|
"label": "pourcentage des demandes",
|
||||||
"type": "percent",
|
"name": "percent",
|
||||||
"expression": "case (select count({fact_table}.id) from {table_expression} where {where_conditions}) when 0 then null else count({fact_table}.id) * 100. / (select count({fact_table}.id) from {table_expression} where {where_conditions}) end"
|
"type": "percent"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"expression": "AVG(datetime - '2000-01-01')",
|
||||||
|
"label": "d\u00e9lai moyen depuis 2000",
|
||||||
"name": "duration",
|
"name": "duration",
|
||||||
"label": "délai moyen depuis 2000",
|
"type": "duration"
|
||||||
"type": "duration",
|
|
||||||
"expression": "AVG(datetime - '2000-01-01')"
|
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"name": "facts1",
|
||||||
|
"warnings": [
|
||||||
|
"le champ \u00ab pou\u00ebt \u00bb n'est pas bon",
|
||||||
|
"warning2"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"label": "test schema1",
|
||||||
|
"name": "schema1",
|
||||||
|
"pg_dsn": "fixme",
|
||||||
|
"search_path": [
|
||||||
|
"schema1"
|
||||||
]
|
]
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue