@@ -4,7 +4,7 @@ use futures::future::{ready, FutureExt};
4
4
5
5
use domain:: validator:: message:: { MessageType , State } ;
6
6
use domain:: validator:: { Message , ValidatorId } ;
7
- use domain:: { ChannelId , RepositoryFuture } ;
7
+ use domain:: { ChannelId , RepositoryFuture , ValidatorDesc } ;
8
8
use memory_repository:: MemoryRepository ;
9
9
10
10
use crate :: domain:: validator:: repository:: MessageRepository ;
@@ -21,6 +21,7 @@ impl State for MemoryState {
21
21
pub struct MemoryMessage {
22
22
pub message : Message < MemoryState > ,
23
23
pub channel : ChannelId ,
24
+ /// As we are not dealing with any URL requests here, we can only store and use the ValidatorId
24
25
pub owner : ValidatorId ,
25
26
}
26
27
@@ -41,14 +42,14 @@ impl MemoryMessageRepository {
41
42
impl MessageRepository < MemoryState > for MemoryMessageRepository {
42
43
fn add (
43
44
& self ,
44
- channel : & ChannelId ,
45
- validator : & ValidatorId ,
45
+ for_channel : & ChannelId ,
46
+ to_validator : & ValidatorDesc ,
46
47
message : Message < MemoryState > ,
47
48
) -> RepositoryFuture < ( ) > {
48
49
let message = MemoryMessage {
49
50
message,
50
- channel : * channel ,
51
- owner : validator . clone ( ) ,
51
+ channel : * for_channel ,
52
+ owner : to_validator . id . clone ( ) ,
52
53
} ;
53
54
// this should never match against the new record, that's why always pass false.
54
55
ready ( self . inner . add ( & false , message) . map_err ( Into :: into) ) . boxed ( )
@@ -92,6 +93,7 @@ mod test {
92
93
use domain:: validator:: message:: fixtures:: { get_heartbeat, get_reject_state} ;
93
94
94
95
use super :: * ;
96
+ use domain:: validator:: fixtures:: get_validator;
95
97
use domain:: validator:: message:: TYPE_REJECT ;
96
98
97
99
fn get_reject_memory_message (
@@ -109,7 +111,7 @@ mod test {
109
111
#[ test]
110
112
fn adds_message_for_validator ( ) {
111
113
futures:: executor:: block_on ( async {
112
- let validator = ValidatorId :: try_from ( "identity" ) . expect ( "ValidatorId failed" ) ;
114
+ let validator = get_validator ( "identity" , None ) ;
113
115
let repo = MemoryMessageRepository :: new ( & [ ] ) ;
114
116
115
117
let message = get_reject_state ( None ) ;
@@ -124,15 +126,15 @@ mod test {
124
126
. expect ( "Listing all Messages failed" ) ;
125
127
126
128
assert_eq ! ( 1 , list_all. len( ) ) ;
127
- assert_eq ! ( validator, list_all[ 0 ] . owner) ;
129
+ assert_eq ! ( validator. id , list_all[ 0 ] . owner) ;
128
130
assert_eq ! ( channel_id, list_all[ 0 ] . channel) ;
129
131
} )
130
132
}
131
133
132
134
#[ test]
133
135
fn getting_latest_message ( ) {
134
136
futures:: executor:: block_on ( async {
135
- let validator = ValidatorId :: try_from ( "identity" ) . expect ( "ValidatorId failed" ) ;
137
+ let validator = get_validator ( "identity" , None ) ;
136
138
let channel = get_channel_id ( "channel id" ) ;
137
139
138
140
let repo = MemoryMessageRepository :: new ( & [ ] ) ;
@@ -145,7 +147,7 @@ mod test {
145
147
let new_message = Message :: RejectState ( get_reject_state ( Some ( "my reason" . to_string ( ) ) ) ) ;
146
148
await ! ( repo. add( & channel, & validator, new_message) ) . expect ( "Adding a message failed" ) ;
147
149
148
- let latest_any = await ! ( repo. latest( & channel, & validator, None ) )
150
+ let latest_any = await ! ( repo. latest( & channel, & validator. id , None ) )
149
151
. expect ( "Getting latest Message failed" ) ;
150
152
151
153
match latest_any. expect ( "There was no latest message returned" ) {
0 commit comments