#
# Copyright (C) 2016 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Test 1: KSK goes inactive before successor is active
ksk1=`$KEYGEN -K $dir -3fk example.com`
zsk1=`$KEYGEN -K $dir -3 example.com`
# Test 2: ZSK goes inactive before successor is active
zsk1=`$KEYGEN -K $dir -3 example.com`
ksk1=`$KEYGEN -K $dir -3fk example.com`
# Test 3: KSK is unpublished before its successor is published
ksk1=`$KEYGEN -K $dir -3fk example.com`
zsk1=`$KEYGEN -K $dir -3 example.com`
# Test 4: ZSK is unpublished before its successor is published
zsk1=`$KEYGEN -K $dir -3 example.com`
ksk1=`$KEYGEN -K $dir -3fk example.com`
# Test 5: KSK deleted and successor published before KSK is deactivated
# and successor activated.
ksk1=`$KEYGEN -K $dir -3fk example.com`
zsk1=`$KEYGEN -K $dir -3 example.com`
# Test 6: ZSK deleted and successor published before ZSK is deactivated
# and successor activated.
zsk1=`$KEYGEN -K $dir -3 example.com`
ksk1=`$KEYGEN -K $dir -3fk example.com`
# Test 7: KSK rolled with insufficient delay after prepublication.
ksk1=`$KEYGEN -K $dir -3fk example.com`
zsk1=`$KEYGEN -K $dir -3 example.com`
# Test 8: ZSK rolled with insufficient delay after prepublication.
zsk1=`$KEYGEN -K $dir -3 example.com`
# allow only 1 day between publication and activation
ksk1=`$KEYGEN -K $dir -3fk example.com`
# Test 9: No special preparation needed
# Test 10: Valid key set, but rollover period has changed
ksk1=`$KEYGEN -K $dir -3fk example.com`
zsk1=`$KEYGEN -K $dir -3 example.com`
# Test 11: Many keys all simultaneously scheduled to be active in the future
# Test 12: Many keys all simultaneously scheduled to be active in the past
k1=`$KEYGEN -K $dir -q3fk example.com`
z1=`$KEYGEN -K $dir -q3 example.com`
z2=`$KEYGEN -K $dir -q3 example.com`
z3=`$KEYGEN -K $dir -q3 example.com`
z4=`$KEYGEN -K $dir -q3 example.com`
# Test 13: Multiple simultaneous keys with no configured roll period
k1=`$KEYGEN -K $dir -q3fk example.com`
k2=`$KEYGEN -K $dir -q3fk example.com`
k3=`$KEYGEN -K $dir -q3fk example.com`
z1=`$KEYGEN -K $dir -q3 example.com`
# Test 14: Keys exist but have the wrong algorithm
k1=`$KEYGEN -K $dir -qfk example.com`
z1=`$KEYGEN -K $dir -q example.com`
# Test 15: No zones specified; just search the directory for keys
k1=`$KEYGEN -K $dir -q3fk example.com`
z1=`$KEYGEN -K $dir -q3 example.com`
# Test 16: No zones specified; search the directory for keys;
# keys have the wrong algorithm for their policies
k1=`$KEYGEN -K $dir -qfk example.com`
z1=`$KEYGEN -K $dir -q example.com`
# Test 17: Keys are simultaneously active but we run with no force
# flag (this should fail)
k1=`$KEYGEN -K $dir -q3fk example.com`
z1=`$KEYGEN -K $dir -q3 example.com`
z2=`$KEYGEN -K $dir -q3 example.com`
z3=`$KEYGEN -K $dir -q3 example.com`
z4=`$KEYGEN -K $dir -q3 example.com`
# Test 18: Prepublication interval is set to a nonstandard value
ksk1=`$KEYGEN -K $dir -3fk example.com`
zsk1=`$KEYGEN -K $dir -3 example.com`