@@ -17,16 +17,25 @@ pub use record::{LogRecord, TraceContext};
17
17
mod tests {
18
18
use super :: * ;
19
19
use crate :: testing:: logs:: InMemoryLogsExporter ;
20
+ use crate :: Resource ;
20
21
use opentelemetry:: logs:: LogRecord ;
21
22
use opentelemetry:: logs:: { Logger , LoggerProvider as _, Severity } ;
22
23
use opentelemetry:: { logs:: AnyValue , Key , KeyValue } ;
24
+ use std:: borrow:: Borrow ;
23
25
use std:: collections:: HashMap ;
24
26
25
27
#[ test]
26
28
fn logging_sdk_test ( ) {
27
29
// Arrange
30
+ let resource = Resource :: new ( vec ! [
31
+ KeyValue :: new( "k1" , "v1" ) ,
32
+ KeyValue :: new( "k2" , "v2" ) ,
33
+ KeyValue :: new( "k3" , "v3" ) ,
34
+ KeyValue :: new( "k4" , "v4" ) ,
35
+ ] ) ;
28
36
let exporter: InMemoryLogsExporter = InMemoryLogsExporter :: default ( ) ;
29
37
let logger_provider = LoggerProvider :: builder ( )
38
+ . with_config ( Config :: default ( ) . with_resource ( resource. clone ( ) ) )
30
39
. with_log_processor ( SimpleLogProcessor :: new ( Box :: new ( exporter. clone ( ) ) ) )
31
40
. build ( ) ;
32
41
@@ -85,6 +94,9 @@ mod tests {
85
94
AnyValue :: String ( format!( "value{}" , i) . into( ) )
86
95
) ) ) ;
87
96
}
97
+
98
+ // validate Resource
99
+ assert_eq ! ( & resource, log. resource. borrow( ) ) ;
88
100
}
89
101
90
102
#[ test]
0 commit comments