Skip to content

Commit 1e362af

Browse files
committed
Use DSL v2 in sample project
Signed-off-by: Patrick Luca Fazzi <patrick91@live.it>
1 parent 77afb48 commit 1e362af

File tree

3 files changed

+26
-33
lines changed

3 files changed

+26
-33
lines changed

examples/sample_project/src/architecture_rules_test.rs

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
1-
use rust_arkitect::dsl::{ArchitecturalRules, Arkitect, Project};
1+
use rust_arkitect::dsl_v2::architectural_rules::ArchitecturalRules;
2+
use rust_arkitect::dsl_v2::arkitect::Arkitect;
3+
use rust_arkitect::dsl_v2::project::Project;
24

35
#[test]
46
fn test_vertical_slices_architecture_rules() {
57
Arkitect::init_logger();
68

79
#[rustfmt::skip]
810
let rules = ArchitecturalRules::define()
9-
.component("Conversion")
10-
.located_at("sample_project::conversion")
11-
.may_depend_on(&["Contracts"])
11+
.rules_for_module("sample_project::conversion")
12+
.allow_dependencies_on(&["sample_project::contracts"])
1213

13-
.component("PolicyManagement")
14-
.located_at("sample_project::policy_management")
15-
.may_depend_on(&["Contracts"])
14+
.rules_for_module("sample_project::policy_management")
15+
.allow_dependencies_on(&["sample_project::contracts"])
1616

17-
.component("Contracts")
18-
.located_at("sample_project::contracts")
17+
.rules_for_module("sample_project::contracts")
1918
.must_not_depend_on_anything()
2019

21-
.finalize();
20+
.build();
2221

23-
let project = Project::from_relative_path(file!(), "./../");
22+
let project = Project::new();
2423

2524
let result = Arkitect::ensure_that(project).complies_with(rules);
2625

@@ -35,18 +34,16 @@ fn test_mvc_architecture_rules() {
3534

3635
#[rustfmt::skip]
3736
let rules = ArchitecturalRules::define()
38-
.component("Model")
39-
.located_at("sample_project::policy_management::model")
37+
.rules_for_module("sample_project::policy_management::model")
4038
.must_not_depend_on_anything()
4139

42-
.component("Repository")
43-
.located_at("sample_project::policy_management::repository")
44-
.may_depend_on(&["Model"])
40+
.rules_for_module("sample_project::policy_management::repository")
41+
.allow_dependencies_on(&["sample_project::policy_management::model"])
42+
43+
.rules_for_module("sample_project::policy_management::controller")
44+
.allow_dependencies_on(&["sample_project::policy_management::repository", "sample_project::policy_management::model"])
4545

46-
.component("Controller")
47-
.located_at("sample_project::policy_management::controller")
48-
.may_depend_on(&["Repository", "Model"])
49-
.finalize();
46+
.build();
5047

5148
let result = Arkitect::ensure_that(project).complies_with(rules);
5249

@@ -61,20 +58,16 @@ fn test_three_tier_architecture() {
6158

6259
#[rustfmt::skip]
6360
let rules = ArchitecturalRules::define()
64-
.component("Application")
65-
.located_at("sample_project::conversion::application")
66-
.allow_external_dependencies(&["sample_project::contract"])
67-
.may_depend_on(&["Domain"])
61+
.rules_for_module("sample_project::conversion::application")
62+
.allow_dependencies_on(&["sample_project::conversion::domain", "sample_project::contract"])
6863

69-
.component("Domain")
70-
.located_at("sample_project::conversion::domain")
64+
.rules_for_module("sample_project::conversion::domain")
7165
.must_not_depend_on_anything()
7266

73-
.component("Infrastructure")
74-
.located_at("sample_project::conversion::infrastructure")
75-
.may_depend_on(&["Domain", "Application"])
67+
.rules_for_module("sample_project::conversion::infrastructure")
68+
.allow_dependencies_on(&["sample_project::conversion::domain", "sample_project::conversion::application"])
7669

77-
.finalize();
70+
.build();
7871

7972
let result = Arkitect::ensure_that(project).complies_with(rules);
8073

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
pub fn service_call_one() {
22
println!("Service call one");
3-
}
3+
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
pub mod external_services;
22

3-
trait ContractOne{
3+
trait ContractOne {
44
fn do_stuff() -> String;
5-
}
5+
}

0 commit comments

Comments
 (0)