@@ -141,7 +141,6 @@ cds.env.requires["sapafcsdk.scheduling.ProviderService"] = {
141141 impl : path . join ( basePath , "srv/service/standard-service.js" ) ,
142142 outbox : {
143143 kind : "persistent-outbox" ,
144- namespace : "namespaceA" ,
145144 events : {
146145 main : {
147146 priority : "high" ,
@@ -1732,8 +1731,19 @@ describe("event-queue outbox", () => {
17321731 } ) ;
17331732
17341733 describe ( "redisPubSub" , ( ) => {
1735- beforeAll ( ( ) => {
1734+ beforeAll ( async ( ) => {
17361735 config . isEventQueueActive = true ;
1736+ for ( const serviceName in cds . env . requires ) {
1737+ const config = cds . env . requires [ serviceName ] ;
1738+ if ( ! config . outbox ) {
1739+ continue ;
1740+ }
1741+
1742+ delete cds . services [ serviceName ] ;
1743+ }
1744+ Object . keys ( config . _rawEventMap )
1745+ . filter ( ( name ) => ! name . includes ( "PERIODIC" ) )
1746+ . forEach ( ( key ) => delete config . _rawEventMap [ key ] ) ;
17371747 } ) ;
17381748
17391749 afterAll ( ( ) => {
@@ -1750,11 +1760,12 @@ describe("event-queue outbox", () => {
17501760 JSON . stringify ( {
17511761 type : "CAP_OUTBOX" ,
17521762 subType : "OutboxCustomHooks" ,
1763+ namespace : config . namespace ,
17531764 } )
17541765 ) ;
17551766 expect ( runnerSpy ) . toHaveBeenCalledTimes ( 1 ) ;
1756- expect ( connectSpy ) . toHaveBeenCalledTimes ( 0 ) ;
1757- expect ( configSpy ) . toHaveBeenCalledTimes ( 1 ) ;
1767+ expect ( connectSpy ) . toHaveBeenCalledTimes ( 1 ) ;
1768+ expect ( configSpy ) . toHaveBeenCalledTimes ( 2 ) ;
17581769 expect ( configAddSpy ) . toHaveBeenCalledTimes ( 0 ) ;
17591770 expect ( loggerMock . callsLengths ( ) ) . toMatchObject ( { error : 0 , warn : 0 } ) ;
17601771 } ) ;
@@ -1769,12 +1780,13 @@ describe("event-queue outbox", () => {
17691780 JSON . stringify ( {
17701781 type : "CAP_OUTBOX" ,
17711782 subType : "OutboxCustomHooks.connectSpecific" ,
1783+ namespace : config . namespace ,
17721784 } )
17731785 ) ;
17741786 expect ( runnerSpy ) . toHaveBeenCalledTimes ( 1 ) ;
17751787 expect ( connectSpy ) . toHaveBeenCalledTimes ( 1 ) ;
17761788 expect ( connectSpy ) . toHaveBeenCalledWith ( "OutboxCustomHooks" ) ;
1777- expect ( configSpy ) . toHaveBeenCalledTimes ( 3 ) ;
1789+ expect ( configSpy ) . toHaveBeenCalledTimes ( 4 ) ;
17781790 expect ( configAddSpy ) . toHaveBeenCalledTimes ( 1 ) ;
17791791 expect ( loggerMock . callsLengths ( ) ) . toMatchObject ( { error : 0 , warn : 0 } ) ;
17801792 } ) ;
@@ -1789,11 +1801,12 @@ describe("event-queue outbox", () => {
17891801 JSON . stringify ( {
17901802 type : "CAP_OUTBOX_PERIODIC" ,
17911803 subType : "NotificationServicePeriodic.main" ,
1804+ namespace : config . namespace ,
17921805 } )
17931806 ) ;
17941807 expect ( runnerSpy ) . toHaveBeenCalledTimes ( 1 ) ;
17951808 expect ( connectSpy ) . toHaveBeenCalledTimes ( 0 ) ;
1796- expect ( configSpy ) . toHaveBeenCalledTimes ( 1 ) ;
1809+ expect ( configSpy ) . toHaveBeenCalledTimes ( 2 ) ;
17971810 expect ( configAddSpy ) . toHaveBeenCalledTimes ( 0 ) ;
17981811 expect ( loggerMock . callsLengths ( ) ) . toMatchObject ( { error : 0 , warn : 0 } ) ;
17991812 } ) ;
@@ -2387,6 +2400,34 @@ describe("event-queue outbox", () => {
23872400 } ) ;
23882401 } ) ;
23892402 } ) ;
2403+
2404+ describe ( "CDS namespace support" , ( ) => {
2405+ it ( "action without any specific config" , async ( ) => {
2406+ const service = await cds . connect . to ( "sapafcsdk.scheduling.ProviderService" ) ;
2407+ await service . send ( "plainStatus" , {
2408+ status : EventProcessingStatus . Done ,
2409+ } ) ;
2410+ await commitAndOpenNew ( ) ;
2411+ await testHelper . selectEventQueueAndExpectOpen ( tx , { expectedLength : 1 } ) ;
2412+ await processEventQueue ( tx . context , "CAP_OUTBOX" , service . name ) ;
2413+ await commitAndOpenNew ( ) ;
2414+ await testHelper . selectEventQueueAndExpectDone ( tx , { expectedLength : 1 } ) ;
2415+ expect ( loggerMock . callsLengths ( ) . error ) . toEqual ( 0 ) ;
2416+ } ) ;
2417+
2418+ it ( "action with any specific config" , async ( ) => {
2419+ const service = await cds . connect . to ( "sapafcsdk.scheduling.ProviderService" ) ;
2420+ await service . send ( "main" , {
2421+ status : EventProcessingStatus . Done ,
2422+ } ) ;
2423+ await commitAndOpenNew ( ) ;
2424+ await testHelper . selectEventQueueAndExpectOpen ( tx , { expectedLength : 1 } ) ;
2425+ await processEventQueue ( tx . context , "CAP_OUTBOX" , `${ service . name } .main` ) ;
2426+ await commitAndOpenNew ( ) ;
2427+ await testHelper . selectEventQueueAndExpectDone ( tx , { expectedLength : 1 } ) ;
2428+ expect ( loggerMock . callsLengths ( ) . error ) . toEqual ( 0 ) ;
2429+ } ) ;
2430+ } ) ;
23902431 } ) ;
23912432
23922433 const commitAndOpenNew = async ( ) => {
0 commit comments