@@ -967,7 +967,11 @@ describe('GoFeatureFlagProvider', () => {
967
967
it ( 'Should change evaluation details if config has changed' , async ( ) => {
968
968
jest . useRealTimers ( ) ;
969
969
let callCount = 0 ;
970
- fetchMock . mockIf ( / ^ h t t p : \/ \/ l o c a l h o s t : 1 0 3 1 \/ v 1 \/ f l a g \/ c o n f i g u r a t i o n / , async ( ) => {
970
+ fetchMock . mockIf ( / ^ h t t p : \/ \/ l o c a l h o s t : 1 0 3 1 \/ v 1 \/ f l a g \/ c o n f i g u r a t i o n / , async ( request ) => {
971
+ // read headers in the request
972
+ const headers = request . headers ;
973
+ console . log ( 'headers' , headers . get ( 'If-None-Match' ) ) ;
974
+
971
975
callCount ++ ;
972
976
if ( callCount <= 1 ) {
973
977
return {
@@ -1077,14 +1081,24 @@ describe('GoFeatureFlagProvider', () => {
1077
1081
} ) ;
1078
1082
1079
1083
it ( 'Should apply a scheduled rollout step' , async ( ) => {
1080
- fetchMock . mockResponseOnce ( getConfigurationEndpointResult ( 'scheduled-rollout' ) , {
1081
- status : 200 ,
1082
- headers : { 'Content-Type' : 'application/json' } ,
1084
+ jest . useRealTimers ( ) ;
1085
+ fetchMock . mockIf ( / ^ h t t p : \/ \/ l o c a l h o s t : 1 0 3 1 \/ v 1 \/ f l a g \/ c o n f i g u r a t i o n / , async ( ) => {
1086
+ const res = getConfigurationEndpointResult ( 'scheduled-rollout' ) ;
1087
+ // Keep the console.log for debugging as in the original code
1088
+ console . log ( 'res' , res ) ;
1089
+ console . log ( 'date' , new Date ( ) ) ;
1090
+ return {
1091
+ body : res ,
1092
+ status : 200 ,
1093
+ headers : {
1094
+ 'Content-Type' : 'application/json' ,
1095
+ } ,
1096
+ } ;
1083
1097
} ) ;
1084
1098
1085
1099
const provider = new GoFeatureFlagProvider ( {
1086
1100
endpoint : 'http://localhost:1031' ,
1087
- flagChangePollingIntervalMs : 100 ,
1101
+ flagChangePollingIntervalMs : 150 ,
1088
1102
} ) ;
1089
1103
1090
1104
await OpenFeature . setProviderAndWait ( testClientName , provider ) ;
@@ -1452,7 +1466,7 @@ describe('GoFeatureFlagProvider', () => {
1452
1466
} ) ;
1453
1467
} ) ;
1454
1468
1455
- function getConfigurationEndpointResult ( mode = 'default' ) {
1469
+ function getConfigurationEndpointResult ( mode = 'default' ) : string {
1456
1470
const filePath = path . resolve ( __dirname , 'testdata' , 'flag-configuration' , mode + '.json' ) ;
1457
1471
const fileContent = fs . readFileSync ( filePath , 'utf-8' ) ;
1458
1472
return JSON . stringify ( JSON . parse ( fileContent ) ) ;
0 commit comments