@@ -243,20 +243,50 @@ def testRemoveFails(self, initval, newval):
243
243
with pytest .raises (NonZeroReturnCode ):
244
244
self .invoke ("remove A %s" % newval )
245
245
246
- def testAppendRemove (self , capsys ):
247
- self .invoke ("append A 1" )
246
+ @pytest .mark .parametrize ('report' , ['--report' , '' ])
247
+ def testAppendRemove (self , report , capsys ):
248
+ self .invoke ("append %s A 1" % report )
249
+ self .assertReportStdout (report , capsys , 'Appended A:1' )
248
250
self .invoke ("get A" )
249
251
self .assertStdoutStderr (capsys , out = '[1]' )
250
- self .invoke ("append A \" y\" " )
252
+ self .invoke ("append %s A \" y\" " % report )
253
+ self .assertReportStdout (report , capsys , 'Appended A:"y"' )
251
254
self .invoke ("get A" )
252
255
self .assertStdoutStderr (capsys , out = '[1, "y"]' )
253
- self .invoke ("remove A \" y\" " )
256
+ self .invoke ("remove %s A \" y\" " % report )
257
+ self .assertReportStdout (report , capsys , 'Removed A:"y"' )
254
258
self .invoke ("get A" )
255
259
self .assertStdoutStderr (capsys , out = '[1]' )
256
- self .invoke ("remove A 1" )
260
+ self .invoke ("remove %s A 1" % report )
261
+ self .assertReportStdout (report , capsys , 'Removed A:1' )
257
262
self .invoke ("get A" )
258
263
self .assertStdoutStderr (capsys , out = '[]' )
259
264
265
+ def assertReportStdout (self , report , capsys , out ):
266
+ if report and out :
267
+ self .assertStdoutStderr (capsys , out = 'Changed: %s' % out )
268
+ else :
269
+ self .assertStdoutStderr (capsys , out = '' )
270
+
271
+ @pytest .mark .parametrize ('report' , ['--report' , '' ])
272
+ def testAppendSet (self , report , capsys ):
273
+ self .invoke ("append %s --set A 1" % report )
274
+ self .assertReportStdout (report , capsys , 'Appended A:1' )
275
+ self .invoke ("get A" )
276
+ self .assertStdoutStderr (capsys , out = '[1]' )
277
+ self .invoke ("append %s --set A 2" % report )
278
+ self .assertReportStdout (report , capsys , 'Appended A:2' )
279
+ self .invoke ("get A" )
280
+ self .assertStdoutStderr (capsys , out = '[1, 2]' )
281
+ self .invoke ("append %s --set A 1" % report )
282
+ self .assertReportStdout (report , capsys , '' )
283
+ self .invoke ("get A" )
284
+ self .assertStdoutStderr (capsys , out = '[1, 2]' )
285
+ self .invoke ("append %s A 1" % report )
286
+ self .assertReportStdout (report , capsys , 'Appended A:1' )
287
+ self .invoke ("get A" )
288
+ self .assertStdoutStderr (capsys , out = '[1, 2, 1]' )
289
+
260
290
def testRemoveIdenticalValues (self , capsys ):
261
291
self .invoke ("set A [1,1]" )
262
292
self .invoke ("remove A 1" )
@@ -273,9 +303,15 @@ def testAppendWithDefault(self, monkeypatch, capsys):
273
303
"omero.web.test" : ["TEST" , "[1,2,3]" , json .loads ],
274
304
"omero.web.notalist" : ["NOTALIST" , "abc" , str ],
275
305
})
306
+
276
307
self .invoke ("append omero.web.test 4" )
277
308
self .invoke ("get omero.web.test" )
278
309
self .assertStdoutStderr (capsys , out = '[1, 2, 3, 4]' )
310
+ self .invoke ("append --set omero.web.test 2" )
311
+ self .assertStdoutStderr (capsys , out = '' )
312
+ self .invoke ("get omero.web.test" )
313
+ self .assertStdoutStderr (capsys , out = '[1, 2, 3, 4]' )
314
+
279
315
self .invoke ("append omero.web.unknown 1" )
280
316
self .invoke ("get omero.web.unknown" )
281
317
self .assertStdoutStderr (capsys , out = '[1]' )
0 commit comments