def test_set_expiry(azure): with azure_teardown(azure): # this future time gives the milliseconds since the epoch that have occured as of 01/31/2030 at noon epoch_time = datetime.datetime.utcfromtimestamp(0) final_time = datetime.datetime(2030, 1, 31, 12) time_in_milliseconds = (final_time - epoch_time).total_seconds() * 1000 # create the file azure.touch(a) # first get the existing expiry, which should be never initial_expiry = azure.info(a, invalidate_cache=True)['msExpirationTime'] azure.set_expiry(a, 'Absolute', time_in_milliseconds) cur_expiry = azure.info(a, invalidate_cache=True)['msExpirationTime'] # this is a range of +- 100ms because the service does a best effort to set it precisely, but there is # no guarantee that the expiry will be to the exact millisecond assert time_in_milliseconds - 100 <= cur_expiry <= time_in_milliseconds + 100 assert initial_expiry != cur_expiry # now set it back to never expire and validate it is the same azure.set_expiry(a, 'NeverExpire') cur_expiry = azure.info(a)['msExpirationTime'] assert initial_expiry == cur_expiry # now validate the fail cases # bad enum with pytest.raises(ValueError): azure.set_expiry(a, 'BadEnumValue') # missing time with pytest.raises(ValueError): azure.set_expiry(a, 'Absolute')
def test_set_expiry(azure): with azure_teardown(azure): azure.touch(a) # first get the existing expiry, which should be never initial_expiry = azure.info(a)['msExpirationTime'] # this future time gives the milliseconds since the epoch that have occured as of 01/31/2030 at noon epoch_time = datetime.datetime.utcfromtimestamp(0) final_time = datetime.datetime(2030, 1, 31, 12) time_in_milliseconds = (final_time - epoch_time).total_seconds() * 1000 azure.set_expiry(a, 'Absolute', time_in_milliseconds) cur_expiry = azure.info(a)['msExpirationTime'] assert time_in_milliseconds == cur_expiry assert initial_expiry != cur_expiry # now set it back to never expire and validate it is the same azure.set_expiry(a, 'NeverExpire') cur_expiry = azure.info(a)['msExpirationTime'] assert initial_expiry == cur_expiry # now validate the fail cases # bad enum with pytest.raises(ValueError): azure.set_expiry(a, 'BadEnumValue') # missing time with pytest.raises(ValueError): azure.set_expiry(a, 'Absolute')