Skip to content

Commit a41ef0d

Browse files
xiangu-batwhoe-jo
authored andcommitted
add integration test cases for sequence
1 parent 004faa2 commit a41ef0d

18 files changed

Lines changed: 446 additions & 0 deletions

File tree

validation/core/integration_test/BUILD

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,16 @@ filegroup(
3939
],
4040
)
4141

42+
filegroup(
43+
name = "component_sequence_test_data",
44+
srcs = [
45+
"//validation/core/integration_test/component_sequence/negative_missing_participant:case_data",
46+
"//validation/core/integration_test/component_sequence/negative_mixed_mismatch:case_data",
47+
"//validation/core/integration_test/component_sequence/negative_orphan_participant:case_data",
48+
"//validation/core/integration_test/component_sequence/positive_exact_match:case_data",
49+
],
50+
)
51+
4252
rust_library(
4353
name = "test_framework",
4454
srcs = [
@@ -86,3 +96,19 @@ rust_test(
8696
"@crates//:serde_json",
8797
],
8898
)
99+
100+
rust_test(
101+
name = "component_sequence_integration_test",
102+
srcs = ["src/component_sequence_suite.rs"],
103+
crate_root = "src/component_sequence_suite.rs",
104+
data = [
105+
":component_sequence_test_data",
106+
"//validation/core:validation_cli",
107+
],
108+
deps = [
109+
":test_framework",
110+
"//validation/core:validation",
111+
"@crates//:serde",
112+
"@crates//:serde_json",
113+
],
114+
)
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# *******************************************************************************
2+
# Copyright (c) 2026 Contributors to the Eclipse Foundation
3+
#
4+
# See the NOTICE file(s) distributed with this work for additional
5+
# information regarding copyright ownership.
6+
#
7+
# This program and the accompanying materials are made available under the
8+
# terms of the Apache License Version 2.0 which is available at
9+
# https://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# SPDX-License-Identifier: Apache-2.0
12+
# *******************************************************************************
13+
14+
load("//bazel/rules/rules_score:rules_score.bzl", "architectural_design")
15+
load("//validation/core/integration_test:puml_fixture.bzl", "provider_fbs_fixture_bundle")
16+
17+
architectural_design(
18+
name = "design",
19+
dynamic = ["sequence_diagram.puml"],
20+
static = ["component_diagram.puml"],
21+
visibility = ["//visibility:private"],
22+
)
23+
24+
provider_fbs_fixture_bundle(
25+
name = "fbs",
26+
visibility = ["//visibility:public"],
27+
deps = [":design"],
28+
)
29+
30+
filegroup(
31+
name = "case_data",
32+
srcs = [
33+
"expected.json",
34+
":fbs",
35+
],
36+
visibility = ["//visibility:public"],
37+
)
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
' *******************************************************************************
2+
' Copyright (c) 2026 Contributors to the Eclipse Foundation
3+
'
4+
' See the NOTICE file(s) distributed with this work for additional
5+
' information regarding copyright ownership.
6+
'
7+
' This program and the accompanying materials are made available under the
8+
' terms of the Apache License Version 2.0 which is available at
9+
' https://www.apache.org/licenses/LICENSE-2.0
10+
'
11+
' SPDX-License-Identifier: Apache-2.0
12+
' *******************************************************************************
13+
14+
@startuml component_diagram
15+
16+
package "Package A" as package_a {
17+
component "Component A" as component_a <<component>> {
18+
component "Unit 1" as unit_1 <<unit>>
19+
component "Unit 2" as unit_2 <<unit>>
20+
component "Unit 3" as unit_3 <<unit>>
21+
}
22+
}
23+
24+
@enduml
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"should_pass": false,
3+
"error_contains": [
4+
"component unit alias not found in sequence participants",
5+
"\"unit_3\""
6+
]
7+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
' *******************************************************************************
2+
' Copyright (c) 2026 Contributors to the Eclipse Foundation
3+
'
4+
' See the NOTICE file(s) distributed with this work for additional
5+
' information regarding copyright ownership.
6+
'
7+
' This program and the accompanying materials are made available under the
8+
' terms of the Apache License Version 2.0 which is available at
9+
' https://www.apache.org/licenses/LICENSE-2.0
10+
'
11+
' SPDX-License-Identifier: Apache-2.0
12+
' *******************************************************************************
13+
14+
@startuml sequence_diagram
15+
16+
participant "Unit 1" as unit_1 <<unit>>
17+
participant "Unit 2" as unit_2 <<unit>>
18+
19+
unit_1 -> unit_2 : Poll
20+
21+
@enduml
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# *******************************************************************************
2+
# Copyright (c) 2026 Contributors to the Eclipse Foundation
3+
#
4+
# See the NOTICE file(s) distributed with this work for additional
5+
# information regarding copyright ownership.
6+
#
7+
# This program and the accompanying materials are made available under the
8+
# terms of the Apache License Version 2.0 which is available at
9+
# https://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# SPDX-License-Identifier: Apache-2.0
12+
# *******************************************************************************
13+
14+
load("//bazel/rules/rules_score:rules_score.bzl", "architectural_design")
15+
load("//validation/core/integration_test:puml_fixture.bzl", "provider_fbs_fixture_bundle")
16+
17+
architectural_design(
18+
name = "design",
19+
dynamic = ["sequence_diagram.puml"],
20+
static = ["component_diagram.puml"],
21+
visibility = ["//visibility:private"],
22+
)
23+
24+
provider_fbs_fixture_bundle(
25+
name = "fbs",
26+
visibility = ["//visibility:public"],
27+
deps = [":design"],
28+
)
29+
30+
filegroup(
31+
name = "case_data",
32+
srcs = [
33+
"expected.json",
34+
":fbs",
35+
],
36+
visibility = ["//visibility:public"],
37+
)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
' *******************************************************************************
2+
' Copyright (c) 2026 Contributors to the Eclipse Foundation
3+
'
4+
' See the NOTICE file(s) distributed with this work for additional
5+
' information regarding copyright ownership.
6+
'
7+
' This program and the accompanying materials are made available under the
8+
' terms of the Apache License Version 2.0 which is available at
9+
' https://www.apache.org/licenses/LICENSE-2.0
10+
'
11+
' SPDX-License-Identifier: Apache-2.0
12+
' *******************************************************************************
13+
14+
@startuml component_diagram
15+
16+
package "Package A" as package_a {
17+
component "Component A" as component_a <<component>> {
18+
component "Unit 1" as unit_1 <<unit>>
19+
component "Unit 2" as unit_2 <<unit>>
20+
}
21+
}
22+
23+
@enduml
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"should_pass": false,
3+
"error_contains": [
4+
"component unit alias not found in sequence participants",
5+
"sequence participant not found in component unit aliases",
6+
"\"unit_1\"",
7+
"\"unit_3\""
8+
]
9+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
' *******************************************************************************
2+
' Copyright (c) 2026 Contributors to the Eclipse Foundation
3+
'
4+
' See the NOTICE file(s) distributed with this work for additional
5+
' information regarding copyright ownership.
6+
'
7+
' This program and the accompanying materials are made available under the
8+
' terms of the Apache License Version 2.0 which is available at
9+
' https://www.apache.org/licenses/LICENSE-2.0
10+
'
11+
' SPDX-License-Identifier: Apache-2.0
12+
' *******************************************************************************
13+
14+
@startuml sequence_diagram
15+
16+
participant "Unit 2" as unit_2 <<unit>>
17+
participant "Unit 3" as unit_3 <<unit>>
18+
19+
unit_2 -> unit_3 : Relay
20+
21+
@enduml
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# *******************************************************************************
2+
# Copyright (c) 2026 Contributors to the Eclipse Foundation
3+
#
4+
# See the NOTICE file(s) distributed with this work for additional
5+
# information regarding copyright ownership.
6+
#
7+
# This program and the accompanying materials are made available under the
8+
# terms of the Apache License Version 2.0 which is available at
9+
# https://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# SPDX-License-Identifier: Apache-2.0
12+
# *******************************************************************************
13+
14+
load("//bazel/rules/rules_score:rules_score.bzl", "architectural_design")
15+
load("//validation/core/integration_test:puml_fixture.bzl", "provider_fbs_fixture_bundle")
16+
17+
architectural_design(
18+
name = "design",
19+
dynamic = ["sequence_diagram.puml"],
20+
static = ["component_diagram.puml"],
21+
visibility = ["//visibility:private"],
22+
)
23+
24+
provider_fbs_fixture_bundle(
25+
name = "fbs",
26+
visibility = ["//visibility:public"],
27+
deps = [":design"],
28+
)
29+
30+
filegroup(
31+
name = "case_data",
32+
srcs = [
33+
"expected.json",
34+
":fbs",
35+
],
36+
visibility = ["//visibility:public"],
37+
)

0 commit comments

Comments
 (0)