1extern crate core;
2
3pub mod fintekkers {
4
5 pub mod proto {
6 pub const LEDGER_MODELS_PROTO_FILE_DESCRIPTOR_SET: &[u8] =
7 include_bytes!("ledger_models_file_descriptor_set_v_todo.bin");
8 }
9
10 pub mod wrappers;
11
12 pub mod models {
13 pub mod portfolio {
14 include!("fintekkers.models.portfolio.rs");
15 }
16 pub mod position {
17 include!("fintekkers.models.position.rs");
18 }
19 pub mod price {
20 include!("fintekkers.models.price.rs");
21 }
22 pub mod security {
23 include!("fintekkers.models.security.rs");
24
25 pub mod bond {
26 include!("fintekkers.models.security.bond.rs");
27 }
28 pub mod index {
29 include!("fintekkers.models.security.index.rs");
30 }
31 }
32 pub mod strategy {
33 include!("fintekkers.models.strategy.rs");
34 }
35 pub mod transaction {
36 include!("fintekkers.models.transaction.rs");
37 }
38 pub mod util {
39 include!("fintekkers.models.util.rs");
40
41 pub mod lock {
42 include!("fintekkers.models.util.lock.rs");
43 }
44 }
45 pub mod valuation {
46 include!("fintekkers.models.valuation.rs");
47 }
48 }
49
50 pub mod requests {
51 pub mod index_composition {
52 include!("fintekkers.requests.index_composition.rs");
53 }
54 pub mod portfolio {
55 include!("fintekkers.requests.portfolio.rs");
56 }
57 pub mod position {
58 include!("fintekkers.requests.position.rs");
59 }
60 pub mod price {
61 include!("fintekkers.requests.price.rs");
62 }
63 pub mod security {
64 include!("fintekkers.requests.security.rs");
65 }
66 pub mod strategy {}
67 pub mod transaction {
68 include!("fintekkers.requests.transaction.rs");
69 }
70 pub mod util {
71 pub mod lock {
72 include!("fintekkers.requests.util.lock.rs");
73 }
74 pub mod errors {
75 include!("fintekkers.requests.util.errors.rs");
76 }
77 include!("fintekkers.requests.util.rs");
78 }
79 pub mod valuation {
80 include!("fintekkers.requests.valuation.rs");
81 }
82 }
83
84 pub mod services {
85 pub mod index_composition_service {
86 include!("fintekkers.services.index_composition_service.rs");
87 }
88 pub mod lock_service {
89 include!("fintekkers.services.lock_service.rs");
90 }
91 pub mod portfolio_service {
92 include!("fintekkers.services.portfolio_service.rs");
93 }
94 pub mod position_service {
95 include!("fintekkers.services.position_service.rs");
96 }
97 pub mod price_service {
98 include!("fintekkers.services.price_service.rs");
99 }
100 pub mod security_service {
101 include!("fintekkers.services.security_service.rs");
102 }
103 pub mod transaction_service {
104 include!("fintekkers.services.transaction_service.rs");
105 }
106 pub mod valuation_service {
107 include!("fintekkers.services.valuation_service.rs");
108 }
109 }
110}
111
112#[cfg(test)]
113mod tests {
114 use prost_types::Timestamp;
115
116 use crate::fintekkers;
117
118 #[test]
119 fn it_works() {
120 let now_timestamp = Timestamp::default();
121 let now_wrapped_timestap = Some(now_timestamp);
122
123 let as_of_timestamp = fintekkers::models::util::LocalTimestampProto {
124 time_zone: String::from("America/New_York"),
125 timestamp: now_wrapped_timestap,
126 };
127
128 let portfolio = fintekkers::models::portfolio::PortfolioProto {
129 as_of: Some(as_of_timestamp.clone()),
130 valid_from: Some(as_of_timestamp.clone()),
131 valid_to: None,
132 object_class: String::from("Portfolio"),
133 version: String::from("0.0.1"),
134 portfolio_name: String::from("PortfolioName"),
135 is_link: false,
136 uuid: None,
137 };
138
139 assert_eq!(portfolio.portfolio_name, String::from("PortfolioName"))
140 }
141}