@@ -81,43 +81,64 @@ mod tests {
81
81
use super :: * ;
82
82
83
83
#[ test]
84
- fn test_encoding_decoding_envelope_call_message ( ) {
85
- // Create a sample Envelope
86
- let message = AnyMessage :: CallMessage ( CallMessage {
84
+ fn test_envelope_call_message ( ) {
85
+ let msg = AnyMessage :: CallMessage ( CallMessage {
87
86
data : vec ! [ 1 , 2 , 3 ] ,
88
87
} ) ;
89
- let sources = vec ! [ "source1" . to_string( ) , "source2" . to_string( ) ] ;
90
- let destinations = vec ! [ "dest1" . to_string( ) , "dest2" . to_string( ) ] ;
91
- let envelope = Envelope :: new ( message, sources, destinations) ;
92
- let encoded_data = rlp:: encode ( & envelope) . to_vec ( ) ;
88
+ let sources = vec ! [ "src" . to_string( ) ] ;
89
+ let destinations = vec ! [ "dst" . to_string( ) ] ;
90
+ let envelope = Envelope :: new ( msg. clone ( ) , sources, destinations) ;
93
91
94
- assert_eq ! (
95
- "e50085c483010203d087736f757263653187736f7572636532cc856465737431856465737432" ,
96
- hex:: encode( & encoded_data)
97
- ) ;
98
- let decoded: Envelope = rlp:: decode ( & encoded_data) . unwrap ( ) ;
92
+ let encoded = envelope. rlp_bytes ( ) . to_vec ( ) ;
93
+ let decoded = Envelope :: decode ( & rlp:: Rlp :: new ( & encoded) ) . unwrap ( ) ;
94
+ assert_eq ! ( envelope, decoded) ;
95
+
96
+ let encoded = msg. to_bytes ( ) . unwrap ( ) ;
97
+ let decoded = decode_message ( MessageType :: CallMessage , encoded. clone ( ) ) . unwrap ( ) ;
98
+ assert_eq ! ( decoded. rollback( ) , None ) ;
99
+ assert_eq ! ( decoded. data( ) , vec![ 1 , 2 , 3 ] ) ;
100
+ assert_eq ! ( decoded. to_bytes( ) . unwrap( ) , encoded)
101
+ }
102
+
103
+ #[ test]
104
+ fn test_envelope_call_message_persisted ( ) {
105
+ let msg = AnyMessage :: CallMessagePersisted ( CallMessagePersisted {
106
+ data : vec ! [ 1 , 2 , 3 ] ,
107
+ } ) ;
108
+ let sources = vec ! [ "src" . to_string( ) ] ;
109
+ let destinations = vec ! [ "dst" . to_string( ) ] ;
110
+ let envelope = Envelope :: new ( msg. clone ( ) , sources, destinations) ;
99
111
112
+ let encoded = envelope. rlp_bytes ( ) . to_vec ( ) ;
113
+ let decoded = Envelope :: decode ( & rlp:: Rlp :: new ( & encoded) ) . unwrap ( ) ;
100
114
assert_eq ! ( envelope, decoded) ;
115
+
116
+ let encoded = msg. to_bytes ( ) . unwrap ( ) ;
117
+ let decoded = decode_message ( MessageType :: CallMessagePersisted , encoded. clone ( ) ) . unwrap ( ) ;
118
+ assert_eq ! ( decoded. rollback( ) , None ) ;
119
+ assert_eq ! ( decoded. data( ) , vec![ 1 , 2 , 3 ] ) ;
120
+ assert_eq ! ( decoded. to_bytes( ) . unwrap( ) , encoded)
101
121
}
102
122
103
123
#[ test]
104
- fn test_encoding_decoding_envelope_call_message_rollback ( ) {
105
- // Create a sample Envelope
106
- let message = AnyMessage :: CallMessageWithRollback ( CallMessageWithRollback {
124
+ fn test_envelope_call_message_with_rollback ( ) {
125
+ let msg = AnyMessage :: CallMessageWithRollback ( CallMessageWithRollback {
107
126
data : vec ! [ 1 , 2 , 3 ] ,
108
127
rollback : vec ! [ 1 , 2 , 3 ] ,
109
128
} ) ;
110
- let sources = vec ! [ "source1" . to_string( ) , "source2" . to_string( ) ] ;
111
- let destinations = vec ! [ "dest1" . to_string( ) , "dest2" . to_string( ) ] ;
112
- let envelope = Envelope :: new ( message, sources, destinations) ;
113
- let encoded_data = rlp:: encode ( & envelope) . to_vec ( ) ;
114
-
115
- assert_eq ! (
116
- "e90189c88301020383010203d087736f757263653187736f7572636532cc856465737431856465737432" ,
117
- hex:: encode( & encoded_data)
118
- ) ;
119
- let decoded: Envelope = rlp:: decode ( & encoded_data) . unwrap ( ) ;
129
+ let sources = vec ! [ "src" . to_string( ) ] ;
130
+ let destinations = vec ! [ "dst" . to_string( ) ] ;
131
+ let envelope = Envelope :: new ( msg. clone ( ) , sources, destinations) ;
120
132
133
+ let encoded = envelope. rlp_bytes ( ) . to_vec ( ) ;
134
+ let decoded = Envelope :: decode ( & rlp:: Rlp :: new ( & encoded) ) . unwrap ( ) ;
121
135
assert_eq ! ( envelope, decoded) ;
136
+
137
+ let encoded = msg. to_bytes ( ) . unwrap ( ) ;
138
+ let decoded =
139
+ decode_message ( MessageType :: CallMessageWithRollback , encoded. clone ( ) ) . unwrap ( ) ;
140
+ assert_eq ! ( decoded. rollback( ) , Some ( vec![ 1 , 2 , 3 ] ) ) ;
141
+ assert_eq ! ( decoded. data( ) , vec![ 1 , 2 , 3 ] ) ;
142
+ assert_eq ! ( decoded. to_bytes( ) . unwrap( ) , encoded)
122
143
}
123
144
}
0 commit comments