@@ -8,8 +8,10 @@ package azappconfig
8
8
9
9
import (
10
10
"context"
11
+ "fmt"
11
12
"os"
12
13
"testing"
14
+ "time"
13
15
14
16
"github.com/stretchr/testify/require"
15
17
)
@@ -22,7 +24,7 @@ func TestClient(t *testing.T) {
22
24
t .Skip ("Skipping client test" )
23
25
}
24
26
25
- key := "key"
27
+ key := fmt . Sprintf ( "key-%d" , time . Now (). Unix ())
26
28
label := "label"
27
29
contentType := "content-type"
28
30
value := "value"
@@ -72,6 +74,10 @@ func TestClient(t *testing.T) {
72
74
require .Equal (t , label , * setResp .Label )
73
75
require .Equal (t , contentType , * setResp .ContentType )
74
76
require .Equal (t , value , * setResp .Value )
77
+ require .NotNil (t , setResp .SyncToken )
78
+
79
+ // after changing the setting, update the sync token so we don't get cached, stale data
80
+ client .UpdateSyncToken (* setResp .SyncToken )
75
81
76
82
getResp3 , err6 := client .GetSetting (context .TODO (), key , & GetSettingOptions {Label : & label , OnlyIfChanged : etag })
77
83
require .NoError (t , err6 )
@@ -97,6 +103,10 @@ func TestClient(t *testing.T) {
97
103
require .Equal (t , key , * setResp2 .Key )
98
104
require .Equal (t , label , * setResp2 .Label )
99
105
require .Equal (t , value , * setResp2 .Value )
106
+ require .NotNil (t , setResp .SyncToken )
107
+
108
+ // after changing the setting, update the sync token so we don't get cached, stale data
109
+ client .UpdateSyncToken (* setResp .SyncToken )
100
110
101
111
setResp3 , err8 := client .SetSetting (context .TODO (), key , & value , & SetSettingOptions {Label : & label , OnlyIfUnchanged : etag })
102
112
require .Error (t , err8 )
@@ -114,6 +124,10 @@ func TestClient(t *testing.T) {
114
124
require .Equal (t , label , * roResp .Label )
115
125
require .Equal (t , value , * roResp .Value )
116
126
require .True (t , * roResp .IsReadOnly )
127
+ require .NotNil (t , setResp .SyncToken )
128
+
129
+ // after changing the setting, update the sync token so we don't get cached, stale data
130
+ client .UpdateSyncToken (* setResp .SyncToken )
117
131
118
132
roResp2 , err10 := client .SetReadOnly (context .TODO (), key , false , & SetReadOnlyOptions {Label : & label })
119
133
require .NoError (t , err10 )
@@ -127,6 +141,10 @@ func TestClient(t *testing.T) {
127
141
require .Equal (t , label , * roResp2 .Label )
128
142
require .Equal (t , value , * roResp2 .Value )
129
143
require .False (t , * roResp2 .IsReadOnly )
144
+ require .NotNil (t , setResp .SyncToken )
145
+
146
+ // after changing the setting, update the sync token so we don't get cached, stale data
147
+ client .UpdateSyncToken (* setResp .SyncToken )
130
148
131
149
roResp3 , err11 := client .SetReadOnly (context .TODO (), key , true , & SetReadOnlyOptions {Label : & label , OnlyIfUnchanged : etag })
132
150
require .Error (t , err11 )
@@ -145,6 +163,10 @@ func TestClient(t *testing.T) {
145
163
require .Equal (t , label , * roResp4 .Label )
146
164
require .Equal (t , value , * roResp4 .Value )
147
165
require .True (t , * roResp4 .IsReadOnly )
166
+ require .NotNil (t , setResp .SyncToken )
167
+
168
+ // after changing the setting, update the sync token so we don't get cached, stale data
169
+ client .UpdateSyncToken (* setResp .SyncToken )
148
170
149
171
roResp5 , err13 := client .SetReadOnly (context .TODO (), key , false , & SetReadOnlyOptions {Label : & label , OnlyIfUnchanged : etag })
150
172
require .Error (t , err13 )
@@ -163,6 +185,10 @@ func TestClient(t *testing.T) {
163
185
require .Equal (t , label , * roResp6 .Label )
164
186
require .Equal (t , value , * roResp6 .Value )
165
187
require .False (t , * roResp6 .IsReadOnly )
188
+ require .NotNil (t , setResp .SyncToken )
189
+
190
+ // after changing the setting, update the sync token so we don't get cached, stale data
191
+ client .UpdateSyncToken (* setResp .SyncToken )
166
192
167
193
any := "*"
168
194
revPgr := client .NewListRevisionsPager (SettingSelector {KeyFilter : & any , LabelFilter : & any , Fields : AllSettingFields ()}, nil )
@@ -177,8 +203,8 @@ func TestClient(t *testing.T) {
177
203
178
204
settsPgr := client .NewListSettingsPager (SettingSelector {KeyFilter : & any , LabelFilter : & any , Fields : AllSettingFields ()}, nil )
179
205
require .NotEmpty (t , settsPgr )
180
- hasMoreSetts := revPgr .More ()
181
- require .False (t , hasMoreSetts )
206
+ hasMoreSetts := settsPgr .More ()
207
+ require .True (t , hasMoreSetts )
182
208
settsResp , err16 := settsPgr .NextPage (context .TODO ())
183
209
require .NoError (t , err16 )
184
210
require .NotEmpty (t , settsResp )
@@ -197,6 +223,10 @@ func TestClient(t *testing.T) {
197
223
require .Equal (t , key , * delResp .Key )
198
224
require .Equal (t , label , * delResp .Label )
199
225
require .Equal (t , value , * delResp .Value )
226
+ require .NotNil (t , setResp .SyncToken )
227
+
228
+ // after changing the setting, update the sync token so we don't get cached, stale data
229
+ client .UpdateSyncToken (* setResp .SyncToken )
200
230
201
231
addResp2 , err18 := client .AddSetting (context .TODO (), key , & value , & AddSettingOptions {Label : & label , ContentType : & contentType })
202
232
require .NoError (t , err18 )
0 commit comments