check_table_column ddns_ttl dhcp6_subnet
check_table_column ddns_ttl_min dhcp6_subnet
check_table_column ddns_ttl_max dhcp6_subnet
+
+ # check registered were added tp lease_state
+ qry="SELECT name FROM lease_state WHERE state = 4"
+ run_command \
+ mysql_execute "${qry}"
+ assert_eq 0 "${EXIT_CODE}" "${qry}: expected %d, returned %d"
+ assert_str_eq 'registered' "${OUTPUT}" "${qry}: expected output %s, returned %s"
}
mysql_upgrade_test() {
check_table_column ddns_ttl_percent dhcp6_subnet
check_table_column ddns_ttl dhcp6_subnet
check_table_column ddns_ttl_min dhcp6_subnet
- check_table_column ddns_ttl_max dhcp6_subnet
+ check_table_column ddns_ttl_max dhcp6_subnet
+
+ # check registered were added tp lease_state
+ query="SELECT name FROM lease_state WHERE state = 4"
+ run_command \
+ pgsql_execute "${query}"
+ assert_eq 0 "${EXIT_CODE}" "${query}: expected %d, returned %d"
+ assert_str_eq 'registered' "${OUTPUT}" "${query}: expected output %s, returned %s"
}
pgsql_upgrade_test() {
const uint32_t Lease::STATE_DECLINED = 1;
const uint32_t Lease::STATE_EXPIRED_RECLAIMED = 2;
const uint32_t Lease::STATE_RELEASED = 3;
+const uint32_t Lease::STATE_REGISTERED = 4;
std::string
Lease::lifetimeToText(uint32_t lifetime) {
return ("expired-reclaimed");
case STATE_RELEASED:
return ("released");
+ case STATE_REGISTERED:
+ return ("registered");
default:
// The default case will be handled further on
;
" or it is not an integer");
}
- if ((state->intValue() < 0) || (state->intValue() > Lease::STATE_RELEASED)) {
+ if ((state->intValue() < 0) || (state->intValue() > Lease::STATE_REGISTERED)) {
isc_throw(BadValue, "state " << state->intValue()
<< " must be in range [0.."
- << Lease::STATE_RELEASED << "]");
+ << Lease::STATE_REGISTERED << "]");
}
lease->state_ = state->intValue();
/// @brief Released lease held in the database for lease affinity.
static const uint32_t STATE_RELEASED;
+ /// @brief Registered self-generated lease.
+ static const uint32_t STATE_REGISTERED;
+
/// @brief Returns name(s) of the basic lease state(s).
///
/// @param state A numeric value holding a state information.
EXPECT_EQ("declined", Lease4::statesToText(Lease::STATE_DECLINED));
EXPECT_EQ("expired-reclaimed", Lease4::statesToText(Lease::STATE_EXPIRED_RECLAIMED));
EXPECT_EQ("released", Lease4::statesToText(Lease::STATE_RELEASED));
- EXPECT_EQ("unknown (4)", Lease4::statesToText(4));
+ EXPECT_EQ("registered", Lease4::statesToText(Lease::STATE_REGISTERED));
+ EXPECT_EQ("unknown (5)", Lease4::statesToText(5));
}
/// @brief Creates an instance of the lease with certain FQDN data.
EXPECT_EQ(400, lease->preferred_lft_);
}
- // Verify that a released Lease6 can be created from JSON.
-TEST(Lease6Test, fromElementReleased) {
+ // Verify that a registered Lease6 can be created from JSON.
+TEST(Lease6Test, fromElementRegistered) {
// Same as fromElementNA test at the exception of the state.
std::string json = "{"
"\"cltt\": 12345678,"
"\"iaid\": 123456,"
"\"ip-address\": \"2001:db8::1\","
"\"preferred-lft\": 400,"
- "\"state\": 3,"
+ "\"state\": 4,"
"\"subnet-id\": 5678,"
"\"pool-id\": 5,"
"\"type\": \"IA_NA\","
ASSERT_TRUE(lease);
- EXPECT_EQ(Lease::STATE_RELEASED, lease->state_);
+ EXPECT_EQ(Lease::STATE_REGISTERED, lease->state_);
}
// Test that specifying invalid values for a lease or not specifying
EXPECT_EQ("declined", Lease6::statesToText(Lease::STATE_DECLINED));
EXPECT_EQ("expired-reclaimed", Lease6::statesToText(Lease::STATE_EXPIRED_RECLAIMED));
EXPECT_EQ("released", Lease6::statesToText(Lease::STATE_RELEASED));
- EXPECT_EQ("unknown (4)", Lease6::statesToText(4));
+ EXPECT_EQ("registered", Lease6::statesToText(Lease::STATE_REGISTERED));
+ EXPECT_EQ("unknown (5)", Lease6::statesToText(5));
}
} // end of anonymous namespace
ADD COLUMN ddns_ttl_min INT(10) DEFAULT NULL,
ADD COLUMN ddns_ttl_max INT(10) DEFAULT NULL;
+-- New lease state for address registration
+INSERT INTO lease_state VALUES (4, 'registered');
+
-- Update the schema version number.
UPDATE schema_version
SET version = '28', minor = '0';
ADD COLUMN ddns_ttl_min INT(10) DEFAULT NULL,
ADD COLUMN ddns_ttl_max INT(10) DEFAULT NULL;
+-- New lease state for address registration
+INSERT INTO lease_state VALUES (4, 'registered');
+
-- Update the schema version number.
UPDATE schema_version
SET version = '28', minor = '0';
ADD COLUMN ddns_ttl_min BIGINT DEFAULT NULL,
ADD COLUMN ddns_ttl_max BIGINT DEFAULT NULL;
+-- New lease state for address registration
+INSERT INTO lease_state VALUES (4, 'registered');
+
-- Update the schema version number.
UPDATE schema_version
SET version = '28', minor = '0';
ADD COLUMN ddns_ttl_min BIGINT DEFAULT NULL,
ADD COLUMN ddns_ttl_max BIGINT DEFAULT NULL;
+-- New lease state for address registration
+INSERT INTO lease_state VALUES (4, 'registered');
+
-- Update the schema version number.
UPDATE schema_version
SET version = '28', minor = '0';