14
14
* limitations under the License.
15
15
*/
16
16
import { describe , expect , it , vi , beforeEach , afterEach } from 'vitest' ;
17
- import { DefaultOdpEventManager } from './odp_event_manager' ;
17
+ import { DefaultOdpEventManager , LOGGER_NAME } from './odp_event_manager' ;
18
18
import { getMockRepeater } from '../../tests/mock/mock_repeater' ;
19
19
import { getMockLogger } from '../../tests/mock/mock_logger' ;
20
20
import { ServiceState } from '../../service' ;
@@ -46,6 +46,7 @@ const makeEvent = (id: number) => {
46
46
const getMockApiManager = ( ) => {
47
47
return {
48
48
sendEvents : vi . fn ( ) ,
49
+ setLogger : vi . fn ( ) ,
49
50
} ;
50
51
} ;
51
52
@@ -72,6 +73,44 @@ describe('DefaultOdpEventManager', () => {
72
73
expect ( odpEventManager . getState ( ) ) . toBe ( ServiceState . New ) ;
73
74
} ) ;
74
75
76
+ it ( 'should set name on the logger set using setLogger' , ( ) => {
77
+ const logger = getMockLogger ( ) ;
78
+
79
+ const manager = new DefaultOdpEventManager ( {
80
+ repeater : getMockRepeater ( ) ,
81
+ apiManager : getMockApiManager ( ) ,
82
+ batchSize : 10 ,
83
+ retryConfig : {
84
+ maxRetries : 3 ,
85
+ backoffProvider : vi . fn ( ) ,
86
+ } ,
87
+ } ) ;
88
+
89
+ manager . setLogger ( logger ) ;
90
+ expect ( logger . setName ) . toHaveBeenCalledWith ( LOGGER_NAME ) ;
91
+ } ) ;
92
+
93
+ it ( 'should pass a child logger to the event api manager when a logger is set using setLogger' , ( ) => {
94
+ const logger = getMockLogger ( ) ;
95
+ const childLogger = getMockLogger ( ) ;
96
+ logger . child . mockReturnValue ( childLogger ) ;
97
+
98
+ const apiManager = getMockApiManager ( ) ;
99
+
100
+ const manager = new DefaultOdpEventManager ( {
101
+ repeater : getMockRepeater ( ) ,
102
+ apiManager,
103
+ batchSize : 10 ,
104
+ retryConfig : {
105
+ maxRetries : 3 ,
106
+ backoffProvider : vi . fn ( ) ,
107
+ } ,
108
+ } ) ;
109
+
110
+ manager . setLogger ( logger ) ;
111
+ expect ( apiManager . setLogger ) . toHaveBeenCalledWith ( childLogger ) ;
112
+ } ) ;
113
+
75
114
it ( 'should stay in starting state if started with a odpIntegationConfig and not resolve or reject onRunning' , async ( ) => {
76
115
const odpEventManager = new DefaultOdpEventManager ( {
77
116
repeater : getMockRepeater ( ) ,
0 commit comments