Restructure report sources & adjust testcases

This commit is contained in:
Tomaž Jerman
2021-08-16 09:16:07 +02:00
parent 4ed615585b
commit 9e5ae5df30
17 changed files with 282 additions and 417 deletions
+2
View File
@@ -34,6 +34,8 @@ type (
StepDefinitionSet []*StepDefinition
StepDefinition struct {
Kind string `json:"kind,omitempty"`
Load *LoadStepDefinition `json:"load,omitempty"`
Join *JoinStepDefinition `json:"join,omitempty"`
Group *GroupStepDefinition `json:"group,omitempty"`
+3 -10
View File
@@ -32,16 +32,11 @@ type (
}
ReportDataSource struct {
Name string `json:"name,omitempty"`
Groups []*ReportStepGroup
Meta interface{} `json:"meta,omitempty"`
Step *report.StepDefinition `json:"step"`
}
ReportDataSourceSet []*ReportDataSource
ReportStepGroup struct {
Name string `json:"name,omitempty"`
Steps report.StepDefinitionSet `json:"steps"`
}
ReportMeta struct {
Name string `json:"name"`
Description string `json:"description"`
@@ -87,9 +82,7 @@ func (ss ReportDataSourceSet) ModelSteps() report.StepDefinitionSet {
out := make(report.StepDefinitionSet, 0, 124)
for _, s := range ss {
for _, g := range s.Groups {
out = append(out, g.Steps...)
}
out = append(out, s.Step)
}
return out
+24 -33
View File
@@ -1,38 +1,29 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}},
{ "load": {
"name": "jobs",
"source": "composeRecords",
"definition": {
"module": "job",
"namespace": "ns"
}
}},
{ "join": {
"name": "joined",
"localSource": "users",
"localColumn": "join_key",
"foreignSource": "jobs",
"foreignColumn": "usr"
}}
]
"sources": [
{ "step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}},
{ "step": { "load": {
"name": "jobs",
"source": "composeRecords",
"definition": {
"module": "job",
"namespace": "ns"
}
}}},
{ "step": { "join": {
"name": "joined",
"localSource": "users",
"localColumn": "join_key",
"foreignSource": "jobs",
"foreignColumn": "usr"
}}}
],
"describe": ["users", "jobs", "joined"]
}
+7 -16
View File
@@ -1,23 +1,14 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}}
]
"step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}}],
"frames": [{
"name": "result",
"source": "users",
+7 -16
View File
@@ -1,23 +1,14 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}}
]
"step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}}],
"frames": [{
"name": "result",
"source": "users",
+7 -16
View File
@@ -1,23 +1,14 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}}
]
"step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}}],
"frames": [{
"name": "result",
"source": "users",
+7 -16
View File
@@ -1,23 +1,14 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}}
]
"step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}}],
"frames": [{
"name": "result",
"source": "users",
+21 -29
View File
@@ -1,35 +1,27 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}},
{ "group": {
"name": "grouped",
"source": "users",
"keys": [
{ "name": "by_name", "column": "first_name" }
],
"columns": [
{ "name": "count", "aggregate": "count" },
{ "name": "total", "aggregate": "sum", "column": "number_of_numbers" }
]
}}
]
"sources": [
{ "step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}},
{ "step": { "group": {
"name": "grouped",
"source": "users",
"keys": [
{ "name": "by_name", "column": "first_name" }
],
"columns": [
{ "name": "count", "aggregate": "count" },
{ "name": "total", "aggregate": "sum", "column": "number_of_numbers" }
]
}}}
],
"frames": [{
"name": "result",
"source": "grouped",
+21 -29
View File
@@ -1,35 +1,27 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}},
{ "group": {
"name": "grouped",
"source": "users",
"keys": [
{ "name": "by_name", "column": "first_name" }
],
"columns": [
{ "name": "count", "aggregate": "count" },
{ "name": "total", "aggregate": "sum", "column": "number_of_numbers" }
]
}}
]
"sources": [
{ "step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}},
{ "step": { "group": {
"name": "grouped",
"source": "users",
"keys": [
{ "name": "by_name", "column": "first_name" }
],
"columns": [
{ "name": "count", "aggregate": "count" },
{ "name": "total", "aggregate": "sum", "column": "number_of_numbers" }
]
}}}
],
"frames": [{
"name": "result",
"source": "grouped",
+21 -29
View File
@@ -1,35 +1,27 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}},
{ "group": {
"name": "grouped",
"source": "users",
"keys": [
{ "name": "by_name", "column": "first_name" }
],
"columns": [
{ "name": "count", "aggregate": "count" },
{ "name": "total", "aggregate": "sum", "column": "number_of_numbers" }
]
}}
]
"sources": [
{ "step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}},
{ "step": { "group": {
"name": "grouped",
"source": "users",
"keys": [
{ "name": "by_name", "column": "first_name" }
],
"columns": [
{ "name": "count", "aggregate": "count" },
{ "name": "total", "aggregate": "sum", "column": "number_of_numbers" }
]
}}}
],
"frames": [{
"name": "result",
"source": "grouped",
+21 -29
View File
@@ -1,35 +1,27 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}},
{ "group": {
"name": "grouped",
"source": "users",
"keys": [
{ "name": "by_name", "column": "first_name" }
],
"columns": [
{ "name": "count", "aggregate": "count" },
{ "name": "total", "aggregate": "sum", "column": "number_of_numbers" }
]
}}
]
"sources": [
{ "step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}},
{ "step": { "group": {
"name": "grouped",
"source": "users",
"keys": [
{ "name": "by_name", "column": "first_name" }
],
"columns": [
{ "name": "count", "aggregate": "count" },
{ "name": "total", "aggregate": "sum", "column": "number_of_numbers" }
]
}}}
],
"frames": [{
"name": "result",
"source": "grouped",
+24 -33
View File
@@ -1,39 +1,30 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}},
{ "load": {
"name": "jobs",
"source": "composeRecords",
"definition": {
"module": "job",
"namespace": "ns"
}
}},
{ "join": {
"name": "joined",
"localSource": "users",
"localColumn": "join_key",
"foreignSource": "jobs",
"foreignColumn": "usr"
}}
]
"sources": [
{ "step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}},
{ "step": { "load": {
"name": "jobs",
"source": "composeRecords",
"definition": {
"module": "job",
"namespace": "ns"
}
}}},
{ "step": { "join": {
"name": "joined",
"localSource": "users",
"localColumn": "join_key",
"foreignSource": "jobs",
"foreignColumn": "usr"
}}}
],
"frames": [{
"name": "result",
"source": "joined",
+24 -33
View File
@@ -1,39 +1,30 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}},
{ "load": {
"name": "jobs",
"source": "composeRecords",
"definition": {
"module": "job",
"namespace": "ns"
}
}},
{ "join": {
"name": "joined",
"localSource": "users",
"localColumn": "join_key",
"foreignSource": "jobs",
"foreignColumn": "usr"
}}
]
"sources": [
{ "step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}},
{ "step": { "load": {
"name": "jobs",
"source": "composeRecords",
"definition": {
"module": "job",
"namespace": "ns"
}
}}},
{ "step": { "join": {
"name": "joined",
"localSource": "users",
"localColumn": "join_key",
"foreignSource": "jobs",
"foreignColumn": "usr"
}}}
],
"frames": [{
"name": "result",
"source": "joined",
@@ -1,39 +1,30 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}},
{ "load": {
"name": "jobs",
"source": "composeRecords",
"definition": {
"module": "job",
"namespace": "ns"
}
}},
{ "join": {
"name": "joined",
"localSource": "users",
"localColumn": "join_key",
"foreignSource": "jobs",
"foreignColumn": "usr"
}}
]
"sources": [
{ "step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}},
{ "step": { "load": {
"name": "jobs",
"source": "composeRecords",
"definition": {
"module": "job",
"namespace": "ns"
}
}}},
{ "step": { "join": {
"name": "joined",
"localSource": "users",
"localColumn": "join_key",
"foreignSource": "jobs",
"foreignColumn": "usr"
}}}
],
"frames": [{
"name": "result",
"source": "joined",
@@ -1,39 +1,30 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}},
{ "load": {
"name": "jobs",
"source": "composeRecords",
"definition": {
"module": "job",
"namespace": "ns"
}
}},
{ "join": {
"name": "joined",
"localSource": "users",
"localColumn": "join_key",
"foreignSource": "jobs",
"foreignColumn": "usr"
}}
]
"sources": [
{ "step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}},
{ "step": { "load": {
"name": "jobs",
"source": "composeRecords",
"definition": {
"module": "job",
"namespace": "ns"
}
}}},
{ "step": { "join": {
"name": "joined",
"localSource": "users",
"localColumn": "join_key",
"foreignSource": "jobs",
"foreignColumn": "usr"
}}}
],
"frames": [{
"name": "result",
"source": "joined",
+24 -33
View File
@@ -1,39 +1,30 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}},
{ "load": {
"name": "jobs",
"source": "composeRecords",
"definition": {
"module": "job",
"namespace": "ns"
}
}},
{ "join": {
"name": "joined",
"localSource": "users",
"localColumn": "join_key",
"foreignSource": "jobs",
"foreignColumn": "usr"
}}
]
"sources": [
{ "step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}},
{ "step": { "load": {
"name": "jobs",
"source": "composeRecords",
"definition": {
"module": "job",
"namespace": "ns"
}
}}},
{ "step": { "join": {
"name": "joined",
"localSource": "users",
"localColumn": "join_key",
"foreignSource": "jobs",
"foreignColumn": "usr"
}}}
],
"frames": [{
"name": "result",
"source": "joined",
+21 -29
View File
@@ -1,35 +1,27 @@
{
"handle": "testing_report",
"sources": [{
"name": "unnamed_src",
"groups": [
{
"name": "unnamed_grp",
"steps": [
{ "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
}},
{ "group": {
"name": "grouped",
"source": "users",
"keys": [
{ "name": "by_name", "column": "first_name" }
],
"columns": [
{ "name": "count", "aggregate": "count" },
{ "name": "total", "aggregate": "sum", "column": "number_of_numbers" }
]
}}
]
"sources": [
{ "step": { "load": {
"name": "users",
"source": "composeRecords",
"definition": {
"module": "user",
"namespace": "ns"
}
]
}],
}}},
{ "step": { "group": {
"name": "grouped",
"source": "users",
"keys": [
{ "name": "by_name", "column": "first_name" }
],
"columns": [
{ "name": "count", "aggregate": "count" },
{ "name": "total", "aggregate": "sum", "column": "number_of_numbers" }
]
}}}
],
"frames": [{
"name": "base",
"source": "users",