@@ -3,6 +3,8 @@ extern crate serde;
3
3
extern crate serde_json;
4
4
extern crate uuid;
5
5
6
+ use std:: collections:: HashMap ;
7
+
6
8
use sentry_types:: protocol:: v7;
7
9
8
10
fn reserialize ( event : & v7:: Event ) -> v7:: Event {
@@ -125,6 +127,61 @@ fn test_logentry_basics() {
125
127
) ;
126
128
}
127
129
130
+ #[ test]
131
+ fn test_modules ( ) {
132
+ let event = v7:: Event {
133
+ modules : {
134
+ let mut m = HashMap :: new ( ) ;
135
+ m. insert ( "System" . into ( ) , "1.0.0" . into ( ) ) ;
136
+ m
137
+ } ,
138
+ ..Default :: default ( )
139
+ } ;
140
+ assert_eq ! (
141
+ serde_json:: to_string( & event) . unwrap( ) ,
142
+ "{\" modules\" :{\" System\" :\" 1.0.0\" }}"
143
+ ) ;
144
+ }
145
+
146
+ #[ test]
147
+ fn test_repos ( ) {
148
+ let event = v7:: Event {
149
+ repos : {
150
+ let mut m = HashMap :: new ( ) ;
151
+ m. insert ( "/raven" . into ( ) , v7:: RepoReference {
152
+ name : "github/raven" . into ( ) ,
153
+ prefix : Some ( "/" . into ( ) ) ,
154
+ revision : Some ( "49f45700b5fe606c1bcd9bf0205ecbb83db17f52" . into ( ) ) ,
155
+ } ) ;
156
+ m
157
+ } ,
158
+ ..Default :: default ( )
159
+ } ;
160
+
161
+ assert_eq ! (
162
+ serde_json:: to_string( & event) . unwrap( ) ,
163
+ "{\" repos\" :{\" /raven\" :{\" name\" :\" github/raven\" ,\" prefix\" :\" /\" ,\" revision\" :\" 49f45700b5fe606c1bcd9bf0205ecbb83db17f52\" }}}"
164
+ ) ;
165
+
166
+ let event = v7:: Event {
167
+ repos : {
168
+ let mut m = HashMap :: new ( ) ;
169
+ m. insert ( "/raven" . into ( ) , v7:: RepoReference {
170
+ name : "github/raven" . into ( ) ,
171
+ prefix : None ,
172
+ revision : None ,
173
+ } ) ;
174
+ m
175
+ } ,
176
+ ..Default :: default ( )
177
+ } ;
178
+
179
+ assert_eq ! (
180
+ serde_json:: to_string( & event) . unwrap( ) ,
181
+ "{\" repos\" :{\" /raven\" :{\" name\" :\" github/raven\" }}}"
182
+ ) ;
183
+ }
184
+
128
185
#[ test]
129
186
fn test_canonical_exception ( ) {
130
187
let mut event: v7:: Event = Default :: default ( ) ;
0 commit comments