From 7e96203020ea4cd873e0a585884b156896f49265 Mon Sep 17 00:00:00 2001 From: Jon Beilke Date: Fri, 5 Oct 2018 16:21:16 -0500 Subject: [PATCH] add freezegun and test DeletionDate for chedule_key_deletion --- moto/kms/models.py | 1 + tests/test_kms/test_kms.py | 26 +++++++++++++++----------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/moto/kms/models.py b/moto/kms/models.py index 4ac6ee845..113bd1733 100644 --- a/moto/kms/models.py +++ b/moto/kms/models.py @@ -4,6 +4,7 @@ import boto.kms from moto.core import BaseBackend, BaseModel from .utils import generate_key_id from collections import defaultdict +from datetime import datetime, timedelta class Key(BaseModel): diff --git a/tests/test_kms/test_kms.py b/tests/test_kms/test_kms.py index 9779f02a6..287ef9158 100644 --- a/tests/test_kms/test_kms.py +++ b/tests/test_kms/test_kms.py @@ -8,6 +8,8 @@ from boto.kms.exceptions import AlreadyExistsException, NotFoundException import sure # noqa from moto import mock_kms, mock_kms_deprecated from nose.tools import assert_raises +from freezegun import freeze_time +from datetime import datetime, timedelta @mock_kms_deprecated @@ -652,11 +654,12 @@ def test_enable_key(): def test_schedule_key_deletion(): client = boto3.client('kms', region_name='us-east-1') key = client.create_key(description='schedule-key-deletion') - response = client.schedule_key_deletion( - KeyId=key['KeyMetadata']['KeyId'] - ) - assert response['KeyId'] == 'schedule-key-deletion' - assert response['DeletionDate'] == datetime.now() + timedelta(days=30) + with freeze_time("2015-01-01 12:00:00"): + response = client.schedule_key_deletion( + KeyId=key['KeyMetadata']['KeyId'] + ) + assert response['KeyId'] == 'schedule-key-deletion' + assert response['DeletionDate'] == datetime.now() + timedelta(days=30) result = client.describe_key(KeyId='schedule-key-deletion') assert result["KeyMetadata"]["Enabled"] == False @@ -668,12 +671,13 @@ def test_schedule_key_deletion(): def test_schedule_key_deletion_custom(): client = boto3.client('kms', region_name='us-east-1') key = client.create_key(description='schedule-key-deletion') - response = client.schedule_key_deletion( - KeyId=key['KeyMetadata']['KeyId'], - PendingWindowInDays=7 - ) - assert response['KeyId'] == 'schedule-key-deletion' - assert response['DeletionDate'] == datetime.now() + timedelta(days=7) + with freeze_time("2015-01-01 12:00:00"): + response = client.schedule_key_deletion( + KeyId=key['KeyMetadata']['KeyId'], + PendingWindowInDays=7 + ) + assert response['KeyId'] == 'schedule-key-deletion' + assert response['DeletionDate'] == datetime.now() + timedelta(days=7) result = client.describe_key(KeyId='schedule-key-deletion') assert result["KeyMetadata"]["Enabled"] == False